
Обычно я вхожу в систему как пользователь root, но знаю, что это плохая практика.
Поэтому я создал еще одного пользователя, назовем его user1
. За исключением того, что теперь, когда я вхожу в систему как этот пользователь, я попадаю в пустой каталог /home, и это довольно бесполезно.
Проблема в том, что я хочу user1
иметь доступ к директории /home/ другого пользователя, фактически клонируя разрешения других пользователей. Как мне это сделать?
решение1
Вы можете сделать это, используя одинаковый идентификатор пользователя (UID) для обоих пользователей, но это действительно плохая практика и может иметь непредвиденные последствия. Смотритеэтотдля всестороннего обсуждения этого вопроса.
Лучшим способом будет либо объединить этих пользователей в одну группу и установить групповые разрешения R или RW для их домашних пользователей, либо, что еще лучше, использовать расширенные атрибуты (man setfattr
), либо разрешить пользователю выполнять sudo su - <anotheruser>
команду /etc/sudoers
file, либо разрешить пользователю выполнять команду sudo для получения прав root.
Вариант той же группы
Сначала создайте специальную группу, скажем, team_a:
groupadd team_a
Затем установите эту группу для ваших пользователей (например, user1
и user2
). По умолчанию каждый пользователь создается в новой группе с тем же именем, что и у пользователя. Вы установите team_a в качестве основной группы и оставите отдельные группы в качестве вторичных групп:
for user in user1 user2; do usermod -g team_a $user; usermod -a -G $user $user; done
Затем обновите разрешения для домашней папки пользователя user2, предоставив полный доступ всем членам группы team_a
к папке и всем файлам и папкам, содержащимся в ней, рекурсивно; это позволит любому члену из team_a
получить доступ user2
к домашней папке и файлам пользователя , но вы не предоставите доступ другим пользователям (например, следующий код не предоставит доступ членам группы team_a
к user1
домашней папке вашего пользователя ):
chmod -R g+rwX ~user2
Обратите внимание, что user2
вы можете в любой момент отменить эти разрешения или создать новые файлы без предоставления разрешений на доступ группе.
Наконец, убедитесь, что другие пользователи будут создавать любые файлы с полным доступом для членов этой группы:
echo "umask 002" >> ~user2/.profile
Ваш пользователь принадлежит к группе других пользователей по умолчанию:
Возможно, проще, чем вышеизложенное, вы можете добавить своего user1
пользователя в группы по умолчанию любых других пользователей. По умолчанию в большинстве дистрибутивов Linux и систем UNIX групповые разрешения по умолчанию для новых файлов — полный доступ к группе, когда имя группы пользователя совпадает с именем пользователя, поэтому в этом случае нет необходимости в манипуляциях umask
для этих пользователей.
Настройка user1
принадлежности также к user2
группе по умолчанию:
usermod -a -G user2 user1
Предоставление доступа членам user2
группы к user2
домашней папке:
chmod g+rwX ~user2