- Как работает проверка пароля
- Упражнение 1. Принудительная смена пароля при первом входе в систему
- Упражнение 2: изменение политики паролей пользователя
- Упражнение 3: установка срока действия учетной записи пользователя на X дней
- Упражнение 4: блокировка и разблокировка учетной записи пользователя
- Упражнение 5: установка политики паролей для всех пользователей
- Примечание
Как работает проверка пароля
Когда пользователь пытается войти в систему, система ищет запись о пользователе в файле /etc/shadow, объединяет соль с незашифрованным паролем, который был введен, и шифрует все это , используя указанный алгоритм хеширования. Е
сли результат соответствует зашифрованному хешу, пользователь вводит правильный пароль.
Если результат не соответствует зашифрованному хэшу, пользователь ввел неправильный пароль и попытка входа не удастся.
- Принудительная смена пароля при первом входе в систему.
- Принудительная смена пароля каждые X дней.
sudo useradd user1
sudo passwd user1
Упражнение 1. Принудительная смена пароля при первом входе в систему
Для этого, используйте команду:
sudo chage -d 0 user1
Если вы войдете в систему как user1, вам будет предложено изменить пароль.
$ ssh user1@localhost Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts. user1@localhost's password: You are required to change your password immediately (administrator enforced) Last login: Wed Feb 12 06:48:43 2020 from ::1 WARNING: Your password has expired. You must change your password now and login again! Changing password for user user1. Current password: New password: Retype new password: passwd: all authentication tokens updated successfully. Connection to localhost closed.
Теперь вы можете войти с обновленным паролем.
ssh user1@localhost
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
user1@localhost's password:
Last login: Wed Feb 12 06:48:53 2020 from ::1
[user1@localhost ~]$ exit
logout
Connection to localhost closed.
Упражнение 2: изменение политики паролей пользователя
Давайте теперь установим политику паролей, чтобы требовать новый пароль каждые 90 дней.
sudo chage -M 90 user1
$ sudo chage -l user1 Last password change : Feb 12, 2020 Password expires : May 12, 2020 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 90 Number of days of warning before password expires : 7
Упражнение 3: установка срока действия учетной записи пользователя на X дней
Мы установим срок действия учетной записи user1 на 120 дней с текущего дня.
Получим дату и время на 120 дней вперед от текущей:
$ date -d "+120 days" +%F 2020-06-11
sudo chage -E 2020-06-11 user1
Убедитесь, что срок действия учетной записи успешно установлен:
$ sudo chage -l user1
Last password change : Feb 12, 2020
Password expires : May 12, 2020
Password inactive : never
Account expires : Jun 11, 2020
Minimum number of days between password change : 0
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Упражнение 4: блокировка и разблокировка учетной записи пользователя
Блокировка учетной записи не позволяет пользователю проходить аутентификацию по паролю в вашей системе.
Команда usermod может использоваться для блокировки учетной записи с опцией -L.
sudo usermod -L user1
Проверим:
$ su - user1
Password:
su: Authentication failure
sudo usermod -U user1
Как администратор, вы можете заблокировать и прекратить действие учетной записи с помощью одной команды usermod.
Это идеально подходит для уволенных сотрудников.
sudo usermod -L -e 2020-02-20 user1
Упражнение 5: установка политики паролей для всех пользователей
Давайте настроим политику для всех пользователей, с истечением срока действия паролей на 90 дней с текущей даты.
Нам понадобятся административные права для редактирования файла /etc/login.defs.
sudo vim /etc/login.defs
Установите значение PASS_MAX_DAYS на 90.
PASS_MAX_DAYS 90
- PASS_MAX_DAYS Максимальное количество дней, в течение которых может использоваться пароль.
- PASS_MIN_DAYS Минимальное количество дней между сменами пароля.
- PASS_MIN_LEN Минимально допустимая длина пароля.
- PASS_WARN_AGE Количество дней предупреждения до истечения срока действия пароля.
Примечание
Когда вы редактируете файл /etc/login.defs, параметры истечения срока действия учетной записи будут действовать только для новых пользователей, а не для уже существующих.