Если политика паролей уже внедрена в вашей организации, вам не нужно искать эти опции.
Однако, если вы установили период блокировки на 24 часа, в этом случае вам может потребоваться разблокировать учетную запись пользователя вручную.
Этот учебник поможет вам вручную заблокировать и разблокировать учетную запись пользователя в Linux.
Это можно сделать с помощью следующих двух команд Linux тремя способами.
- passwd: команда passwd используется для обновления токенов аутентификации пользователя. Эта задача достигается путем вызова API Linux-PAM и Libuser
- usermod: команда usermod используется для изменения / обновления данных учетной записи пользователя. Она используется для добавления пользователя в определенную группу и т. д.,
Чтобы выяснить этот вопрос, мы выбираем учетную запись Daygeek.
Давайте посмотрим, как это сделать шаг за шагом.
Обратите внимание, вы должны использовать соответствующую учетную запись пользователя, которую вам нужно заблокировать или разблокировать вместо нашей.
Вы можете проверить, доступна ли данная учетная запись пользователя в системе или нет, с помощью команды id.
Да, мой аккаунт доступен в системе:
# id daygeek uid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)
- Способ 1: Как заблокировать, разблокировать и проверить состояние данной учетной записи пользователя в Linux с помощью команды passwd?
- Способ 2: Как заблокировать, разблокировать и проверить состояние данной учетной записи пользователя в Linux с помощью команды usermod?
- Метод 3: Как отключить, включить SSH доступ к данной учетной записи пользователя в Linux с помощью команды usermod?
- Как заблокировать, разблокировать и проверить состояние многопользовательской учетной записи в Linux с помощью скрипта?
Способ 1: Как заблокировать, разблокировать и проверить состояние данной учетной записи пользователя в Linux с помощью команды passwd?
Команда passwd является одной из часто используемых команд администратором Linux очень часто.
Используется для обновления токенов аутентификации пользователя в файле /etc/shadow.
Запустите команду passwd с ключом -l, чтобы заблокировать данную учетную запись пользователя.
# passwd -l daygeek Locking password for user daygeek. passwd: Success
Вы можете проверить статус заблокированной учетной записи либо командой passwd, либо grep указанного имени пользователя из файла /etc/shadow.
Проверка статуса заблокированной учетной записи пользователя с помощью команды passwd.
# passwd -S daygeek или # passwd --status daygeek daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
Это выведет краткую информацию о статусе пароля для данной учетной записи.
- LK: пароль заблокирован
- NP: нет пароля
- PS: пароль установлен
Проверка статуса заблокированной учетной записи пользователя с помощью файла /etc/shadow.
Два восклицательных знака будут добавлены перед паролем, если учетная запись уже заблокирована.
# grep daygeek /etc/shadow daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
Запустите команду passwd с ключом -u, чтобы разблокировать данную учетную запись пользователя.
# passwd -u daygeek Unlocking password for user daygeek. passwd: Success
Способ 2: Как заблокировать, разблокировать и проверить состояние данной учетной записи пользователя в Linux с помощью команды usermod?
Даже команда usermod также используется администратором Linux очень часто.
Команда usermod используется для изменения / обновления данных учетной записи пользователя.
Она используется для добавления пользователя в определенную группу и т. д.,
Запустите команду usermod с ключом -L, чтобы заблокировать данную учетную запись пользователя.
# usermod --lock daygeek или # usermod -L daygeek
Вы можете проверить статус заблокированной учетной записи либо командой passwd, либо grep указанного имени пользователя из файла /etc/shadow.
Проверка статуса заблокированной учетной записи пользователя с помощью команды passwd.
# passwd -S daygeek или # passwd --status daygeek daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
Это выведет краткую информацию о статусе пароля для данной учетной записи.
- LK: пароль заблокирован
- NP: нет пароля
- PS: пароль установлен
Проверка статуса заблокированной учетной записи пользователя с помощью файла /etc/shadow.
Два восклицательных знака будут добавлены перед паролем, если учетная запись уже заблокирована.
# grep daygeek /etc/shadow daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
Запустите команду usermod с ключом -U, чтобы разблокировать данную учетную запись пользователя.
# usermod --unlock daygeek или # usermod -U daygeek
Метод 3: Как отключить, включить SSH доступ к данной учетной записи пользователя в Linux с помощью команды usermod?
Альтернативно это может быть сделано путем назначения оболочки nologin данному пользователю. Для этого выполните команду ниже.
# usermod -s /sbin/nologin daygeek
Вы можете проверить данные заблокированной учетной записи пользователя, извлекая имя пользователя из файла /etc/passwd.
# grep daygeek /etc/passwd daygeek:x:2240:2243::/home/daygeek:/sbin/nologin
Мы можем разрешить пользователю доступ по ssh, назначив обратно старую оболочку.
# usermod -s /bin/bash daygeek
Как заблокировать, разблокировать и проверить состояние многопользовательской учетной записи в Linux с помощью скрипта?
Если вы хотите заблокировать / разблокировать более одной учетной записи, вы можете использовать скрипт.
Да, мы можем написать небольшой скрипт для этого. Для этого используйте следующий скрипт оболочки.
Создайте список пользователей. Каждый пользователь должен быть в отдельной строке.
$ cat user-lists.txt u1 u2 u3 u4 u5
Используйте следующий скрипт оболочки для блокировки учетной записи нескольких пользователей в Linux.
# user-lock.sh #!/bin/bash for user in `cat user-lists.txt` do passwd -l $user done
Установите права на запуск для файла user-lock.sh.
# chmod + user-lock.sh
Наконец, запустите скрипт, чтобы добиться этого.
# sh user-lock.sh Locking password for user u1. passwd: Success Locking password for user u2. passwd: Success Locking password for user u3. passwd: Success Locking password for user u4. passwd: Success Locking password for user u5. passwd: Success
Используйте следующий скрипт оболочки для проверки заблокированной учетной записи пользователя в Linux.
# vi user-lock-status.sh #!/bin/bash for user in `cat user-lists.txt` do passwd -S $user done
Установите исполняемое разрешение для файла user-lock-status.sh.
# chmod + user-lock-status.sh
Наконец, запустите скрипт, чтобы добиться этого.
# sh user-lock-status.sh u1 LK 2019-06-10 0 99999 7 -1 (Password locked.) u2 LK 2019-06-10 0 99999 7 -1 (Password locked.) u3 LK 2019-06-10 0 99999 7 -1 (Password locked.) u4 LK 2019-06-10 0 99999 7 -1 (Password locked.) u5 LK 2019-06-10 0 99999 7 -1 (Password locked.)
Используйте следующий скрипт оболочки, чтобы разблокировать учетную запись нескольких пользователей в Linux.
# user-unlock.sh #!/bin/bash for user in `cat user-lists.txt` do passwd -u $user done
Установите права на запуск для файла user-unlock.sh.
# chmod + user-unlock.sh
Наконец, запустите скрипт, чтобы добиться результата
# sh user-unlock.sh Unlocking password for user u1. passwd: Success Unlocking password for user u2. passwd: Success Unlocking password for user u3. passwd: Success Unlocking password for user u4. passwd: Success Unlocking password for user u5. passwd: Success
Запустите тот же скрипт оболочки user-lock-status.sh, чтобы проверить, что эти заблокированные учетные записи пользователей разблокированы в Linux.
# sh user-lock-status.sh u1 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.) u2 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.) u3 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.) u4 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.) u5 PS 2019-06-10 0 99999 7 -1 (Password set, SHA512 crypt.)