Vous êtes sur la page 1sur 5

Gestion des utilisateurs et des groupes.

Les trois fichiers utiliss dans la gestion des utilisateurs et des groupes sont les fichiers /etc/passwd, /etc/shadow et /etc/group. Les principales commandes sont useradd, userdel, usermod, passwd, chpasswd, groupadd et groupdel. Nous allons les prsenter ci-dessous. Les parties optionnelles sont entre crochets [ ]. 1- Les fichiers Le fichier /etc/passwd contient les informations sur les utilisateurs dcomposs en 7 champs spars par " :" et qui sont les suivants: - le nom du compte de l'utilisateur - A l'origine contenait le mot de passe de l'utilisateur. Le x indique que les mots de passe sont dans /etc/shadow - l' entier qui identifie l'utilisateur pour le systme d'exploitation (UID=User ID, identifiant utilisateur) - l' entier qui identifie le groupe de l'utilisateur (GID=Group ID, identifiant de groupe) - le commentaire dans lequel on peut retrouver des informations sur l'utilisateur ou simplement son nom rel - le rpertoire de connexion qui est celui dans lequel il se trouve aprs s'tre connect au systme - la commande qui est excute aprs connexion au systme (c'est frquemment un interprteur de commandes) exemple : salmaa:x:1003:1007:Kamali Salmaa:/home/salmaa:/bin/bash Le fichier /etc/shadow contient le mot de passe chiffr, il est dcomposs en 9 champs spars par " :" c'est : et qui sont les suivants: - le nom du compte de l'utilisateur - le mot de passe chiffr. - Le nombre de jours (depuis le 1er Janvier 1970) depuis le dernier changement du mot de passe. - Le nombre de jours avant que le mot de passe ne puisse tre chang . - Le nombre de jours aprs lesquels le mot de passe doit tre chang (99999 indique que l'utilisateur peut garder son mot de passe inchang) - Le nombre de jours pour avertir l'utilisateur qu'un mot de passe ne va plus tre valable - Le nombre de jours avant de dsactiver le compte aprs expiration du mot de passe - Le nombre de jours depuis le 1er Janvier 1970 pendant lesquels un compte a t dsactiv - Un champ rserv pour une utilisation future possible exemple : salma:$1$bkwGHWnw$cG7d.Vjaje/2DeC00XhVc1:13835:0:99999:7::: Le fichier /etc/group contient la liste des utilisateurs appartenant aux diffrents groupes. Il se compose de 4 champs spars par " :" et qui sont les suivants: - le nom du groupe - un champ de mot de passe de groupe (peu utilis) - l' entier qui identifie le groupe - les membres du groupe exemple : salmaa:x:1008:salmaa,user1,user2

2-Les commandes Ajouter un groupe - syntaxe simplifie : groupadd nom_du_groupe exemple : groupadd salmaa (ajoute le groupe salmaa.)

