Как управлять пользователями в Linux
В этом руководстве мы ознакомимся с тем как создавать учетные записи пользователей, назначать привилегии sudo и удалять пользователей, а также как управлять группами пользователей.
Учетная запись пользователя должна обладать именем, уникальным в системе (в linux есть зарезервированные имена: «root», «hal» и «adm»).
Имя может состоять из букв латинского алфавита, арабских чисел и символов «_» (нижний пробел), «.» (точка).
При создании нового сервера первый вход осуществляется из-под учетной записи root, благодаря чему пользователь имеет право на выполнение любой операции. В целях безопасности работать под root не рекомендуется. Для выполнения общих задач лучше создать и использовать учетную запись пользователя с обычными правами.
Для пользователей с разными правами рекомендуется создавать дополнительные учетные записи. Каждый пользователь должен иметь собственную учетную запись.
Пользователь с обычными правами при необходимости может получить права администратора через механизм под названием sudo.
adduser username
Если вы вошли в систему как пользователь non-root, которому были предоставлены привилегии SUDO, вы можете добавить нового пользователя, введя команду:
sudo adduser username
Команда Sudo - это механизм для предоставления прав администратора, доступных только для суперпользователя root, обычным пользователям.
В обоих случаях необходимо будет ввести ответы на вопросы следующего типа:
Под каждой учетной записи пользователя создается свой каталог (home directory), в котором хранятся личные файлы и папки пользователя.
ssh root@server_ip_address
Введите команду adduser для создания новой учетной записи в системе:
adduser имя_пользователя
Установите и подтвердите пароль нового пользователя следуя инструкциям на экране:
Введите новое значение или нажмите клавишу ENTER для установки значений по умолчанию.
Используйте команду usermod для добавления пользователя в группу sudo:
usermod -aG sudo username
По умолчанию в Ubuntu члены группы SUDO имеют привилегии SUDO.
Используйте команду su чтобы перейти к новой учетной записи пользователя:
su - username
В качестве нового пользователя, убедитесь, что вы можете использовать права Sudo, введя sudo перед командой, которую вы запустить с привилегиями суперпользователя:
sudo command_to_run
Например, вы можете просмотреть содержимое каталога /root, который обычно доступен только для суперпользователя:
sudo ls -la /root
Когда вы используете Sudo в сеансе впервые, вам будет предложено ввести пароль учетной записи пользователя. Введите пароль для продолжения:
chfn -f полное_имя -о office -p рабочий_телефон -h домашний_телефон -u -v username
Для задания пароля используется команда passwd:
passwd username
В результате выполнения команды нам будет предложено ввести новый пароль и повторить его.
Если мы хотим дать пользователю возможность сменить пароль при первом входе в систему, следует ввести команду:
change -d 0 username
Чтобы посмотреть список пользователей, нужно ввести команду:
cat /etc/passwd
Вывод может выглядеть следующим образом:
account:password:UID:GID:GECOS:directory:shell
где:
account — имя пользователя
password — зашифрованный пароль пользователя
UID — идентификационный номер пользователя
GID — идентификационный номер основной группы пользователя
GECOS — необязательное поле, используемое для указания дополнительной информации о пользователе (например, полное имя пользователя)
directory — домашний каталог ($HOME) пользователя
shell — командный интерпретатор пользователя (обычно /bin/sh)
Для просмотра списка пользователей, которые находятся в данный момент времени в системе, используется команда who или w.
Результат выполнения команды who выглядит следующим образом:
Результат выполнения команды w выглядит следующим образом:
sudo userdel username
Команда userdel имеет два основных ключа -f и -r:
Так же как и пользователь, группа обладает правам доступа к тем или иным каталогам, файлам, периферии (в системе есть зарезервированные группы).
Группы объединяют пользователей для предоставления одинаковых полномочий на какие-либо действия.
Каждой группе назначается идентификационный номер (group ID), сокращённо GID, который является уникальным идентификатором группы. Принадлежность пользователя к группе устанавливается администратором.
Для просмотра всех групп системы используется команда:
cat /etc/group
Файл /etc/group определяет группы в системе.
Этот файл /etc/group для обнаружения системных групп можно просмотреть при помощи команды:
less /etc/group
Результат будет выглядеть следующим образом:
groups username
Команда id показывает более подробную информацию:
id username
Для создание новой группы введите команду:
groupadd group
Для добавления пользователя в группу:
gpasswd -a username group
Вывод пользователя из группы осуществляется командой:
gpasswd -d username group
Для того чтобы удалить группу используется команда:
groupdel group
Учетная запись пользователя должна обладать именем, уникальным в системе (в linux есть зарезервированные имена: «root», «hal» и «adm»).
Имя может состоять из букв латинского алфавита, арабских чисел и символов «_» (нижний пробел), «.» (точка).
При создании нового сервера первый вход осуществляется из-под учетной записи root, благодаря чему пользователь имеет право на выполнение любой операции. В целях безопасности работать под root не рекомендуется. Для выполнения общих задач лучше создать и использовать учетную запись пользователя с обычными правами.
Для пользователей с разными правами рекомендуется создавать дополнительные учетные записи. Каждый пользователь должен иметь собственную учетную запись.
Пользователь с обычными правами при необходимости может получить права администратора через механизм под названием sudo.
Требования
- Пользователь с root-правами
Добавление пользователя
Если вы вошли в систему как пользователь root, вы можете создать нового пользователя в любое время, введя команду:adduser username
Если вы вошли в систему как пользователь non-root, которому были предоставлены привилегии SUDO, вы можете добавить нового пользователя, введя команду:
sudo adduser username
Команда Sudo - это механизм для предоставления прав администратора, доступных только для суперпользователя root, обычным пользователям.
В обоих случаях необходимо будет ввести ответы на вопросы следующего типа:
- Назначить и подтвердить пароль для нового пользователя.
- Ввести любую дополнительную информацию о новом пользователе. Этот шаг необязателен и может быть пропущен. Если вы не хотите заполнять эти поля, то просто нажмите клавишу Enter.
- Подтвердить, что представленная информация является правильной, нажав клавишу Y, чтобы продолжить.
Под каждой учетной записи пользователя создается свой каталог (home directory), в котором хранятся личные файлы и папки пользователя.
Пример создания пользователя с правами sudo
Войдите на сервер под учетной записью root:ssh root@server_ip_address
Введите команду adduser для создания новой учетной записи в системе:
adduser имя_пользователя
Установите и подтвердите пароль нового пользователя следуя инструкциям на экране:
Enter new UNIX password: ******
Retype new UNIX password: ******
При успешном обновлении пароля система выведет сообщение: passwd: password updated successfully
Следуйте инструкциям на экране, чтобы вписать информацию о новом пользователе. Можно принять значения по умолчанию, оставив поля ввода пустыми.Введите новое значение или нажмите клавишу ENTER для установки значений по умолчанию.
Full Name []: Room Number []: Work Phone []: Home Phone []: Other []:
Далее система запросит подтверждение того, что все данные введены корректно:Is the information correct? [Y/n]
Нажмите клавишу Y для подтверждения правильности введенных данных.Используйте команду usermod для добавления пользователя в группу sudo:
usermod -aG sudo username
По умолчанию в Ubuntu члены группы SUDO имеют привилегии SUDO.
Используйте команду su чтобы перейти к новой учетной записи пользователя:
su - username
В качестве нового пользователя, убедитесь, что вы можете использовать права Sudo, введя sudo перед командой, которую вы запустить с привилегиями суперпользователя:
sudo command_to_run
Например, вы можете просмотреть содержимое каталога /root, который обычно доступен только для суперпользователя:
sudo ls -la /root
Когда вы используете Sudo в сеансе впервые, вам будет предложено ввести пароль учетной записи пользователя. Введите пароль для продолжения:
[sudo] password for username:
Если пользователь находится в соответствующей группе, и пароль введен правильно, то команда, которая запускается с sudo, должна выполняться с правами суперпользователя.Изменение настроек учетной записи пользователя
С помощью команды chfn можно внести или изменить информацию учетной записи пользователя (ФИО, рабочий телефон, рабочие координаты и т.д, username — имя пользователя):chfn -f полное_имя -о office -p рабочий_телефон -h домашний_телефон -u -v username
Для задания пароля используется команда passwd:
passwd username
В результате выполнения команды нам будет предложено ввести новый пароль и повторить его.
Если мы хотим дать пользователю возможность сменить пароль при первом входе в систему, следует ввести команду:
change -d 0 username
Просмотр учетных записей пользователей
Вся информация об учетной записи пользователя хранится в файле /etc/passwd.Чтобы посмотреть список пользователей, нужно ввести команду:
cat /etc/passwd
Вывод может выглядеть следующим образом:
testk:x:1000:1000:testkam,103,,:/home/testk:/bin/bash
Эта строка имеет следующий формат:account:password:UID:GID:GECOS:directory:shell
где:
account — имя пользователя
password — зашифрованный пароль пользователя
UID — идентификационный номер пользователя
GID — идентификационный номер основной группы пользователя
GECOS — необязательное поле, используемое для указания дополнительной информации о пользователе (например, полное имя пользователя)
directory — домашний каталог ($HOME) пользователя
shell — командный интерпретатор пользователя (обычно /bin/sh)
Для просмотра списка пользователей, которые находятся в данный момент времени в системе, используется команда who или w.
Результат выполнения команды who выглядит следующим образом:
testk pts/0 2016-11-18 11:42 (188.93.16.2)
Результат выполнения команды w выглядит следующим образом:
11:43:46 up 17 days, 23:30, 1 user, load average: 0.04, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
testk pts/0 188.93.16.2 11:42 1.00s 0.03s 0.00s w
Удаление пользователя
Для того чтобы удалить пользователя воспользуйтесь командой userdel:sudo userdel username
Команда userdel имеет два основных ключа -f и -r:
- sudo -f userdel username Принудительно удалить учетную запись пользователя, даже если он сейчас работает в системе.
- sudo -r userdel username Удалить домашний каталог пользователя.
Управление группами
Каждый пользователь принадлежит к одной или нескольким группам.Так же как и пользователь, группа обладает правам доступа к тем или иным каталогам, файлам, периферии (в системе есть зарезервированные группы).
Группы объединяют пользователей для предоставления одинаковых полномочий на какие-либо действия.
Каждой группе назначается идентификационный номер (group ID), сокращённо GID, который является уникальным идентификатором группы. Принадлежность пользователя к группе устанавливается администратором.
Для просмотра всех групп системы используется команда:
cat /etc/group
Файл /etc/group определяет группы в системе.
Этот файл /etc/group для обнаружения системных групп можно просмотреть при помощи команды:
less /etc/group
Результат будет выглядеть следующим образом:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
Чтобы посмотреть группы, в которых состоит пользователь, введите команду:groups username
Команда id показывает более подробную информацию:
id username
Для создание новой группы введите команду:
groupadd group
Для добавления пользователя в группу:
gpasswd -a username group
Вывод пользователя из группы осуществляется командой:
gpasswd -d username group
Для того чтобы удалить группу используется команда:
groupdel group
Комментариев 0