Я новичок в системном администрировании, и у меня есть запрос, связанный с разрешениями. У меня есть группа под названием administration
. Внутри administration
группы, у меня есть пользователи user1
, user2
, user3
, superuser
. Все пользователи в administration
группе. Теперь мне нужно дать разрешения пользователю, superuser
чтобы он мог просматривать /home
каталог других пользователей. Тем не менее, я не хочу user1
, user2
, user3
чтобы увидеть дом любого другого пользователя , кроме самой себя. (То есть user1
должен видеть только user1
дома и т. Д.).
Я создал пользователей и группы и назначил всех пользователей в группу. Как мне указать разрешения на данный superuser
момент?
Другими словами, я думаю о двух группах (скажем, NormalUsers
и Superuser
). NormalUsers
Группа будет иметь пользователь user1
, user2
и user3
. В Superuser
группе будет только пользователь Superuser
. Теперь мне нужно Superuser
иметь полный доступ к файлам пользователей в группе NormalUsers
. Возможно ли это в Linux?
источник
Ответы:
Если пользователи сотрудничают, вы можете использовать списки контроля доступа (ACL). Установите ACL в домашний каталог
user1
(и друзей), который предоставляет доступ для чтенияsuperuser
. Установите также ACL по умолчанию для вновь создаваемых файлов, а также ACL для существующих файлов.user1
может изменить ACL на своих файлах, если он пожелает.Если вы хотите всегда предоставлять
superuser
доступ на чтение кuser1
файлам, вы можете создать другое представление домашних каталогов пользователей с другими разрешениями с помощью bindfs .Файлы, доступные через ~ superuser / spyglass / user1, доступны для чтения всему миру. Кроме разрешений,
~superuser/spyglass/user1
это представлениеuser1
домашнего каталога. Посколькуsuperuser
это единственный пользователь, который может получить доступ~superuser/spyglass
, толькоsuperuser
может извлечь выгоду из этого.источник
setfacl -R -m user:superuser:rx ~user1
.Вы можете использовать ACL для предоставления доступа к определенному каталогу произвольной группе.
Например, если вы запустились
setfacl -m g:dba:rwx /home/foo
, у членов группы dba будут права на rwx, независимо от того, какой группе принадлежит каталог.Возможно, вы также захотите установить ACL по умолчанию (ACL для вновь создаваемых объектов в каталоге), чтобы также включить это разрешение.
источник
К сожалению, на самом деле нет никакого способа сделать это напрямую в vanilla Linux.
Возможно, вы сможете создать новую группу в sudoers для частично-администраторов с белым списком допустимых команд, которые вы хотите разрешить им запускать.
Однако для достижения именно того, о чем вы просите, вам нужно использовать Apparmor или SELinux, чтобы добиться того, чего вы хотите. К сожалению, ни один из этих инструментов не прост в настройке и использовании, и примеры находятся далеко за пределами быстрого ответа здесь.
источник