Linux

Учетные записи в LINUX

Это можно сделать с помощью следующих двух команд Linux тремя способами.

  • passwd: команда passwd используется для обновления токенов аутентификации пользователя. Эта задача достигается путем вызова API Linux-PAM и Libuser
  • usermod: команда usermod используется для изменения / обновления данных учетной записи пользователя. Она используется для добавления пользователя в определенную группу и т. д.,

Чтобы выяснить этот вопрос, мы выбираем учетную запись Daygeek.

Давайте посмотрим, как это сделать шаг за шагом.

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

Вы можете проверить, доступна ли данная учетная запись пользователя в системе или нет, с помощью команды id.

Да, мой аккаунт доступен в системе:

id daygeekuid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)

Способ 1: Как заблокировать, разблокировать и проверить состояние данной учетной записи пользователя в Linux с помощью команды passwd?

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

Используется для обновления токенов аутентификации пользователя в файле /etc/shadow.

Запустите команду passwd с ключом -l, чтобы заблокировать данную учетную запись пользователя.

passwd -l daygeekLocking password for user daygeek.passwd: Success

Вы можете проверить статус заблокированной учетной записи либо командой passwd, либо grep указанного имени пользователя из файла /etc/shadow.

Проверка статуса заблокированной учетной записи пользователя с помощью команды passwd.

passwd -S daygeekpasswd --status daygeekdaygeek LK 2019-05-30 7 90 7 -1 (Password locked.)

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

  • LK: пароль заблокирован
  • NP: нет пароля
  • PS: пароль установлен

Проверка статуса заблокированной учетной записи пользователя с помощью файла /etc/shadow.

Два восклицательных знака будут добавлены перед паролем, если учетная запись уже заблокирована.

grep daygeek /etc/shadowdaygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::

Запустите команду passwd с ключом -u, чтобы разблокировать данную учетную запись пользователя.

passwd -u daygeekUnlocking password for user daygeek.passwd: Success

Способ 2: Как заблокировать, разблокировать и проверить состояние данной учетной записи пользователя в Linux с помощью команды usermod?

Даже команда usermod также  используется администратором Linux очень часто.

Команда usermod используется для изменения / обновления данных учетной записи пользователя.

Она используется для добавления пользователя в определенную группу и т. д.,

Запустите команду usermod с ключом -L, чтобы заблокировать данную учетную запись пользователя.

usermod --lock daygeekusermod -L daygeek

Вы можете проверить статус заблокированной учетной записи либо командой passwd, либо grep указанного имени пользователя из файла /etc/shadow.

Проверка статуса заблокированной учетной записи пользователя с помощью команды passwd.

passwd -S daygeekpasswd --status daygeekdaygeek LK 2019-05-30 7 90 7 -1 (Password locked.)

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

  • LK: пароль заблокирован
  • NP: нет пароля
  • PS: пароль установлен

Проверка статуса заблокированной учетной записи пользователя с помощью файла /etc/shadow.

Два восклицательных знака будут добавлены перед паролем, если учетная запись уже заблокирована.

grep daygeek /etc/shadowdaygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::

Запустите команду usermod с ключом -U, чтобы разблокировать данную учетную запись пользователя.

usermod --unlock daygeekusermod -U daygeek

Метод 3: Как отключить, включить SSH доступ к данной учетной записи пользователя в Linux с помощью команды usermod?

Альтернативно это может быть сделано путем назначения оболочки nologin данному пользователю. Для этого выполните команду ниже.

usermod -s /sbin/nologin daygeek

Вы можете проверить данные заблокированной учетной записи пользователя, извлекая имя пользователя из файла /etc/passwd.

grep daygeek /etc/passwddaygeek:x:2240:2243::/home/daygeek:/sbin/nologin

Мы можем разрешить пользователю доступ по ssh, назначив обратно старую оболочку.

usermod -s /bin/bash daygeek

Как заблокировать, разблокировать и проверить состояние многопользовательской учетной записи в Linux с помощью скрипта?

Если вы хотите заблокировать / разблокировать более одной учетной записи, вы можете использовать скрипт.

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

Создайте список пользователей. Каждый пользователь должен быть в отдельной строке.

cat user-lists.txtu1u2u3u4u5

Используйте следующий скрипт оболочки для блокировки учетной записи нескольких пользователей в Linux.

user-lock.sh#!/bin/bashfor user in `cat user-lists.txt`dopasswd -l $userdone

Установите права на запуск для файла user-lock.sh.

chmod + user-lock.sh

Наконец, запустите скрипт, чтобы добиться этого.

sh user-lock.shLocking password for user u1.passwd: SuccessLocking password for user u2.passwd: SuccessLocking password for user u3.passwd: SuccessLocking password for user u4.passwd: SuccessLocking password for user u5.passwd: Success

Используйте следующий скрипт оболочки для проверки заблокированной учетной записи пользователя в Linux.

vi user-lock-status.sh#!/bin/bashfor user in `cat user-lists.txt`dopasswd -S $userdone

Установите исполняемое разрешение для файла user-lock-status.sh.

chmod + user-lock-status.sh

Наконец, запустите скрипт, чтобы добиться этого.

sh user-lock-status.shu1 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/bashfor user in `cat user-lists.txt`dopasswd -u $userdone

Установите права на запуск для файла user-unlock.sh.

chmod + user-unlock.sh

Наконец, запустите скрипт, чтобы добиться результата

sh user-unlock.shUnlocking password for user u1.passwd: SuccessUnlocking password for user u2.passwd: SuccessUnlocking password for user u3.passwd: SuccessUnlocking password for user u4.passwd: SuccessUnlocking password for user u5.passwd: Success

Запустите тот же скрипт оболочки user-lock-status.sh, чтобы проверить, что эти заблокированные учетные записи пользователей разблокированы в Linux.

sh user-lock-status.shu1 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.)