Debian-facile

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

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

#1 02-02-2014 19:07:39

chtr
Membre
Distrib. : Jessie
Noyau : 3.2.0-4amd64
(G)UI : Gnome
Inscription : 30-06-2012
Site Web

su -c

Bonsoir tout le monde,


Ici http://debian-facile.org/topic-8255-car … age-1.html
smolski disait:


chr a écrit :

    Pourquoi certaines commandes sont indiquées "Ce code doit être dans un shell utilisateur simple"
    alors que je viens de constater que le résultat en root est identique?

Parce que lorsque qu'un fichier est ouvert à la lecture pour user, utiliser le terminal user pour le lire est recommandé pour la sécurité du système, root n'est utilisé que par obligation et non par commodité.
On ne dit pas à un âne de ne pas dévorer le boisseau d'avoine qu'on lui met sous le nez... cool

A noter que pour une commande unique qui nécessite root, il est recommandé d'utiliser su avec l'option -c comme ça :
su -c 'VotreCommandeUnique'

Afin de rester dans un terminal user à la fin de l'exécution de la commande.




J'ai pas bien capté l'interêt du su -c "commande".
Merci


Ma patrie c'est le monde, ma famille c'est l'humanité.

Hors ligne

#2 02-02-2014 19:15:21

smolski
administrateur quasi...modo
Lieu : AIN
Distrib. : 8 (jessie) 64 bits + backports
Noyau : 4.6.0-0.bpo.1-amd64
(G)UI : gnome 3.14.1
Inscription : 21-10-2008

Re : su -c

C'est pour ne pas ouvrir un terminal root alors que tu en t'en sers que pour une seule commande.
L'intérêt aussi c'est si vous êtes plusieurs sur le même pc, l'admin intervient sur une seule commande root mais ne laisse pas l'accès root à d'autres en suivant. smile

Dernière modification par smolski (02-02-2014 20:15:04)


"Définition d'eric besson : S'il fallait en chier des tonnes pour devenir ministre, il aurait 2 trous du cul." - JP Douillon
"L'utopie ne signifie pas l'irréalisable, mais l'irréalisée." - T Monod (source :  La zone de Siné)
"Je peux rire de tout mais pas avec n'importe qui." - P Desproges
"saque eud dun" (patois chtimi : fonce dedans)

Hors ligne

#3 02-02-2014 19:20:32

chtr
Membre
Distrib. : Jessie
Noyau : 3.2.0-4amd64
(G)UI : Gnome
Inscription : 30-06-2012
Site Web

Re : su -c

Merci beaucoup, voila qui est clair.

Ma patrie c'est le monde, ma famille c'est l'humanité.

Hors ligne

#4 02-02-2014 20:21:48

nifseg
Adhérent(e)
Lieu : Dans une forêt
Distrib. : Debian Wheezy + Jessie
Noyau : 3.2.0-4-amd64 + 3.16.0-4-686-pae
(G)UI : Gnome/Mate/Cinnamon
Inscription : 15-12-2013

Re : su -c

D'ailleurs sur Fedora par exemple, c'est une commande qui est très utilisé en remplacement de sudo.

L'important n'est pas la chute mais l'atterrissage...
Chapardeur de chocolat DF!!!
Admin un jour, admin toujours...

Hors ligne

#5 02-02-2014 21:04:49

nifseg
Adhérent(e)
Lieu : Dans une forêt
Distrib. : Debian Wheezy + Jessie
Noyau : 3.2.0-4-amd64 + 3.16.0-4-686-pae
(G)UI : Gnome/Mate/Cinnamon
Inscription : 15-12-2013

Re : su -c

Par contre si tu veux ouvrir une application graphique en root, utilise plutot :

gksu ton_appli


L'important n'est pas la chute mais l'atterrissage...
Chapardeur de chocolat DF!!!
Admin un jour, admin toujours...

Hors ligne

#6 15-02-2014 21:57:23

laguespa
Membre
Distrib. : Jessie
Noyau : 4.2.0-0.bpo.1-amd64
(G)UI : Mate
Inscription : 25-09-2009

Re : su -c

Ben moi qui croyais qu'il fallait éviter d'ouvrir des applications graphiques en root...

"Ce serait peut-être l’une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d’autre que du code."

Hors ligne

#7 18-02-2014 15:44:47

LeDub
Membre
(G)UI : XFCE
Inscription : 18-02-2014

Re : su -c

Bonjour,

Pour ma part, j'utilise beaucoup de "gksu" pour lancer un terminal "root".
laguespa, pour lancer gparted, "gksu" est très pratique.

Je sais ce que je fais ! J'accepterai les conséquences de mes conneries et ne tiendrai pas responsable l'auteur d'une documentation.

De même que je ne supporte plus de voir des documentations bourrées de "sudo".

Si une action doit être faite avec les droits d'administration alors on passe "root" avec "gksu", "su" ou encore "sudo" et la documentation mentionne un "#" !

