Mmm… comment expliquer simplement ? Un système Linux est foncièrement multi-utilisateurs. Ils appartiennent à des groupes, groupes qui accèdent ou pas à des ressources, programmes, fonctions, etc. Il y a des utilisateurs « internes » au système, et d'autres qui sont associés à des « humains ». Parmi tous ces utilisateurs, il y en a un qui est le big boss :
root lui peut tout faire, c'est le SuperUtilisateur.
Les comptes utilisateurs « humains » avec une session graphique peuvent être de 2 natures : normal ou administrateur.
⋅ un
normal ne peut pas prendre les droits du SuperUtilisateur - ça veut dire qu'il peut faire tout ce qu'il veut dans son espace personnel mais il ne saura pas réaliser d'opérations administratives potentiellement dangereuses ( installer / supprimer des logiciels, modifier des fichiers système, etc )
⋅ un
administrateur lui peut invoquer temporairement les droits du SuperUtilisateur ( et donc administrer la machine et potentiellement détruire le système ) : des logiciels graphiques d'administration ( gparted, bleachbit, gestionnaire de mises à jour… ) demanderont le mot de passe d'un utilisateur « administrateur » pour effectuer leurs tâches, cet utilisateur pourra utiliser
sudo pour lancer des commandes avec les droits du SuperUtilisateur ( = comme s'il était
root )
Sous Ubuntu on n'agit jamais en tant qu'utilisateur root directement (*). On agit toujours toujours en tant qu'un
utilisateur humain, éventuellement en lui accordant temporairement les privilèges du SuperUtilisateur.
Ça c'était pour planter le décor, voir la
doc sudo.
Bouge, bureau !
je ne sais pas comment m'identifier comme administrateur, dans le terminal j'ai juste tartenpion@francois et pas moyen de changer...
Exemple avec
django mon utilisateur courant et
alessandra l'utilisateur dont je voudrais déplacer le bureau.
Ces 2 utilisateurs existent déjà, la session d'
alessandra n'est pas lancée, je suis dans la session « graphique » de
django, où j'ouvre un terminal :
django@ASGARD:~$ su alessandra # pour agir dans le terminal non plus en tant que django mais alessandra
Mot de passe : # ici c'est le mot de passe d'alessandra qui est attendu, pas celui de django
alessandra@ASGARD:/home/django$ # comme tu peux voir, l'invite du terminal a changé, mais pas son emplacement : pour l'instant on est toujours dans /home/django
alessandra@ASGARD:/home/django$ cd /home/alessandra/ # on place le terminal à l'endroit voulu
alessandra@ASGARD:~$ # l'invite du terminal a changé, son emplacement est dorénavant ~ ( ~ signifie /home/$USER soit ici /home/alessandra )
alessandra@ASGARD:~$ mv Bureau/ /media/DATA/alessandra/ # pour déplacer
alessandra@ASGARD:~$ ln -s /media/DATA/alessandra/Bureau Bureau # création du lien dans ~ soit actuellement /home/alessandra
alessandra@ASGARD:~$ exit # ça c'est pour que le terminal quitte l'utilisateur alessandra
exit # il confirme
django@ASGARD:~$ # l'invite du terminal change à nouveau, on est de retour chez django, dans son ~
Évidemment tu adaptes tout ça à ta réalité, avec tes utilisateurs et chemins.
L'est où la corbeille ?
en particulier je ne peux pas mettre les fichiers à la corbeille, seulement les supprimer. En cliquant sur détails j'ai "Impossible de trouver ou créer le répertoire de la corbeille"
Ah oui, on n'a pas abordé le fonctionnement des corbeilles sous Linux.
Bon en gros, à la racine de chaque partition il faut qu'il y ait un dossier corbeille par utilisateur, on va en créer un.
Je pars du principe que l'utilisateur
francois a pour uid
1000 et que sdb4 est monté dans /media/DATA :
cd /media/DATA # on place le terminal dans /media/DATA où monte la racine de la partition sdb4
sudo mkdir .Trash-1000 # on agit en tant que root car la partition appartient à root, aucun autre utilisateur ne sait y écrire, c'est bien
sudo chown 1000:1000 .Trash-1000 # mais bon ce qui nous intéresse c'est que francois puisse utiliser ce dossier corbeille, donc on lui attribue francois comme utilisateur et groupe propriétaires
À faire pour chaque utilisateur potentiel : le suivant aura une .
Trash-1001, le suivant une .
Trash-1002, etc.
Vérifier uid et gid de l'utilisateur courant c'est la commande
id
sinon tous les utilisateurs sont consignés dans le fichier /etc/passwd, qu'on peut « trier » un peu comme ça par exemple :
cat /etc/passwd | grep /bin/bash
( y'a sans doute plus élégant / efficace comme commande ).
________________________
(*) le propre de toute règle ou convention, c'est de générer des exceptions, inutiles ici donc je ne les aborde pas.