Як я можу мати ляльковий пароль лише під час створення користувача?


9

Я хочу, щоб Маріонетка не управляла паролем (тобто скидала його при зміні), а встановлювала початковий пароль, коли Лялька створює користувача.

Я думав робити notifyна Execресурс , який встановлює пароль , але це спрацьовує , коли будь -то властивість , яке управляє ляльковий модифікується (наприклад, членство в групі, домашній каталог і т.д.). Я цього не хочу.

Будь-які ідеї?

Відповіді:


9

Сама лялька не підтримує "встановити пароль при створенні користувача, але не інакше".

Одним із варіантів було б встановити зовнішнє джерело аутентифікації, наприклад LDAP.

Інший би для вас notifyдо Execідеї, але зробити Execтрохи розумніші.

exec {
  "/usr/sbin/usermod -p '${password}' ${user}":
    onlyif => "/bin/egrep -q '^${user}:[*!]' /etc/shadow",
    require => User[$user];
}

Я цього не перевіряв, але перевіривши, чи не встановлено пароль в Execресурсі, ви повинні отримати результат, який шукали. Я думаю, що створити таким чином notify/ / refreshonlyречі не потрібно, але, ймовірно, не зашкодить.


1
Я бачив, як деякі машини використовують !для встановлення без пароля, і в цьому випадку egrep -q '^${user}:[*!]:' /etc/shadowпрацює краще.
leedm777

1
Для RHEL / Cent: egrep '^${username}:!!:.*:' /etc/shadow
rfelsburg

1
grep -Eq '^${user}:[*!]!?:' /etc/shadow"видається найбільш портативним і не скидає користувачів із заблокованим паролем.
CodeGnome
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.