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