Ранее мы рассмотрели, какие бывают базы данных пользователей. Теперь разберем, как работать с этими базами добавлять, редактировать и удалять пользователей.
Рассмотрим следующие 3 утилиты:
Useradd
- создание пользователейUsermod
– изменение свойств пользователейUserdel
– удаление пользователей
Первое, что нам потребуется это описание команды - man useradd
.
У данной команды огромное количество ключей. В частности, популярные такие ключи:
-d
— это указание домашней директории пользователя. Без этого ключа операционная система создает одноименную папку пользователя в папке/home
, но с помощью данного ключа мы можем указать какую-нибудь другую.-g
– можно указать id группы в которую мы хотим включить пользователя. Есть аналог этого ключа-G
(помним, что регистр в Linux имеет значение) – при этом ключе мы можем использовать не id группы, а ее название.-m
создание домашней директории по умолчанию, в момент создания пользователя. При данном ключе домашняя директория создается сразу, а не при первом входе пользователя в систему, по умолчанию. Он важен т.к. при автоматизации данная папка может потребоваться.-p
– мы можем указать данный ключ и при создании пользователя сразу система потребует задать создаваемому пользователю пароль.-s
– данный ключ позволяет задать оболочку по умолчанию для этого пользователя.
Общий вид команды:
useradd [опции] [имя_пользователя].
Рассмотрим небольшой пример: sudo useradd -m -G sudo buh
Все работы с пользователями выполняются с повышенными привилегиями.
Создаем нового пользователя buh
, сразу создаем домашнюю папку и помещаем в группу sudo
, т.е в группу пользователей которая может повышать привилегии.
Убедимся, что пользователь был создан - sudo cat /etc/shadow
В конце файла мы можем увидеть, что пользователь создан. Обратим внимание, что после логина, стоит не символ звездочки или x
, а знак !
– это означает, что пароль скрыт, но может быть с помощью утилиты изменен. Утилита для изменения пароля - passwd
. Синтаксис ее достаточно простой - passwd [имя_пользователя]
. При использовании ее попросит ввести новый пароль и второй раз ввести для подтверждения. После этого операционная система его зашифрует и заменит в файле на набор букв-цифр-символов.
Еще мы командой passwd
можем поменять пароль себе. Делается это достаточно просто - passwd
и нажимаем клавишу ввода. Система понимает, что пользователь хочет сменить пароль себе и попросит ввести текущий пароль и 2 раза новый пароль.
Теперь мы можем посмотреть в какие группы входит пользователь - cat /etc/group
Как видно пользователь согласно ключу G
был добавлен в группу sudo
. Ну и, конечно, для пользователя buh
была создана одноименная группа buh
.
И посмотрим создалась ли домашняя папка пользователя с помощью команды ll /home
.
Папка создалась.
Рассмотрим следующую команду - usermod
. Синтаксис данной команды:
usermod [опции] [имя_пользователя]
У данной утилиты есть все те же ключи, что и у useradd
, но есть и свои ключи.
-L
– данный ключ позволяет заблокировать пользователя. Если мы посмотрим файл/etc/shadow
то мы увидим!
знак перед паролем. Что означает, что пользователь не может войти в систему.-U
- ключ мы можем использовать для разблокировки пользователя.
Теперь мы можем, например, заменить оболочку и подписать учетную запись.
sudo usermod -s /bin/bash -c “best buh” buh
Как мы видим, изменилась оболочка по умолчанию и добавился комментарий.
Последняя утилита userdel
исходя из названия мы понимаем, что она используется для удаления пользователей. Синтаксис:
userdel [ключ] [имя_пользователя]
Обычно эту команду используют примерно так: sudo userdel buh
, но если добавить ключик -r
то будет удалена и домашняя директория пользователя, а также будет удалена запись о пользователе во всех базах данных пользователей в операционной системе.