Supprimer un groupe - syntaxe : groupdel nom_du_groupe exemple : groupdel user1 (supprime le groupe user1 s'il est vide.) Ajouter un utilisateur - syntaxe simplifie : useradd [-g groupe] [-G group1,group2 ...] utilisateur groupe dsigne le groupe principal, group1, ... dsignent les groupes secondaires Lorsqu'un utilisateur est cr il n'est pas activ, Il y a un ! ! dans le champ mot de passe du fichier /etc/shadow, le compte ne sera actif que lorsque le mot de passe sera affect: commandes passwd ou chpasswd). Exemples : useradd fatima Ajoute l'utilisateur fatima en crant un groupe du mme nom. Si le groupe existe dj l'utilisateur ne sera pas cr. useradd fatima -g maj Ajoute l'utilisateur fatima dont le groupe principal est maj et cr le rpertoire /home/fatima useradd fatima -g maj -G g1,g2 Mme cas que ci-dessus mais en plus fatima fait partie des groupes secondaires g1 et g2 Supprimer un utilisateur - syntaxe : userdel [-r] utilisateur Avec l'option -r tous les fichiers utilisateurs sont supprims. exemple : userdel -r fatima Suppression de l'utilisateur fatima et de tous les fichiers lui appartenant. Modifier le mot de passe d'un utilisateur avec la commande passwd: syntaxe : passwd [utilisateur]

Sans nom dutilisateur la commande permet de changer son propre mot de passe. Seul root peut changer les mots de passe d'autres utilisateurs. Exemple : passwd fatima Enter new UNIX password : Retype new UNIX password : passwd : le mot de passe a t mis jour avec succs Le fichier /etc/shadow contient maintenant la version chiffr du mot de passe de fatima. La commande passwd permet de changer des mots de passe de manire interactive et la commande chpasswd permet de changer des mots de passe en mode silencieux (ou batch). On pourra donc l'utiliser dans des scripts. Nous allons utiliser un pipe pour la redirection des commandes. La commande echo affiche le texte qui la suit, et la commande chpasswd attend sur son entre standard un couple login:password, il suffit donc de rediriger la sortie standard de echo login:pass vers l'entre standard de chpasswd. La syntaxe est alors : echo login:pass | chpasswd exemple : echo fatima:fati2010 | chpasswd Modifier un utilisateur : syntaxe simplifie : usermod [-g groupe] [-G group1,group2... ] utilisateur Les options ont la mme signification que pour la commande useradd. Exemples : usermod -g maj fatima , fatima a maintenant pour groupe principal maj usermod fatima -g maj -G g2,g3 fatima a maintenant pour groupe principal maj et elle fait partie des groupes secondaires g2 et g3 Obtenir des informations sur soi-mme ou un utilisateur syntaxe simplifie : id [utilisateur] Exemples : id uid=0(root) gid=0(root) groupes=0(root) id salmaa uid=1001(salmaa) gid=1007(maj) groupes=1007(maj),1003(g2),1004(g3)

Les tches planifies crontab

La principale commande pour grer les tches planifies et : crontab Pour lister les tches dj planifies : crontab -l 00 01 * * * /root/sauvegarde.sh Et pour diter les crontab : crontab -e L'dition de crontab lance l'diteur de texte par dfaut (vi, vim, nano etc) Il est ncessaire de disposer d'un script excutable qui sera la tache lance par le crontab. Ce script ncessite au minimum les droits d'excution pour l'utilisateur qui lance la tache, il doit aussi avoir comme premire ligne, le shell utilis pour s'excuter : ls -ail /root/sauvegarde.sh 667821 -rwx------ 1 root root 443 2006-06-13 11:47 sauvegarde.sh cat /root/sauvegarde.sh #!/bin/bash ... ... Chaque entre de la table (chaque ligne) correspond une tche excuter et est note de la faon suivante: mm hh jj MMM JJJ tche > log Dans cette syntaxe: => mm reprsente les minutes (de 0 59) => hh reprsente l'heure (de 0 23) => jj reprsente le numro du jour du mois (de 1 31) => MMM reprsente le numro du mois (de 1 12) ou l'abrviation du nom du mois (jan, feb, mar, apr, ...) => JJJ reprsente l'abrviation du nom du jour ou le chiffre correspondant au jour de la semaine (0 reprsente le dimanche, 1 reprsente le lundi, ...) => tche reprsente la commande ou le script shell excuter => log reprsente le nom d'un fichier dans lequel stocker le journal des oprations. Si la clause> log n'est pas spcifie, cron enverra automatiquement un courriel de confirmation. Pour viter cela il suffit de spcifier > /dev/null Pour chaque unit de temps (minute/heure/...) les notations sont possibles: => * : a chaque unit de temps => 2-5 : les units de temps (2,3,4,5) => */3 : toutes les 3 units de temps (0,3,6,...) => 5,8 : les units de temps 5 et 8 Enfin il est possible de remplacer toutes les units de temps par @reboot afin d'effectuer la commande au redmarrage de la machine : @reboot /root/test.sh

Exemple de tches cron : Une tche qui se lance tous les jours 23H30 : 30 23 * * * /root/test.sh Une tche qui se lance toutes les heures, passes de 5 minutes : 5 * * * * /root/test.sh Une tche qui se lance tous les premiers du mois 23h30 : 30 23 1 * * /root/test.sh Une tche qui se lance tous les quarts d'heure : 15,30,45,0 * * * /root/test.sh ou de cette manire : */15 * * * /root/test.sh Une tche qui se lance tous les lundis 22h28 : 28 22 * * 1 /root/test.sh Une tche qui se lance toutes les 2 minutes : */2 * * * * /root/test.sh Une tche qui se lance toutes les 2 heures: 0 */2 * * * /root/test.sh Une tche qui se lance tous les jours pairs du mois 23h59 : 59 23 */2 * * /root/test.sh