![Проверка пароля для учетной записи пользователя из скрипта оболочки](https://rvso.com/image/23926/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0%20%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8F%20%D0%B4%D0%BB%D1%8F%20%D1%83%D1%87%D0%B5%D1%82%D0%BD%D0%BE%D0%B9%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%20%D0%B8%D0%B7%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0%20%D0%BE%D0%B1%D0%BE%D0%BB%D0%BE%D1%87%D0%BA%D0%B8.png)
Приложение предназначено для сценария стандартизации нескольких серверов.
Ищем способ в скрипте оболочки проверить, соответствует ли пароль для учетной записи ОС (AIX) стандартизированному текстовому паролю.
Проблема в том, что нет root
доступа, нет c
компилятора или python
, и я не могу установить никакое дополнительное программное обеспечение, включая expect
.
Пока мне не удалось найти решение... есть идеи?
решение1
Я собираюсь рискнуть и поднять свой предыдущий комментарий до уровня Ответа. Без доступа root и без нарушения безопасности системы AIX по умолчанию (открыв файл паролей для не-root пользователей) не-root пользователи не смогут прочитать зашифрованный файл паролей, поэтому не-root пользователи не смогут сравнить любой пароль с существующим.
Лучший вариант, который я могу себе представить, — это попытаться войти с учетной записью и предполагаемым паролем, а затем проверить результаты. Если вы работаете локально в системе, вы можете использовать telnet или ssh для localhost; если вы удаленно, вы будете ограничены любыми внешними методами входа (например, ssh). Оберните процесс входа в систему с помощью perl или expect и посмотрите, сработает ли это. (Если вы не можете установить такие инструменты в самой системе AIX, то используйте или установите их с удаленной системы). Один небольшой недостаток этого подхода заключается в том, что если ваш пароль неверен, это увеличит количество неудачных попыток входа для этого пользователя на одну. ЭтовероятноЭто не приведет к блокировке учетной записи, но об этом следует знать.