GNU/Linux >> Tutoriels Linux >  >> Linux

Ajouter un utilisateur existant à un groupe avec marionnette

Solution 1 :

L'utilisation des ressources virtuelles Puppet est la bonne façon de le faire - mais si vous ne pouvez pas modifier les définitions d'utilisateur et que vous avez besoin d'une solution de contournement entre-temps, ce qui suit est horrible et hacky, mais fonctionnera :

exec { 'foo somegroup membership':
  unless  => '/bin/grep -q "somegroup\\S*foo" /etc/group',
  command => '/sbin/usermod -aG somegroup foo',
  require => User['foo'],
}

Essentiellement, nous vérifions simplement si un groupe contient déjà l'utilisateur foo... sinon, utilisez les commandes usermod normales pour l'ajouter en plus des groupes existants auxquels foo appartient.

Solution 2 :

Si vous déclarez des utilisateurs en tant que ressources virtuelles, vous pouvez alors utiliser 'realize' ou la syntaxe de collection ( User <| ... |>). Voici un exemple :

@user { 'foo':
  groups     => ['somegroup'],
  membership => minimum,
}

Réalisez ensuite cet utilisateur virtuel avec la syntaxe de collecte :

User <| title == foo |>

Et ailleurs, vous pouvez ajouter aux paramètres de cette ressource virtuelle en utilisant plusignment :

User <| title == foo |> { groups +> "svn" }

Solution 3 :

Merci - hack moche à coup sûr, mais il fait le travail. Voici un exemple avec chemin (combinant les commentaires ci-dessus) pour ajouter 'nrpe' au groupe 'nagios'. J'ai utilisé un package require car l'utilisateur ici est RPM fourni plutôt que par marionnette.

  exec {"nrpe nagios membership":
    unless => "/bin/getent group nagios|/bin/cut -d: -f4|/bin/grep -q nrpe",
    command => "/usr/sbin/usermod -a -G nagios nrpe",
    require => Package['nrpe'],
  }

Linux
  1. Comment installer Nextcloud avec ISPConfig 3.1

  2. Ajouter un utilisateur au groupe sous Linux, comment le faire (avec exemples)

  3. La fonction de la racine du groupe d'utilisateurs ? ?

  4. Capturer des groupes avec Awk ou Grep ?

  5. Pourquoi Samba n'ajoute-t-il pas un nouvel utilisateur avec "samba-tool" ?

Premiers pas avec GIT sous Linux

Commande Linux Chgrp avec exemples

Commande Linux runuser - Exécuter Shell avec l'ID utilisateur/groupe spécifié

Ajout de nouveaux utilisateurs sous Linux avec la commande Useradd

Comment ajouter un utilisateur à un groupe sous Linux

Comment ajouter un utilisateur à un groupe Linux