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