Я хотел бы разрешить пользователям chmod файл, который принадлежит пользователю root или другому пользователю, который не является самим собой. Я chmod'ed файл 777, и я получаю "операция не разрешена". Я добавил пользователя в группу из файла и получил то же самое. Почему пользователь не может изменить файл, к которому у него есть права на запись?
permissions
ashleysmithgpu
источник
источник
sudo
: linux.die.net/man/8/sudo & linux.die.net/man/5/sudoersОтветы:
Для нормальных прав доступа это дизайнерское решение. Вам нужно richacls :
WRITE_ACL
и , возможноWRITE_OWNER
.источник
Разрешения Unix разработаны так, чтобы быть простыми. Вам нужно разрешение на чтение для чтения из файла, разрешение на запись для записи в файл и разрешение на выполнение для выполнения файла. Вам нужно иметь файл, чтобы изменить его метаданные¹.
Разрешение пользователю, который может читать файл, чтобы предоставить другим право на чтение, или разрешение пользователю, который может записать файл, чтобы предоставить другим разрешение на запись, не сильно изменит модель безопасности. Это связано с тем, что разрешения Unix являются дискреционными: пользователь, который может прочитать файл, может предоставить его содержимое другим пользователям, даже если эти другие пользователи не смогут прочитать файл (и аналогично для записи пользователь может действовать как прокси-сервер и пиши от имени других).
С другой стороны, разрешение пользователю предоставить разрешение, которого у него нет, полностью нарушит систему разрешений: пользователь может предоставить все разрешения самому себе.
Довольно редко нужно менять права доступа к файлу, который вам не принадлежит. Обычно вы должны организовать, чтобы файл имел необходимые разрешения, как только он будет создан. Если вам это действительно нужно, вы можете предоставить пользователю
sudo chmod
права на определенный режим и определенный файл (напримерjoe: ALL = (ALL) chmod g+r /path/to/file
).¹ За исключением времени доступа и модификации, которые являются специфическими, потому что чтение или запись в файл также устанавливает их.
источник