L'administration système d'un linux est une histoire de compétences, d'expérience et d'erreurs. Ce n'est pas qu'une commande "sudo" à lancer.

LeDub qui préfère le "#" à un "sudo"

Hors ligne

#8 18-02-2014 15:55:46

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : su -c

« # » étant un symbole pas spécifiquement standard (pas plus que $ d'ailleurs), nous l'ommetons et utilisons des codes couleurs :

commande à lancer en root


commande à lancer en user


smile


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#9 20-02-2014 06:31:16

nifseg
Adhérent(e)
Lieu : Dans une forêt
Distrib. : Debian Wheezy + Jessie
Noyau : 3.2.0-4-amd64 + 3.16.0-4-686-pae
(G)UI : Gnome/Mate/Cinnamon
Inscription : 15-12-2013

Re : su -c

laguespa a écrit :

Ben moi qui croyais qu'il fallait éviter d'ouvrir des applications graphiques en root...


Sa dépent laguespa, ya pas vrt de règles.
Si tu veux utiliser wireshark ou clamav...et bien d'autres il faut que tu passe en root

D'ailleurs quand tu ouvres synaptic par exemple, on te demande toon mot de passe root et là c'est l'équivalent d'une commande précédé de gksu.

Dernière modification par nifseg (20-02-2014 06:34:24)


L'important n'est pas la chute mais l'atterrissage...
Chapardeur de chocolat DF!!!
Admin un jour, admin toujours...

Hors ligne

#10 20-02-2014 10:34:18

laguespa
Membre
Distrib. : Jessie
Noyau : 4.2.0-0.bpo.1-amd64
(G)UI : Mate
Inscription : 25-09-2009

Re : su -c

Effectivement. J'avoue que je n'avais jamais utilisé gksu auparavant.
Une question bête sûrement : quel intérêt d'ouvrir une application en root avec gksu ?

A+

"Ce serait peut-être l’une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d’autre que du code."

Hors ligne

#11 20-02-2014 10:36:22

bendia
Admin stagiaire
Distrib. : Jessie
Noyau : 3.16.0-4-amd64
(G)UI : Gnome + XFCE + Console
Inscription : 20-03-2012
Site Web

Re : su -c

Bonjour

Ben Synaptic, gparted par exemple, ont besoin des droits superutilisateur pour faire leur boulot smile

En gros, les interfaces graphiques aux outils d'administration

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
file-Re06858991f6f328b4907296ac5cea283

Hors ligne

#12 20-02-2014 12:04:49

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : su -c

gksu te permet de lancer une appli en root sans tout casser smile

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#13 20-02-2014 12:19:57

laguespa
Membre
Distrib. : Jessie
Noyau : 4.2.0-0.bpo.1-amd64
(G)UI : Mate
Inscription : 25-09-2009

Re : su -c

Ok, j'ai bien compris que des applications comme gparted ou synaptic ou encore firestarter demandaient des droits root pour ?tre lancées. Toutefois, du moins chez moi, elles ne requièrent pas l'utilisation de gksu dans un terminal. De ce fait, la question que je me pose, c'est  à quoi peut servir de lancer un logiciel qui n'a pas besoin des droits root avec gksu comme un client messagerie par exemple. Je me pose cette question parce que je sais que lancer une application dans un terminal utilisateur va donner des retours qu'on ne voit pas si on le lance en graphique via le menu Applications. Je me dis que ça pourrait peut-être servir dans le cas où on rencontrerait un problème au lancement de l'appli. Dans mon esprit ça pourrait révéler une histoire de permissions inappropriées pour l'utilisateur. Je vois surtout ça dans une perspective de résolution de panne mais j'imagine qu'il doit y avoir d'autres raisons.

A+

"Ce serait peut-être l’une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d’autre que du code."

Hors ligne

#14 20-02-2014 12:22:33

david96
Invité

Re : su -c

captnfab a écrit :

gksu te permet de lancer une appli en root sans tout casser smile


gksu : primer le système.  —> tongue

Dernière modification par Invité-2 (20-02-2014 12:23:11)

#15 20-02-2014 12:24:21

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : su -c

@laguespa: si tu ne lances pas gparted en root, tu ne pourras pas toucher aux disques durs internes. C'est une question de droits.

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#16 20-02-2014 12:24:36

laguespa
Membre
Distrib. : Jessie
Noyau : 4.2.0-0.bpo.1-amd64
(G)UI : Mate
Inscription : 25-09-2009

Re : su -c

Ok, j'avais bien compris que synaptic ou gparted demandaient d'être lancés en root. Toutefois pas avec gksu dans un terminal. Donc, la question que je me pose c'est quel est l'utilité de lancer une application qui normalement se lance en user avec gksu. Je me disais que ça pouvait servir à se dépanner si une appli ne se lance pas pour une histoire de permissions inappropriées. Toutefois j'imagine qu'il doit y avoir d'autres raisons. C'est pour ça que je posais la question.

A+

"Ce serait peut-être l’une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d’autre que du code."

Hors ligne

#17 20-02-2014 12:31:12

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : su -c

