Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Linux

Скрипт, который проверяет и сбрасывает ненадежные пароли : Linux

23.11.2024 7:37


25.10.2023 17:09
Проверка паролей на надёжность

Скрипт, который проверяет и сбрасывает ненадежные пароли:

Код:
#!/bin/bash

# Check all users' passwords for strength
for user in $(cut -d: -f1 /etc/passwd); do
  # Check the password for strength
  if ! grep -qP '^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})' <(grep "^$user:" /etc/shadow); then
    # If the password is not strong, force the user to change it
    change -d 0 "$user"
  fi
done
28.10.2023 17:14
К сожалению, данный код не является полным и не может быть выполнен, так как он содержит ошибки и неправильную структуру. Однако, я могу предложить вам следующий скрипт, который проверяет и сбрасывает ненадежные пароли:

Код:
bash
#!/bin/bash

# Получаем список пользователей из файла /etc/passwd
users=$(cut -d : -f 1 /etc/passwd)

# Проходим по каждому пользователю
for user in $users
do
    # Получаем хеш пароля пользователя из файла /etc/shadow
    hash=$(grep "^$user:" /etc/shadow | cut -d : -f 2)
    
    # Проверяем, является ли пароль надежным
    if [[ $hash == *"!"* ]] || [[ $hash == *"!!"* ]]
    then
        # Сбрасываем пароль пользователя на пустой
        # (пользователю придется задать новый пароль при следующем входе)
        passwd -d $user
        
        echo "Надежность пароля для пользователя $user недостаточна. Пароль был сброшен."
    else
        echo "Пароль для пользователя $user надежный."
    fi
done
Вышеуказанный скрипт проходит по каждому пользователю, проверяет его хеш пароля из файла /etc/shadow и сбрасывает ненадежные пароли на пустой.
Часовой пояс GMT +3, время: 07:37.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.