logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:systeme:su [30/07/2019 07:11]
smolski [Nota de geek]
doc:systeme:su [23/09/2019 11:20]
smolski [Droits utilisateurs]
Ligne 16: Ligne 16:
 ===== Fonction ===== ===== Fonction =====
  
-La commande ''​su''​ dans un terminal(([[:​doc:​systeme:​terminal]])) ou une console(([[:​doc:​systeme:​console]])) permet de devenir un autre utilisateur pour la durée d'une session ou, si on n'​indique aucun //​user//​((session utilisateur)) de prendre les privilèges **root** (voir le tuto du : [[doc:​systeme:​superutilisateur|superutilisateur]]). ​Su utilise alors les privilèges du compte root à la place du vôtre.+La commande ''​su''​ dans un terminal(([[:​doc:​systeme:​terminal]])) ou une console(([[:​doc:​systeme:​console]])) permet de devenir un autre utilisateur pour la durée d'une session ou, si on n'​indique aucun //​user//​((session utilisateur)) de prendre les privilèges **root** (voir le tuto du : [[doc:​systeme:​superutilisateur|superutilisateur]]). 
 +<note tip>La commande su utilise alors les privilèges du compte root à la place du vôtre.</​note>​
  
-En effet, le symbole ''#''​ apparaît à la fin de l'​invite à la place du symbole ''​$'',​ ce qui signifie que les commandes suivantes seront exécutées en tant que super-utilisateur ​**depuis votre session ​user**.+En effet, le symbole ''#''​ apparaît à la fin de l'​invite à la place du symbole ''​$'',​ ce qui signifie que les commandes suivantes seront exécutées en tant que super-utilisateur
 +<note tip>La commande ''​su -''​ ouvre la session ​administrateur qui permet passer des commandes de n'​importe quel chemin, c'est l'​intérêt de la variable $PATH.</​note>​ 
 +  ​Pour l'​utiliser,​ entrez ''​su -''​ dans un terminal puis entrez le mot de passe root. 
 +  ​Pour quitter, tapez ''​exit''​ ou utilisez la combinaisons de 2 touches : ''​Ctrl d''​. \\ Vous verrez alors le symbole $ et non plus # , ce qui signifie que vous utilisez de nouveau le système en tant qu'​utilisateur normal.
  
