Как вы блокируете учетную запись пользователя в Linux? Еще важнее, как разблокировать пользователя в Linux? В этой статье показано несколько способов блокировки и разблокировки пользователей в Linux.
Может быть несколько причин, по которым вы хотите отключить пользователя в вашей многопользовательской среде Linux. Возможно, сотрудник покинул организацию и вместо того, чтобы полностью удалить пользователя, заблокирует учетную запись для архивных целей.
В этой статье мы покажем вам три способа блокировки пользователя в командной строке Linux. Мы также расскажем, как разблокировать пользователя.
Команда passwd в Linux работает с паролями учетной записи пользователя. Вы также можете использовать эту команду для блокировки учетной записи пользователя.
Команда в основном работает с файлом /etc/passwd. Вы можете вручную изменить этот файл, но мы не советуем этого делать.
Чтобы заблокировать пользователя с помощью команды passwd, вы можете использовать опцию -l или –lock следующим образом:
passwd -l user_name
Проверьте статус пользователя с помощью команды passwd
Вы можете узнать, заблокирован или разблокирован пользователь, используя опцию -S или –status команды passwd.
passwd -S user_name
Посмотрите на второе поле в выводе. Вот что это значит:
— P или PS: пароль установлен (пользователь разблокирован)
— L или LK: пользователь заблокирован
— N или NP: пароль не требуется пользователю
Вот пример вывода команды passwd:
standard P 10/14/2019 0 99999 7 -1
Чтобы разблокировать пользователя с помощью команды passwd, вы можете использовать опцию -u или –unlock:
passwd -u user_name
В Ubuntu вы увидите такой вывод как для блокировки, так и для разблокировки пользователя:
passwd: password expiry information changed
Существует серьезная проблема с блокировкой пользователей таким способом. Поскольку он работает только с файлом /etc/passwd, заблокированный пользователь все равно сможет войти через ключи SSH (если установлен вход через ключ SSH). Мы покажем вам, как с этим бороться в следующем разделе.
Вы также можете использовать команду usermod. Команда в основном используется для изменения учетных записей пользователей в Linux. Вы также можете изменить состояние пользователя, заблокировав или разблокировав его с помощью usermod.
Чтобы заблокировать пользователя, вы можете использовать опцию -L следующим образом:
usermod -L user_name
Чтобы разблокировать пользователя, вы можете использовать опцию -U:
usermod -U user_name
Как проверить, заблокирован ли пользователь или нет? Команда usermod также работает с файлом /etc/passwd, поэтому вы можете использовать команду passwd -S user_name для проверки статуса пользователя.
Но usermod также работает с файлом /etc/passwd, так что заблокированный пользователь все еще может войти в систему через ключи SSH, верно? Верно. Но есть способы преодоления этой проблемы.
Например, вы можете изменить оболочку пользователя на nologin, и это не позволит пользователю войти в оболочку.
Другой метод заключается в блокировке пользователя и предоставлении даты истечения в прошлом. Что он делает, так это то, что он отключает учетную запись в прошлую дату, а затем блокирует ее.
Убедитесь, что прошедшая дата находится между 1970-01-02 и текущей датой.
usermod -L --expiredate 1970-01-02 user_name
Вы можете отменить это с помощью этой команды:
usermod -U --expiredate '' user_name
Существует аналогичный способ блокировки пользователя в Linux с помощью команды chage. Давайте посмотрим на это в следующем разделе.
Команда chage используется для изменения информации об истечении срока действия пароля пользователя. Его можно использовать для автоматической блокировки неактивного пользователя после определенного количества дней бездействия.
По сути, то, что вы сделали с помощью команды usermod в предыдущем разделе, может быть достигнуто с помощью команды chage:
chage -E 1 username
По сути, вы установили дату истечения срока действия 1970-01-02. Вы можете увидеть детали, как это:
destroyer@andreyex:~$ sudo chage -l standard Last password change : Nov 07, 2019 Password expires : never Password inactive : never Account expires : Jan 02, 1970 Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7
Вы можете удалить дату истечения срока действия и, таким образом, разблокировать пользователя следующим образом:
chage -E -1 username
В конце…
Как всегда, есть разные способы выполнить задачу в командной строке Linux. Мы показали здесь три способа блокировки и разблокировки пользователей в Linux. Вы знаете лучший способ или у вас есть рекомендации по блокировке пользователей? Поделитесь в разделе комментариев.