08 Mar2016
Scripts de gestion des utilisateurs
Objectif:
- Utiliser des scripts Shell pour gérer les comptes utilisateurs
Travail à faire:
-
Écrire un script permettant de lire le login d'un utilisateur puis affiche tous les groupes secondaires auxquels appartient l'utilisateur,si le compte n'existe pas un message d'erreur sera affiché.
-
Écrire un script qui permet de compter le nombre de groupes systèmes et le nombre de groupes utilisateur puis affiche le résultat
le groupe root est un groupe utilisateur
-
Créer un script permettant la gestion d'un utilisateur dont le nom est donné comme premier paramètre et dont les informations (UID,GID,Shell,groupes secondaires et répertoire personnel)sont lues au clavier,le script va proposer à l'utilisateur de créer,de modifier ou de supprimer l'utilisateur.
Script 1:
#!/bin/bash #auteur aitmoulay #exelib.net echo "saisir le nom de l'utilisateur" read user var=$(grep $user /etc/passwd) if [ -z $var ];then echo "l'utilisateur saisi n'existe pas sur le système" else gs=$(grep $user /etc/group | cut -d: -f1) echo "les groupes secondaires auxquels appartient l'utilisateur sont $gs" fi
Script 2:
#!/bin/bash #auteur aitmoulay #exelib.net #compter le nombre de groupes systèmes ayant un gid <500 ns=$(cut -d: -f3 /etc/group | egrep -w '[1-4]..|..|.' |grep -vw '0' |wc -l) echo "le nombre de groupes systèmes est:$ns" #compter le nombre de groupes normaux ayant un gid >=500 nr=$(cut -d: -f3 /etc/group | egrep -w '[5-9]..|.....*|0' |wc -l) echo "le nombre de groupes normaux est:$nr"
Script 3:
#!/bin/bash #auteur aitmoulay #exelib.net if [ $# -eq 0 ];then echo "il faut donner comme paramètre un nom d'utilisateur" else echo "que voulez-vous faire ?" echo "1. créer un nouveau utilisateur nommé $1" echo "2.modifier l'utilisateur $1" echo "3.supprimer l'utilisateur $1" echo "faites votre choix" read i case $i in 1)echo "saisir les données de l'utilisateur à créer" read -p "uid:" uid read -p "gid:" gid read -p "shell:" sh read -p "groupes:" g1 g2 read -p "répertoire personnel:" rep useradd -u $uid -g $gid -s $sh -d $rep -G $g1,$g2 $1;; 2)getent passwd $1 echo "saisir les données de l'utilisateur à modifier" read -p "uid:" uid read -p "gid:" gid read -p "shell:" sh read -p "groupes:" g1 g2 read -p "répertoire personnel:" rep usermod -u $uid -g $gid -s $sh -d $rep -G $g1,$g2 $1;; 3)echo "supprission de l'utilisateur" userdel -r $1;; *)echo "choix invalid";; esac fi
Il faut exécuter ce script en tant que root avec sudo ou su