Создание другого пользователя для определенного домена

Создание другого пользователя для определенного домена

Обычно я вхожу в систему как пользователь root, но знаю, что это плохая практика.

Поэтому я создал еще одного пользователя, назовем его user1. За исключением того, что теперь, когда я вхожу в систему как этот пользователь, я попадаю в пустой каталог /home, и это довольно бесполезно.

Проблема в том, что я хочу user1иметь доступ к директории /home/ другого пользователя, фактически клонируя разрешения других пользователей. Как мне это сделать?

решение1

Вы можете сделать это, используя одинаковый идентификатор пользователя (UID) для обоих пользователей, но это действительно плохая практика и может иметь непредвиденные последствия. Смотритеэтотдля всестороннего обсуждения этого вопроса.

Лучшим способом будет либо объединить этих пользователей в одну группу и установить групповые разрешения R или RW для их домашних пользователей, либо, что еще лучше, использовать расширенные атрибуты (man setfattr), либо разрешить пользователю выполнять sudo su - <anotheruser>команду /etc/sudoersfile, либо разрешить пользователю выполнять команду 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

Связанный контент