![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
C'est un sujet qui mérite d'être revu. Quand on est utilisateur d'une distribution "linux desktop" pour un usage personnel on a tendance à laisser le sujet de coté.
Remarque: dans la suite, les commandes que l'on passe commence par le caractère $.
Pour savoir qui je suis et à quels groupe j'appartient: id
$ id uid=1000(compte) gid=1000(compte) groupes=1000(compte),7(lp),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),100(users),106(netdev),112(bluetooth),114(lpadmin),120(scanner)
L'uid me donne mon numéro de compte. Le gid mon numéro de groupe personnel.
Ensuite j'ai un accès superutilisateur (sudo), l'accès à l'audio (audio) et ainsi de suite.
A la création de mon compte j'ai du mettre un mot de passe.
La commande passwd permet de changer son mot de passe.
Elle demande :
passwd sans parametre change le mot de passe du compte courrant. Un id avant peut éviter des erreurs.
Avec un nom de user, la commande passwd change son password.
$ passwd $ passwd secours
Ajouter l'utilisateur secours au système. Un mot de passe est demandé pour ce nouvel utilisateur ainsi que quelques informations complémentaires.
$ $ sudo adduser secours [sudo] Mot de passe de compte : Ajout de l'utilisateur « secours » ... Ajout du nouveau groupe « secours » (1001) ... Ajout du nouvel utilisateur « secours » (1001) avec le groupe « secours » (1001) ... Création du répertoire personnel « /home/secours » ... Copie des fichiers depuis « /etc/skel » ... Nouveau mot de passe : Retapez le nouveau mot de passe : passwd : mot de passe mis à jour avec succès Modifier les informations associées à un utilisateur pour secours Entrer la nouvelle valeur, ou appuyer sur ENTER pour la valeur par défaut NOM []: secours Numéro de chambre []: systeme Téléphone professionnel []: NA Téléphone personnel []: NA Autre []: Cette information est-elle correcte ? [O/n]O Ajout du nouvel utilisateur « secours » aux groupes supplémentaires « users » ... Ajout de l'utilisateur « secours » au groupe « users » ...
Je vous conseille d'avoir un deuxieme compte. Il vous permettra de rattraper les problèmes de configuration lors du démarrage du système ou lors de l'accès à votre compte principal.
Ajouter l'utilisateur compte au groupe www-data.
$ adduser compte www-data
On peut change l'appartenance d'un fichier à un groupe. On ne peut donner l'appartenance de groupe à un fichier qu'à un groupe dont on est membre. L'administrateur root peut, lui, affecter un fichier à n'importe quel groupe.
Pour que le fichier fichier appartienne au compte compte:
$ chgrp compte fichier
Changer récursivement l'appartenance à un groupe est possible avec l'option -R. Le répertoire et tous les fichiers contenus dans ce répertoire ainsi que ses sous-répertoires changeront de groupe.
$ chgrp -R audio /home/compte/Musique
Sans reexpliquer la gestion des droits sous linux un fichier est accessible en lecture/ecriture/execution pour le user, le groupe et le reste du monde.
chmod peut s'utiliser avec des chiffres ou des lettres
Droit Valeur alphanumérique Valeur octale
aucun droit --- 0
exécution seulement --x 1
écriture seulement -w- 2
écriture et exécution -wx 3
lecture seulement r-- 4
lecture et exécution r-x 5
lecture et écriture rw- 6
tous les droits (lecture, écriture et exécution) rwx 7
La commande ls -l permet d'afficher ces droits:
-rwxr-xr-x 1 compte compte 2208 11 sept. 18:45 suivi.txt* -rwxr-xr-x 1 compte compte 102 29 sept. 2022 todo.txt*
Dans cet exemple le fichier suivi.txt est:
r-x pour les autres (lecture et execution)
NB: la lecture se fait de gauche à droite, 3 premiers caractères utilisateur, 3 suivants groupe , 3 derniers autre
Les fichiers suivi.txt et todo.txt ne sont probablement pas des executables. Il faut changer les droits.
Pour modifier ces droits on utilise chmod.
$ chmod 640 suivi.txt $ chmod 644 todo.txt $ ls -l -rw-r----- 1 jlb jlb 2208 11 sept. 18:45 suivi.txt -rw-r--r-- 1 jlb jlb 102 29 sept. 2022 todo.txt
Ici, j'ai considéré que mon suivi était personnel et j'ai interdit l'accès au personnes en dehors de mon groupe et j'ai considéré que tout le monde pouvait consulter ma todo liste.
Par contre personne en dehors de moi ne peut modifier ces fichiers.
Il est possible d'utiliser des jokers.
--screen $ chmod 755 *
Avec la commande find on peut modifier tous les fichiers d'un répertoire et de ses sous-répertoires (option -type f).
Je souhaite que tous mes fichiers texte soit en lecture écriture pour mon groupe et moi.
$ find /home/compte/texte -type f -exec chmod 660 {} \;
Les répertoires étant considérés comme des fichiers, on peut aussi changer leur droit. Il ne faut pas oublier cependant que pour accéder à un répertoire, celui-ci doit être exécutable. L'option est -type d.
$ find /home/compte/publication -type d -exec chmod 755 {} \;
Pour supprimer un utilisateur deluser. Attention les fichiers lui appartenant ainsi que son répertoire home ne sont pas supprimés.
C'est à vous de le faire si les fichiers ne sont pas utiles avec un rm récursif.
$ deluser secours $ rm -r /home/secours
N'oubliez pas que les application créé des fichiers et des répertoires cachés dans le compte des utilisateurs. Ces fichiers commence par ..
Par exemple vim avec le fichier .vimrc.
s -a .vimrc .vimrc
La manière classique unix pour lister les utilisateurs d'un groupe est de faire une recherche avec grep dans le fichier /etc/goup.
grep www-data /etc/group www-data:x:33: grep users /etc/group users:x:100:compte
Attention, si vous donnez un nom d'utilisateur vous allez obtenir tous les groupes auquel il appartient:
grep users /etc/group users:x:100:compte grep compte /etc/group lp:x:7:compte cdrom:x:24:compte floppy:x:25:compte sudo:x:27:compte audio:x:29:pulse,compte dip:x:30:compte video:x:44:compte plugdev:x:46:compte users:x:100:compte netdev:x:106:compte bluetooth:x:112:compte lpadmin:x:114:compte scanner:x:120:saned,compte compte:x:1000:
La première demande cherche tous les utilisateurs de votre serveur (en demandant les utilisateurs du groupe users). Elle retourne l'utilisateur compte.
La seconde donne tous les groupes qui ont pour utilisateur compte, plus son compte avec son id (1000).
La façon débian est d'utiliser groups.
groups compte lp cdrom floppy sudo audio dip video plugdev users netdev bluetooth lpadmin scanner
Pour modifier le nom d'un groupe:
$ groupmod friends amis
Pour modifier les caracteristiques d'un groupe, par exmple le gid:
$ groupmod -g 2000 friends
Supprimer le groupe friends
$ delgroup freinds