
У меня есть пара вопросов. Вот первый.
Мы пытаемся автоматизировать создание пользователя в Solaris 8. Мы предоставляем пароль по умолчанию, а затем заставляем пользователя сменить пароль при первом входе в систему с помощью команды
passwd -f $user
но проблема в том, что нам нужно ввести пароль дважды, чтобы подтвердить его. Я попытался автоматизировать это с помощью следующей команды
echo $password | password -f $user
Ничего не происходит с этой командой. Пожалуйста, есть ли другой способ сделать то же самое?
решение1
Я не думаю, что вы сможете легко сделать то, что хотите, на такой древней системе .
Я не думаю, что это сработает, но вы можете попробовать.
echo "password\npassword" | passwd user
Вы можете попробовать использоватьожидатьУтилита. Она сделает то, что вам нужно, и есть множество примеров скриптов, как с ее помощью изменить пароль. Проблема в том, что она может не быть изначально частью Solaris 8.
Другой вариант — сгенерировать хэши паролей с помощью программы, которая вычисляеткрипта(newpass,salt) 2 , а затем измените поле пароля в соответствующем файле.
1 Ваша главная проблема здесь и с другими вашими вопросами в том, что Solaris 8 настолько древний, что даже интернет забывает о нем. Он был заменен Solaris 9 примерно в 2003 году, и Oracle включил его в расширенную поддержку в 2012 году. Фактически, если у вас нет расширенной поддержки, вы не имеете поддержки и не должны использовать его в бизнес-среде.
Если вам действительно нужен Solaris, потому что у вас старые прикладные программы, то вам следует обновиться как минимум до Solaris 10. Я предполагаю, что оборудование, на котором вы запускаете эту установку Solaris 8, — это SPARC. Хорошей новостью является то, что системы SPARC совместимы на уровне двоичного кода, поэтому вы сможете запускать двоичные файлы Solaris 8 на более новом оборудовании SPARC и поддерживаемой ОС.
2 Нет, я не знаю программы, которая могла бы сделать это на Solaris 8. Если у вас есть Perl, то
perl -e 'print crypt("YourPasswd", "salt"),"\n"'
может сработать.