-La commande ​''​su -'' ​ouvre la session administrateur ​et donc de se positionner ​**dans la session root** et non plus userce qui permet d'utiliser tous les avantages ​d'accès depuis ​la racine.+===== su sous buster ===== 
 + 
 +Sur Debian 9((stretch)),​ un simple <code user>​su</​code>​ mettait ​''​/​sbin''​ dans cette variable, mais plus sous Debian 10 où il faut faire : 
 +<code user>su -</​code>​ 
 +ou 
 +<code user>su -l</​code>​ 
 + 
 +-, -l, --login 
 +              Appelle le shell sous forme de shell de  connexion. 
 +              Voici  ce  que cela signifie : Invalider toutes les 
 +              variables d'environnement sauf `TERM',  `HOME',  ​et 
 +              `SHELL' ​ (qui  sont  renseignées ​ comme  décrit ci- 
 +              dessus), ainsi que `USER' et  `LOGNAME' ​ (qui  sont 
 +              alors  remplies ​ même  pour  le Super-Utilisateur). 
 +              Remplir `PATH' avec une valeur ​ par  défaut ​ donnée 
 +              lors de la compilation. ​ Se déplacer dans le réper­ 
 +              toire HOME de l'​utilisateur. Ajouter "​-"​ au nom  du 
 +              shell, ​ pour  que celui-ci lise son ou ses fichiers 
 +              de démarrage. 
 +Source: man su               
 + 
 +**seb95** : \\ 
 +//Et pourquoi ça ne posait pas de soucis avant et sur buster c'​est ​plus le cas ?// 
 + 
 +**enicar** : \\ 
 +Parce qu'​avant le « su » seul n'​aurait jamais du se comporter comme 
 +« su -l »mais c'était le cas. \\ 
 +En quelque sorte le « su » d'avant ne respectait pas la norme posix, alors que maintenant, il la respecte.
  
-  * Pour l'​utiliser,​ entrez ''​su -''​ dans un terminal puis entrez le mot de passe root. 
-  * Pour quitter su, tapez ''​exit''​ ou utilisez la combinaisons de 2 touches : ''​Ctrl d''​. \\ Vous verrez alors le symbole $ et non plus # , ce qui signifie que vous utilisez de nouveau le système en tant qu'​utilisateur normal et êtes donc revenu dans votre session user. 
 ===== Syntaxe ===== ===== Syntaxe =====
  
Ligne 107: Ligne 136:
 Et nous restons en user après cette commande validée en root. Et nous restons en user après cette commande validée en root.
  
-N'​omettez pas les quotes simples (') encadrant la commande //fdisk//.<note important>​important</​note>​+<note important>​N'​omettez pas les quotes simples (') encadrant la commande //​fdisk//​.</​note>​
  
 //Et voilà aussi simple que ça, pas possible.// ^_^ //Et voilà aussi simple que ça, pas possible.// ^_^
  
 +===== Droits utilisateurs =====
 +
 +Voici un aspect des droits des utilisateurs.
 +
 +- **merlin** : \\
 +//Les comptes sont enregistrés dans le fichier //''​ /etc/passwd ''​ // dans l’ordre chronologique de leur création. //\\
 +//Il est important de savoir qui utilise la machine. //\\
 +//On peut donc distinguer les utilisateurs de type //humain// et les utilisateurs de type //​programme. \\
 +
 +**captnfab** :
 +<​note>​En fait, le « type » d'​utilisateur est plus une convention. =)</​note>​
 +Les **utilisateurs système** ont un ID <((le signe ''​ < ''​ signifie un nombre **supérieur** à...)) 1000, n'​autorisent pas de connexion par mot de passe, ils ont souvent :
 +  * un répertoire HOME personnalisé (voire pas de HOME),
 +  * un shell personnalisé (voire un shell désactivé),​
 +  * et peuvent appartenir à un groupe spécial comme //​nogroup//​.
 +De plus, les **utilisateurs humains** appartiennent par défaut à certains groupes (//cdrom//, …). \\
 +Ceci dit, il est tout à fait possible de se loguer en tant qu'un de ces utilisateurs système, par exemple avec :
 +<code user>su - daemon -s/​bin/​bash</​code>​
 +Ou de lancer un programme en tant qu'​utilisateur humain (par exemple, c'est ce qui arrive à chaque fois qu'on lance [[doc:​reseau:​firefox|firefox]]).
 +
 +Certains utilisateurs sont déjà présents par convention (root, bin, daemon, …),
 +  * d'​autres sont introduits par la distribution (groupe adm),
 +  * et d'​autres sont amenés par l'​installation de paquets ([[doc:​reseau:​ssh|sshd]],​ …).
 +
 +**merlin** : \\
 +//Je pense qu’une application qui utilise la connection réseau Internet, y compris une connexion //​frauduleuse//,​ doit obligatoirement avoir un compte (avec les privilèges nécessaires) dans le registre ''​ /etc/passwd '',​ afin de pouvoir passer le [[doc:​reseau:​iptables-pare-feu-pour-un-client|pare-feu]].//​
 +
 +**captnfab** : \\
 +Un programme est tout le temps attribué à un utilisateur. \\
 +Tous les utilisateurs ont le droit d'​accéder au réseau s'il est en place. \\
 +**Mais pas tous** ont le droit d'​établir une connexion et de configurer le réseau car ceci nécessite des privilèges,​ qui peuvent être délégués,​ ou actionnés via dbus !
 +<note tip>
 +  * Un daemon tourne avec ces privilèges et écoute sur le dbus,
 +  * un programme utilisateur envoie une requête dbus au premier…
 +</​note>​
 +
 +La notion de compte « humain » n'est qu'un ensemble de paramètres par défaut, une fois le compte créé, c'est un compte, et puis c'est tout.
 +
 +[[doc:​systeme:​superutilisateur|root]] est le nom d'​utilisateur du super-utilisateur,​ c'est à dire de l'​utilisateur d' ''​ ID 0 ''​.
 +<note warning>​Il n'y a qu'un seul super-utilisateur,​ c'est root.</​note>​
 +Il est possible mais très fortement déconseillé,​ d'​ajouter d'​autres utilisateurs au groupe root. \\
 +Cela ne fera pas d'eux des super-utilisateurs,​ ils pourront simplement modifier/​lire/​exécuter les fichiers qui n'​étaient modifiables/​lisibles/​exécutables seulement par le groupe root.
 +
 +Cependant, root peut déléguer ses droits en utilisant l'​utilitaire [[doc:​systeme:​sudo|sudo]].
 +
 +  * sudo permet à des utilisateurs vérifiant un certain nombre de règles personnalisables de lancer avec des droits personnalisés des commandes parmi un ensemble de commandes personnalisés.
 +  * La délégation la plus fréquente est d'​autoriser les utilisateurs appartenant au groupe « **sudo** » de lancer avec [[doc:​systeme:​droits-unix|les droits root]] n'​importe quelle commande sur le système avec leur propre mot de passe.
 +  * On peut aussi déléguer à l'​utilisateur //​tartempion//​ le droit d'​exécuter en tant que //​geronimo//​ la commande <​code>/​bin/​false</​code>​sans saisir aucun mot de passe.
 +  * Voir [[doc:​systeme:​man|le manuel]] de sudo pour plus de détails (bien qu'il ne soit pas forcément très simple à lire).<​code user>man sudo</​code>​
 +
 +
 +
 +**merlin** :
 +
 +//​Définitions des comptes utilisateurs (version 3) //:
 +
 +    * compte administrateur root=compte système :  \\ possède tous les privilèges. Administrateur de type root. Super-utilisateur par défaut, appartient au groupe root.
 +    * compte super-utilisateur non-root : \\ utilisateur inscrit au groupe root ?
 +    * compte administrateur sudo : \\ utilisateur inscrit au groupe sudo, ce qui lui permet d’accéder au compte root via son mdp personnel. Administrateur de type sudo ;
 +    * compte utilisateur ​ NP (Non Privilégié):​ \\ Utilisateur standard ou simple. Ne peut pas administrer le système, car il ne connaît pas le mdp root et n’est pas inscrit au groupe sudo ni au groupe root.
 +
 +**captnfab** : \\
 +<note important>​Il ne faut pas mélanger les appelations sémantiques à géométrie variable et les termes techniques.</​note>​
 +Ainsi, « //​administrateurs//​ » est un terme sémantique qui désigne une personne gérant la machine. \\
 +Il peut y avoir différents niveaux d' « //​administrateur//​ ». Si on parle du compte super-utilisateur,​ utilisons de préférence la terminologie « //compte root// » ou « //compte super-utilisateur//​ ». \\
 +En effet, il existe par exemple le groupe « //adm// » qui permet aux personnes « //​administrant la machine// » de, sans être root, accéder aux [[doc:​systeme-log|logs système]].
 +
 +En ce qui concerne les privilèges,​ il faut distinguer les privilèges que sont les droits du super-utilisateur,​ et les privilèges qui peuvent être « //​délégués//​ » par sudo, su, ou d'​autres programmes.
 +
 +Donc, pour résumer, il y a deux types de comptes utilisateurs réellement distincts :
 +  - le compte utilisateur root
 +  - les comptes utilisateurs non-root
 +
 +Un compte utilisateur peut se voir déléguer des privilèges via sudo, en fonction de son nom d'​utilisateur ou de son groupe.
 +
 +La dénomination « //compte utilisateur principal// » vient de ce que l'​installateur,​ lorsque le mot de passe root est désactivé,​ ajoute automatiquement le premier utilisateur créé lors de l'​installation dans le groupe sudo, ce qui, via la délégation sudo, lui permet de « passer root » et exécuter n'​importe quelle application en tant que root.
 +
 +su permet de se logguer temporairement en tant qu'un utilisateur lambda, notamment root, et demande pour se faire le mot de passe de l'​utilisateur.
 +<note tip>sauf si l'​utilisateur lançant su est root.</​note>​
 +La seule « //​délégation//​ » est de donner à la personne connaissant le nom d'​utilisateur et le mot de passe d'un utilisateur,​ les droits de cet utilisateur. \\
 +Par exemple : les droits root si l'​utilisateur connaît le mdp root.
 +
 +sudo est un mécanisme de délégation plus fin, comme indiqué plus haut. \\
 +<note important>​Il ne faut pas confondre l'​application sudo et le groupe sudo.</​note>​
 +Le groupe sudo n'est créé par défaut avec la délégation associée que par convention, et ils peuvent être supprimés/​renommés/​etc. ...
 +
 +Lien de ces précisions sur le forum :
 +  * https://​debian-facile.org/​viewtopic.php?​pid=310902#​p310902
 +
 +//Merci à// **merlin**//​ et// **captnfab**//​ d'​avoir ensemble suscités avec brio ces informations sur l'​utilisation de su et la particularité des comptes utilisateurs.//​
 +
 +Nota :
 +Si certains termes vous échappent, vous pouvez consulter le tuto concernant le système debian dans son ensemble :
 +  * [[doc:​systeme:​gnu-linux|Le système Gnu Linux]] 8-o
 ===== Nota de geek ===== ===== Nota de geek =====
  
Ligne 117: Ligne 240:
   * http://​debian-facile.org/​forum/​viewtopic.php?​pid=38912#​p38912   * http://​debian-facile.org/​forum/​viewtopic.php?​pid=38912#​p38912
  
-===== Liens sur le forum =====+===== Liens =====
  
-  * https://​debian-facile.org/​viewtopic.php?​id=24871+  * [[https://​debian-facile.org/​viewtopic.php?​id=24871]] 
 +  * [[https://​bugs.debian.org/​cgi-bin/​bugreport.cgi?​bug=833256|Le rapport de bug (en anglais) qui explique le pourquoi du comment du changement opéré pour Buster]] 
 +  * [[https://​bugs.debian.org/​cgi-bin/​bugreport.cgi?​bug=905409|Le rapport de bug (en anglais toujours) cité dans la note de version de Debian 10]] 
 +  * [[https://​debian-facile.org/​viewtopic.php?​pid=307289#​p307289]] 
 +  * [[https://​debian-facile.org/​viewtopic.php?​pid=305980#​p305980]]
  
doc/systeme/su.txt · Dernière modification: 21/04/2023 13:34 par --gilles--

Pied de page des forums

Propulsé par FluxBB