🏳️🌈 Три способа заблокировать и разблокировать учетную запись пользователя в Linux |

🏳️🌈 Три способа заблокировать и разблокировать учетную запись пользователя в Linux

Мануал

Если политика паролей уже внедрена в вашей организации, вам не нужно искать эти опции.

Однако, если вы установили период блокировки на 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?

Команда 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.)

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий