Sur la gestion des utilisateurs...
Création d'un utilisateur
Deux commandes sont utilisables pour créer des comptes d'utilisateurs : adduser et useradd.
La différence est que
- adduser est une commande interactive : elle pose des questions aux quelles il faut répondre intéractivement.
- useradd est une commande non interactive, on peut s'en servir dans un script.
Basiquement, on n'utilise que adduser,
qui fait bien plus de choses que useradd (à laquelle elle fait appel de toutes façons,
après s'être fait préciser les paramètres utiles intéractivement, justement).
Attention
Pour l'utiliser, il faut être connecté en tant que root
(plusieurs expériences sous sudo n'ont pas suffit...)
- adduser
-
Exemple :
Voir
http://manpages.ubuntu.com/manpages/hardy/fr/man8/adduser.8.html
qui décrit comment créer un utilisateur "système" (ie: sans "home")
- useradd
-
Voir
http://ww2.ac-creteil.fr/reseaux/systemes/linux/comptes-utilisateurs.html
qui décrit les commandes de base pour la création, et la gestion des groupe et des utilisateurs.
- more /etc/passwd
-
/etc/passwd est le fichier de la liste des utilisateurs,
qui comprend 7 champs séparés par le symbole “:” :
1.- nom de connexion,
2.- ancienne place du mot de passe crypté (remplacé par le caractère x)
3.- numéro d'identifiant (uid - celui de root est 0, à partir de 500 pour les autres),
4.- numéro de groupe (gid),
5.- nom complet, suivi d'informations personnelles facultatives (nom et prénom, numéro de bureau, n° de tel... )
6.- rép. personnel (c'est également le rép. de connexion)
7.- shell, interprétateur de commandes (par défaut /bin/bash, mais l'utilisateur peut l'avoir changé)
Droits "root" et commande sudo
Sudo est une commande qui permet d’accorder à certains utilisateurs (ou groupes d’utilisateurs)
la possibilité de lancer une commande en tant qu’administrateur, ou comme autre utilisateur,
tout en conservant une trace des commandes saisies et des arguments.
Debian à l’inverse d’Ubuntu n’est pas nativement configuré pour utiliser Sudo,
le compte "root" est préféré pour les taches d’administration.
- apt-get
- (sur Débian)
Suivre le guide http://www.demongeot.biz/tutos/Sudo.html
Exemple :
-
pour mettre à jour la liste des paquets disponibles
apt-get update
-
pour simuler ce qui serait installé (ici, les paquets des programmes pour pouvoir faire "sudo")
apt-get -s install sudo
-
pour installer réellement (ici, idem pour pouvoir faire "sudo")
apt-get install sudo
Dans le cas de l'installation de sudo, il faut ensuite le configurer.
En résumé, cela consiste à éditer le fichier /etc/sudoers,
dans lequel, en particulier, on peut explicitement désigner des utilisateurs à autoriser.
Cependant ce n'est pas le moyen le plus pratique de donner ce droit à des utilisateurs :
il vaut mieux les ajouter au groupe "sudo", comme cela est expliqué plus loin,
dans la rubrique sudoers.
Voir http://guide.andesi.org/html/ksudo.html
qui décrit les 4 parties de ce fichier et la syntaxe de son contenu.
Exemple de tel fichier après modification :
# Host alias specification
# User alias specification
User_Alias STAFF=gaelle,barnabe,chris
# Cmnd alias specification
Cmnd_Alias NET=/bin/ping,/usr/bin/traceroute,/usr/bin/ftp,/usr/bin/nmap
# User privilege specification
root ALL=(ALL) ALL
STAFF ALL=(ALL) NET
-
pour déinstaller sudo
apt-get remove sudo
-
pour supprimer toute trace du package précédement installé
apt-get remove --purge
Une fois "sudo" installé, il faut être connecté en "root" pour exécuter certaines applications "sensibles",
comme par exemple useradd et a fortiori adduser.
- sudoers
-
Pour autoriser l'accès seulement à certains groupes (par défaut, au groupe sudo),
il faut définir des utilisateurs et leur ajouter l'appartenance au groupe en question,
ce qui se fait dans une fenêtre de commande,
(voir
http://www.cyberciti.biz/faq/howto-linux-add-user-to-group/)
Si on a assez de "privilèges" (ou "droits") pour pouvoir être autorisé à les exécuter,
ou si on connait le mot de passe d'un utilisateur dont le compte a des droits "root"
on peut faire exécuter certaines commandes sensible :
- soit en faisant précéder la commande désirée par la commande sudo,
ce qui permet d'exécuter plusieurs commandes dans un court laps de temps,
- soit se loguer sous le compte root avec la commande su,
dont on sortira une fois tous les traitements sensibles terminés par la commande exit.
On voit qu'on est "root" parce que la colorisation des commandes et des résultats
dans la fenêtre Terminale est différente :
- il n'y a plus de colorisation en mode "root",
- le caractère d'invite passe de $ à # .
- passwd
- Par exemple, on peut :
- désactiver le compte root car nous n’en avons plus besoin.
passwd -l root
- réactiver le compte root
passwd -u root
Liens utiles