Как управлять пользователями из командной строки в Linux

Одной из основных обязанностей администрирования Linux является управление пользователями. С помощью командной строки создание пользователей может быть выполнено удаленно или программно. После того как вы создали пользователя, вы можете добавить его в группы или предоставить ему повышенные привилегии. Кроме того, вы сможете вести аудит того, что было сделано на вашем сервере и любых потенциальных проблем.
Если вы разрабатывали программное обеспечение или программировали для веба, вы могли слышать о политике, которая гласит: никогда не доверяйте пользователям. Эта же установка применима и в других областях использования компьютеров в отношении участия пользователей. Доступ следует предоставлять только тем, кто в нем нуждается, и только тогда, когда это необходимо. Щедрая делегация привилегий может позволить неустановленным и несанкционированным лицам доступ к данным и важной информации других пользователей.
Просмотр существующих пользователей
Один из самых быстрых способов просмотреть пользователей — использовать команды cat (конкатенировать) или more (пейджер) для просмотра списка пользователей в системе. Файл, который вам нужно посмотреть, это файл “/etc/passwd”. В этом файле хранятся все учетные записи пользователей и информация для входа.
sudocat/etc/passwdИспользование команды useradd
useradd — это низкоуровневый бинарный файл, доступный на большинстве дистрибутивов. Эта команда обычно используется реже из-за ее меньшей удобности и интуитивности по сравнению с командой adduser. Тем не менее, между ними очень немного различий, и можно использовать любую.
Чтобы узнать больше о useradd, запустите команду man или добавьте --help для быстрого обзора.
man useradduseradd --help
Чтобы добавить пользователя с помощью useradd, введите useradd и имя учетной записи, которую вы хотите создать.
sudo useradd --create-home testuserВ приведенном выше случае будет создан пользователь “testuser”. По умолчанию эта команда только создаст пользователя и ничего больше. Если вам нужна домашняя директория для этого пользователя, добавьте флаг --create-home, чтобы создать домашнюю директорию для пользователя.
Использование команды adduser
Команда adduser – это скрипт на Perl, который создаст пользователя аналогично команде useradd. Что отличает ее, так это то, что это интерактивная команда, которая предложит вам установить пароль, путь к домашней директории и т. д. Обратите внимание, что на некоторых дистрибутивах, таких как Red Hat и CentOS, adduser является символической ссылкой на useradd, а на других дистрибутивах, например Arch Linux, adduser доступна как пакет, не установленный по умолчанию.
Использование этой команды создаст группу для пользователя, основываясь на его логине по умолчанию. Другие параметры по умолчанию обычно можно найти в файле useradd по адресу “/etc/default”.
В этом файле вы можете изменить настройки по умолчанию для пользователей, созданных с помощью useradd, такие как оболочка и домашняя директория.

Запустите команду adduser аналогично следующей:
sudo adduser testuser
Это приведет к запросу настроек по умолчанию и запроса пароля.
Также читайте: Как управлять паролем пользователя через терминал в Linux
Пароли и безопасность
Добавление пароля для пользователя потребует выполнения команды passwd.
sudopasswd testuserБез привилегий суперпользователя выполнение passwd изменит только пароль вошедшего в систему пользователя. Эта команда протестирует пароль на сложность. В Ubuntu требования к паролю устанавливаются в общем файле паролей, который находится по адресу “/ec/pam.d.” Более подробную информацию о том, как обновить требования к сложности, можно найти в справочной странице для pam-auth-update.

Обновление информации о пользователе
Как только пользователь будет в системе, вы сможете просмотреть файл “/etc/passwd”, чтобы увидеть информацию о пользователе и зашифрованный пароль. Если вам нужно внести изменения в пользователя, вам нужно будет использовать команду usermod.

Например, чтобы изменить идентификатор пользователя для учетной записи testuser4, созданной выше, вам нужно будет выполнить команду:
sudo usermod -u2022 testuser2Затем вы сможете просмотреть изменения в файле “/etc/passwd”.
Будьте осторожны с изменением критической информации, такой как имя пользователя или, как в этом случае, идентификатор пользователя. Ознакомьтесь со справочной страницей для usermod, чтобы узнать, что вам нужно сделать, если эти элементы будут изменены.
Добавление пользователей в группу
Существуют случаи, когда вам нужно добавить пользователей в группу, чтобы они имели необходимые разрешения для выполнения определенных задач.
Чтобы добавить пользователя в группу:
sudo usermod -a-G groupname usernameОбратите внимание, что флаг -a необходим, чтобы «добавить» пользователя в группу. В противном случае вы рискуете удалить пользователя из группы “sudo”, если пользователь должен иметь привилегии суперпользователя.
Кроме того, вы можете использовать команду gpasswd для добавления/удаления пользователя в/из группы.
sudo gpasswd -a username groupnameЧтобы удалить пользователя из группы:
sudo gpasswd -d username groupnameУдаление пользователей
Аналогично другим командам пользователя, удаление пользователя начинается с префикса “user” и действия. В этом случае вам нужно будет использовать команду userdel.

Обратите внимание, что userdel не удалит пользователя, если есть процессы, использующие учетную запись этого пользователя.
sudo userdel testuser4Просмотр журналов пользователей
В зависимости от вашего дистрибутива, вам нужно будет проверить журнал auth или безопасный журнал, расположенный в “/var/log”, чтобы просмотреть входы пользователей. Этот журнал предоставит вам информацию о входах в систему сразу после их появления. Это критический элемент для мониторинга событий в случае нарушения безопасности, а также для подтверждения корректной работы системы.
sudotail/var/log/auth.logУправление пользователями является важной частью управления серверами Linux, если существует более одного пользователя, который будет использовать вашу систему. Использование командной строки позволит вам быстро администрировать пользователей, а также вести историю создания и изменений учетных записей. Возможно, одним из лучших применений будет автоматизация создания с помощью shell-скрипта, если необходимо создать несколько учетных записей одновременно.
В любом случае, обязательно регулярно проверяйте свои учетные записи и удаляйте те, которые больше не нужны. Убедитесь, что доступ предоставляется только тем, кто сейчас нуждается в нем, и часто проверяйте свои журналы.