На прошлой неделе я потратил все силы на изучение кукол. Теперь я страдаю от переполнения ментального буфера и не уверена, что когда-либо смогу приручить этого зверя. Я сталкивался со многими аннотированными примерами, но из-за их бесчисленных вариаций я не могу различить рекомендуемый (недавний) стиль кукол и условные обозначения, и специальные подходы «работает для меня». Я терпеть не могу, потому что это похоже на вещи базового уровня.
Так. Используя Puppet для управления группами и пользователями, основная группа пользователей равна их собственному имени пользователя, другие группы могут быть предназначены lan
для сетевых входов в систему, wheel
для администраторов, shell
для пользователей с оболочкой на произвольных узлах, mail
для пользователей, daemons
для различных демонов. Вход администратора будет осуществляться на всех узлах, и, что еще хуже, вход в локальную сеть также может быть входом в оболочку.
Из того, что я понимаю, можно определить пользователя несколько раз, если вы используете виртуальные определения, которые реализуются в какой-то момент. Звучит потрясающе, так как это работает с несколькими группами для пользователя? Скажем, Боб может использовать как узлы локальной сети, так и узел beastie.wan; тогда его логин thebob
определяется два раза, в lanusers.pp с groups => ["lan"]
и в shellusers.pp с groups => ["shell"]
? Что, если Боб хочет, чтобы его пароль для локальной сети был отделен от его пароля оболочки?
Код, который я сейчас использую, не имеет виртуальных определений, пользователи - это просто жестко запрограммированные отдельные включения. В какой-то момент я наткнулся на пример с использованием виртуальных машин, и именно здесь я застрял, потому что я не понимаю, как развернуть код, чтобы Puppet создал первичную группу и необходимые группы, которые я определил вначале, а затем присоединился к пользователю в этих группах. ,
Правильно. Пожалуйста, скажите мне правильно.