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

Группы пользователей Linux: как создать общий каталог под домом

Я создал 3 пользователей u1, u2, u3. Теперь я хочу предоставить доступ пользователям каталога u1 / home / u1 / share u2, u3.

Я не хочу создавать новую общую группу с именем 'shared' и добавлять туда трех пользователей. Можно ли использовать саму группу u1?

Пока я пробовал

#add u2,u3 to group of u1
usermod -a -G u1 u2
usermod -a -G u1 u3

#ensure u1 has group read access
chmod 750 /home/u1

#create new shared dirs
umask 027 && mkdir /home/u1/share

Хотя

ls -ld /home/u1/share
drwxr-x---. 2 u1 u1 4096 Apr 23 10:11 /home/u1/share

показывает доступ для чтения к группе - пользователь u2 не может получить доступ к этому каталогу.

[u2@ ~]$ ls -l /home/u1/share
ls: cannot access /home/u1/share: Permission denied

Есть мысли по этому поводу? где я делаю не так?

Вам нужны ACL для решения проблемы с разрешениями. Вы должны предоставить всем соответствующим группам каталогов права на запись и установить для них списки ACL по умолчанию (в случае, если пользователи смогут создавать подкаталоги):

setfacl -d -m g:u1:rwx "$directory"

или вместо этого

setfacl -d -m g::rwx "$directory"

если вы гарантируете с помощью бита SGID, что вновь созданный подкаталог принадлежит той же группе.

Я не считаю ваше решение не создавать новую группу хорошей идеей.

То, что вы сделали, должно быть в порядке, но пользователь u2 вышли из системы и снова зашли, так как вы запустили usermod? Членство в группах выбирается только при входе в систему.

Делая id -a для u2 также может помочь подтвердить, действительно ли это u2 оболочка находится в группе u1, или не.

Как бы то ни было, хотя я не согласен с Хауке насчет списков ACL (они определенно не нужны в данном случае, потому что, как вы показали, это можно делать с группами; я считаю, что ACL практически никогда не нужны, и такая невероятная боль даже в редких случаях, когда я обычно советую людям изменить свои требования), я согласен, что это идеальный случай для новой, настраиваемой группы.