Дайте определенному пользователю разрешение на запись в папку, используя обозначение + w


155

Я знаю, что могу назначить разрешение на запись владельцу / группе / другим, например так:

chmod u+w myfolder

Могу ли я указать конкретного пользователя здесь? Некоторым нравится это:

chmod username u+w myfolder

Я не думаю, что это возможно. Почему бы вам просто не добавить пользователя в группу?
Эмиль

Ответы:


159

Если вы хотите сменить пользователя, владеющего этим файлом или каталогом (папкой), вам придется использовать команду chown. Например, если вы запустите

sudo chown username: myfolder

пользователь, владеющий myfolder, будет именем пользователя. Тогда вы можете выполнить

sudo chmod u+w myfolder

добавить разрешение на запись для имени пользователя user.

Но если вы хотите добавить этого пользователя в группу, связанную с «myfolder», вы можете запустить

sudo usermod -a -G groupname username

а затем выполнить

sudo chmod g+w myfolder

добавить разрешение на запись в группу.


Есть способ, которым оба пользователя будут иметь доступ к папке, а группа не нужна; это было предложено в ответе на тот же вопрос здесь: superuser.com/a/235398/191720.
Луан Нико

Могу ли я сделать это без sudo?
Бекко

1
@becko: Вы можете, если вы перейдете в корневую оболочку.
Чаро

1
@Charo я имел ввиду без рута
becko

1
@AER: в первой команде, если после двоеточия следует usernameгруппа-владелец, также изменяется на username(если вы опустите такое двоеточие, группа-владелец не изменится).
Чаро

192

Вы можете использовать setfacl:

setfacl -m u:username:rwx myfolder

Это устанавливает разрешения для конкретных пользователей, не меняя владельца каталога.

Проверьте man-страницу для получения дополнительной информации и примеров.


8
Идеальный ответ! Также setfaclдоступно на CentOS ( yum -y install acl) и FreeBSD.
Вьетнам

7
просто примечание: setfacl = установить ACL для файлов, ACL = список контроля доступа, следовательно, для краткости "setFacl" - проще помнить, я думаю.
Явар Муртаза

12
Если вы хотите применить его рекурсивно ко всем подкаталогам: добавьте флаг -R следующим образом:setfacl -R -m u:username:rwx myfolder
Jose A


1
Есть ли способ предоставить пользователю rwбез изменения каких-либо существующих xразрешений, если он работает с несколькими файлами или рекурсивно?
Ци Фан

8

Нет, это невозможно. Вы можете изменить владельца файла с помощью

[sudo] chown username: foldername

или вы можете добавить пользователя в группу, которой принадлежит файл с

usermod -a -G {group-name} username

useradd -G {group-name} usernameговорит мне, что имя пользователя уже существует
Erdal G.

я пробовал это, но мой пользователь все еще не может написать в эту папку
Sonic Soul
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.