все Python 3Linux · macOSosфункция
os.chown
os — права и владелец
Меняет владельца (uid) и группу (gid) файла. Доступно на Unix.
Синтаксис
os.chown(...)
Передать владельца по имени нельзя — нужны числовые uid и gid; имена переводятся через pwd.getpwnam и grp.getgrnam, а shutil.chown делает это сам. Значение -1 оставляет поле без изменений. Менять владельца обычно может только root.
Примеры
import os
path = 'demo_owner.txt'
open(path, 'w').close() # → ? создаём временный файл для опытов
os.chown(path, os.getuid(), os.getgid()) # → ? только Unix: владельцем становится текущий пользователь и его основная группа
os.chown(path, -1, os.getgid()) # → ? только Unix: -1 означает «не менять», поэтому правится лишь группа
print(os.stat(path).st_uid == os.getuid()) # → ? True: st_uid показывает владельца, установленного выше (на Unix)
os.chown(path, 0, 0) # → ? только Unix: отдать файл root удастся лишь из-под суперпользователя, иначе PermissionError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности