Надайте конкретному користувачеві дозвіл на запис у папку, використовуючи позначення + w


152

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

chmod u+w myfolder

Чи можу я тут вказати конкретного користувача? Ось такі:

chmod username u+w myfolder

Я не думаю, що це можливо. Чому ви просто не додасте користувача до групи?
Еміль

Відповіді:


157

Якщо ви хочете змінити користувача, що володіє цим файлом або каталогом (папкою), вам доведеться скористатися командою chown. Наприклад, якщо ви запускаєте

sudo chown username: myfolder

користувач, що володіє моєю папкою, буде ім'ям користувача. Тоді ви можете виконати

sudo chmod u+w 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(якщо ви опустите таку двокрапку, група володіння не зміниться).
Чаро

191

Ви можете використовувати setfacl:

setfacl -m u:username:rwx myfolder

Це встановлює дозволи для конкретних користувачів, не змінюючи право власності на каталог.

Перегляньте довідкову сторінку, щоб отримати детальнішу інформацію та приклади.


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

7
лише примітка: setfacl = встановити файл ACL, ACL = Список контролю доступу, отже, короткий "setFacl" - простіший спосіб запам'ятати, я думаю.
Явар Муртаза

12
Якщо ви хочете застосувати його рекурсивно до всіх підкаталогів: додайте прапор -R так:setfacl -R -m u:username:rwx myfolder
Хосе А

Найпростіший спосіб надати дозвіл новому користувачеві
Rajesh Mbm

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.