Я пытаюсь настроить политику паролей пользователей на RHEL 6.6 и хочу, чтобы система попросила вновь созданных пользователей изменить первоначальный пароль при первом входе в систему.
Обратите внимание, что я попытался установить для переменной EXPIRE значение 0, а для параметра INACTIVE - значение -1 в / etc / default / useradd, но это привело к истечению срока действия новой учетной записи пользователя после создания. Вывод команды chage после создания пользователя с этими переменными:
# chage -l foo
Last password change : Feb 22, 2015
Password expires : May 23, 2015
Password inactive : never
Account expires : Feb 22, 2015
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Когда я пытаюсь войти в систему под именем пользователя foo, появляется сообщение «Срок действия вашей учетной записи истек. Пожалуйста, свяжитесь с системным администратором».
Но если я открою окно «Свойства пользователя», выберите вкладку «Информация о пароле» и установите флажок «Принудительно изменить пароль при следующем входе в систему», результатом будет то, что я ожидаю. Новому пользователю будет предложено сменить пароль. Вывод команды chage в этом случае будет:
# chage -l foo2
Last password change : password must be changed
Password expires : password must be changed
Password inactive : password must be changed
Account expires : never
Minimum number of days between password change : 1
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
Когда я вхожу в систему под пользователем foo2, система просит меня сменить пароль.
Итак, есть ли способ настроить систему для настройки параметров учетной записи пользователя при создании, как во втором случае?
Upd
cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=0
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
Даже если я прокомментирую НЕАКТИВНО или установлю положительное значение, срок действия учетной записи истек, но пароль отсутствует.
Также я настроил PAM на машине.
Upd 2
Я проверил это на машине с RHEL 6.2 и без конфигурации PAM. Эффект тот же.
источник
chage -d 0 {user-name}
.EXPIRE=0
в/etc/default/useradd
должен сделать работу. Я читал, что вы пытались. Можете ли вы добавить без комментариев строки/etc/default/useradd
? Он заблокирован, даже если вы не укажете INACTIVE = -1, а другое значение или если вы прокомментируете эту строку? Можете ли вы указать, заблокированы ли учетные записи, даже если они созданы из командной строки. И, пожалуйста, если у вас есть другой вопрос, разместите его на отдельной странице, если он будет иметь разный ответ.adduser
позволяет ввестиchage
команду/usr/local/sbin/adduser.local
. Вы также можете установить поле возраста в / etc / shadow равным 0.useradd
«утилита низкого уровня», предназначенная для использования в сочетании с другими командами.Ответы:
Поскольку вы спрашиваете о RHEL6, я посмотрел исходный код для useradd (который поставляется как часть пакета 'shadow'). В useradd.c есть функция new_spent, где она устанавливает новую запись теневого пароля. Там он решает проблему «истек срок действия пароля при создании» следующим образом:
Оооочень ... Если вы установите ноль, это делает его -1.
Авторы программы специально разработали код установки устаревания на 0, поэтому не имеет значения, если вы установите его на 0 в параметре / etc / default / useradd для EXPIRE. (Если бы я делал этот код, я бы посмотрел, установил ли пользователь пароль в команде, а затем разрешил истечь, но это был не я ...)
Кроме того, выше было предложено поместить скрипт в /usr/local/sbin/adduser.local для выполнения команды 'chage'. Это был хороший совет для системы Debian / Ubuntu, где useradd - это perl-скрипт, который действительно запускает этот файл, если он его находит, но на RHEL команда useradd - это двоичный код C.
Если бы я был вами и был полон решимости получить такое поведение на RHEL6 useradd, я бы получил SRPM для пакета shadow, закомментировал эти строки выше и выполнил rpmbuild для пакета и rockaway. Победа!
источник
Почему бы не добавить это в скрипт?
Если все, что вам нужно, это первый вход в систему, это будет работать.
-e
Немедленно истекает пароль учетной записи, поэтому при следующем входе пользователя вынужден обновить свой пароль? (см.man passwd
)источник
Автоматический режим:
Источник: GeekRide
Теперь редактировать этот файл в терминале было сложно. Поэтому я изменил права доступа к файлу на 777, используя:
и отредактировал его в grub.
(Благодаря Linux Command .)
Проверено в моей Ubuntu 12.04.5 VM.
Руководство:
Источник: nixCraft
Чистая копия-паста. Буквально. ;)
Проверено на моей Ubuntu 12.04.5 VM.
источник
chmod -R 777 /
это очень глупо!