Python Glossary English

все 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Сообщить о неточности