synaptic utilise un mécanisme d'élévation de privilège en te demandant le pass root au milieu.
gparted utilise PolicyKit pour donner à ton utilisateur les CAPabilities nécessaires pour modifier le disque.
Si tu lances gparted via gksu, tu passe via l'élévation de privilège standard.

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#18 20-02-2014 14:13:47

LeDub
Membre
(G)UI : XFCE
Inscription : 18-02-2014

Re : su -c

captnfab a écrit :

synaptic utilise un mécanisme d'élévation de privilège en te demandant le pass root au milieu.
gparted utilise PolicyKit pour donner à ton utilisateur les CAPabilities nécessaires pour modifier le disque.
Si tu lances gparted via gksu, tu passe via l'élévation de privilège standard.


Avant d'apprendre, j'aime comprendre !
Qui ou quoi te fait affirmer cela ?
Les binaires de gparted et de synaptic sont dans /usr/sbin/ donc en dehors du contenu de la variable PATH d'un simple utilisateur.

Cependant il existe, dans /usr/bin/, des scripts -pkexec qui lancent avec les privilèges 'root' les binaires qui vont bien.

$ type gparted-pkexec synaptic-pkexec
gparted-pkexec est /usr/bin/gparted-pkexec
synaptic-pkexec est haché (/usr/bin/synaptic-pkexec)

$ cat /usr/bin/gparted-pkexec
#!/bin/sh
pkexec "/usr/sbin/gparted" "$@"

$ cat /usr/bin/synaptic-pkexec
#!/bin/sh
pkexec "/usr/sbin/synaptic" "$@"

# type synaptic gparted
synaptic est /usr/sbin/synaptic
gparted est /usr/sbin/gparted



/usr/sbin/gparted est lui-même un script qui lance /usr/sbin/gpartedbin.
Voici un file sur ces 3 fichiers.

# file /usr/sbin/synaptic /usr/sbin/gparted /usr/sbin/gpartedbin
/usr/sbin/synaptic:   ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x1dbc721d9863f48b1e7f762848f289664abb946d, stripped
/usr/sbin/gparted:    POSIX shell script, ASCII text executable
/usr/sbin/gpartedbin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xb2f8ff80ffc203b1e111ef1f14b287e1c397c096, stripped



Comment puis-je savoir que l'un utilise l'élévation de privilèges et l'autre policykit

LeDub content de retrouver un forum comme pouvait l'être Andesi à la bonne époque !

Hors ligne

#19 20-02-2014 19:54:15

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : su -c

LeDub a écrit :

Les binaires de gparted et de synaptic sont dans /usr/sbin/ donc en dehors du contenu de la variable PATH d'un simple utilisateur.


Ce qui, nous sommes d'accord, n'empêche en rien les utilisateurs de les exétuter.

LeDub a écrit :

Cependant il existe, dans /usr/bin/, des scripts -pkexec qui lancent avec les privilèges 'root' les binaires qui vont bien.


Mais contrairement à su ou sudo, la vérification se fait via PolicyKit. C'est le pk de pkexec smile
Cela signifie que cela peut s'inscrire dans une stratégie de gestion plus fine des privilèges.

LeDub a écrit :

Comment puis-je savoir que l'un utilise l'élévation de privilèges et l'autre policykit


En fait, dans les deux cas il y a élévation de privilèges.
Pour su, sudo, pkexec, tu peux remarquer en affichant leurs droits avec stat par exemple qu'ils ont le bit setuid d'activé. Cela signifie que les applications s'exécutent avec les droits du propriétaire de l'application, c'est à dire, ici, root.

Par contre, les mécanismes d'authentification sont très différents. su (sans préciser d'autre nom d'utilisateur) vérifie que le pass entré est le pass root, sudo (dans sa configuration par défaut) vérifie que le pass entré est le pass utilisateur et que l'utilisateur est légitime pour le fichier sudoers.
pkexec va, lui, demander à policykit quels sont les privilèges (dans le système de privilège de PolicyKit) nécessaires pour exécuter la commande (de partitionnement par exemple). Il va trouver cela dans le fichier /usr/share/polkit-1/actions/com.ubuntu.pkexec.gparted.policy, toujours si l'on s'intéresse au cas de gparted.
Il y verra qu'il faut être membre du groupe (au sens PolicyKit) admins, lequel est défini dans /etc/polkit-1/localauthority.conf.d/51-debian-sudo.conf comme étant composé des membres du groupe (au sens UNIX) sudo.

Je pensais que synaptic permettait une élévation de privilège pendant l'exécution, mais visiblement pas. Par contre, la logithèque le fait dans mes souvenirs. Étant donné qu'elle n'est pas setuid, elle doit forker et exécuter un programme d'installation setuid. Après vérification, elle utilise policykit elle aussi, et échoue lamentablement sur mon système, tentant probablement (via un appel dbus) de demander à apt-daemon de faire l'installation.

La plupart des infos peut être devinée depuis les logs smile


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

Pied de page des forums