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

Одной из основных обязанностей администрирования Linux является управление пользователями. С помощью командной строки создание пользователей может быть выполнено удаленно или программно. После того как вы создали пользователя, вы можете добавить его в группы или предоставить ему повышенные привилегии. Кроме того, вы сможете вести аудит того, что было сделано на вашем сервере и любых потенциальных проблем.

Если вы разрабатывали программное обеспечение или программировали для веба, вы могли слышать о политике, которая гласит: никогда не доверяйте пользователям. Эта же установка применима и в других областях использования компьютеров в отношении участия пользователей. Доступ следует предоставлять только тем, кто в нем нуждается, и только тогда, когда это необходимо. Щедрая делегация привилегий может позволить неустановленным и несанкционированным лицам доступ к данным и важной информации других пользователей.

Просмотр существующих пользователей

Один из самых быстрых способов просмотреть пользователей — использовать команды cat (конкатенировать) или more (пейджер) для просмотра списка пользователей в системе. Файл, который вам нужно посмотреть, это файл “/etc/passwd”. В этом файле хранятся все учетные записи пользователей и информация для входа.

sudocat/etc/passwd

Использование команды useradd

useradd — это низкоуровневый бинарный файл, доступный на большинстве дистрибутивов. Эта команда обычно используется реже из-за ее меньшей удобности и интуитивности по сравнению с командой adduser. Тем не менее, между ними очень немного различий, и можно использовать любую.

Чтобы узнать больше о useradd, запустите команду man или добавьте --help для быстрого обзора.

man useradd
useradd --help

linux-useradd-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, такие как оболочка и домашняя директория.

linux-useradd-conf

Запустите команду adduser аналогично следующей:

sudo adduser testuser

linux-adduser

Это приведет к запросу настроек по умолчанию и запроса пароля.

Также читайте: Как управлять паролем пользователя через терминал в Linux

Пароли и безопасность

Добавление пароля для пользователя потребует выполнения команды passwd.

sudopasswd testuser

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

linux-pam-auth-man

Обновление информации о пользователе

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

linux-usermod-man

Например, чтобы изменить идентификатор пользователя для учетной записи 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.

linux-userdel-man

Обратите внимание, что userdel не удалит пользователя, если есть процессы, использующие учетную запись этого пользователя.

sudo userdel testuser4

Просмотр журналов пользователей

В зависимости от вашего дистрибутива, вам нужно будет проверить журнал auth или безопасный журнал, расположенный в “/var/log”, чтобы просмотреть входы пользователей. Этот журнал предоставит вам информацию о входах в систему сразу после их появления. Это критический элемент для мониторинга событий в случае нарушения безопасности, а также для подтверждения корректной работы системы.

sudotail/var/log/auth.log

Управление пользователями является важной частью управления серверами Linux, если существует более одного пользователя, который будет использовать вашу систему. Использование командной строки позволит вам быстро администрировать пользователей, а также вести историю создания и изменений учетных записей. Возможно, одним из лучших применений будет автоматизация создания с помощью shell-скрипта, если необходимо создать несколько учетных записей одновременно.

В любом случае, обязательно регулярно проверяйте свои учетные записи и удаляйте те, которые больше не нужны. Убедитесь, что доступ предоставляется только тем, кто сейчас нуждается в нем, и часто проверяйте свои журналы.