Назад | Перейти на главную страницу

Разрешение на запись в конкретный файл без смены владельца

Насколько я понимаю, чтобы предоставить пользователю разрешение на запись, я могу либо изменить владельца файла на этого пользователя и дать ему «разрешение на запись для пользователя» (чего я не хочу делать), либо оставить того же владельца, но добавьте этого пользователя в группу файла и дайте группе разрешение на запись. Но последний предоставит этому пользователю разрешение на все другие файлы, связанные с этой группой (какими бы ни были эти разрешения).

Скажем, если файл принадлежит пользователю user1 и группе user1, большинство файлов user1 также имеют группу user1. Если я добавлю пользователя user2 в группу user1, пользователь user2 получит дополнительные разрешения. Единственный способ, который я могу придумать, - это создать группу для этого конкретного файла, изменить группу с помощью chown и затем добавить user2 в эту группу. Это верно? Мне кажется, что это создает большую сложность, если мне приходится делать это для каждого файла. Я исхожу из фона Windows, и там вы просто щелкаете правой кнопкой мыши файл и добавляете пользователя к разрешению файла. Таким образом, нет необходимости создавать 20 групп для 20 разных файлов, затем добавлять пользователей во все 20 групп и т. Д.

Кто-нибудь может меня просветить?

Спасибо.

Да, это основной способ предоставления разрешений в unix.

Идея состоит в том, что обычно у вас не будет 20 групп для 20 разных файлов и добавить пользователей во все 20 групп. Вместо этого, если у вас есть несколько пользователей, которым нужен доступ к нескольким файлам, вы должны добавить один группа, содержащая этих пользователей, и все 20 файлов принадлежат этой группе.

Преимущество использования групп вместо добавления отдельных пользователей заключается в организации, где люди будут получать или терять привилегии при смене работы. Затем, вместо того, чтобы добавлять или удалять их из большого количества файлов, вы просто добавляете или удаляете их из группы.

Однако для случаев, когда права обычного пользователя / группы / других пользователей недостаточно гибки для ваших нужд, есть альтернатива, называемая списком контроля доступа или ACL. ACL будут предоставлять или отзывать разрешения для пользователей или групп в дополнение к разрешениям пользователей / групп в старом стиле.

Чтобы добавить пользователя в ACL для файла, используйте setfacl. Пример:

setfacl -m u:lisa:r /path/to/file

предоставит пользователю "lisa" доступ для чтения к файлу.

Больше информации на страницах руководства для setfacl и getfacl.