#1 Le 10/01/2013, à 22:28
- Hizoka
lancer une commande root avec droit user
Bonsoir,
Je voulais savoir s'il était possible lorsque l'on est en root (principalement dans un script) d'executer une commande en precisant le nom de l'user afin de ne pas avoir les droits roots dessus.
Je lance donc un script en sudo
sudo script.sh
....
# Je voudrais lancer la commande sous le nom de l'user hizoka
hizoka chromium-browser
....
merci a vous
Dernière modification par Hizoka (Le 10/02/2013, à 11:25)
Kubuntu 17.04 64bits
GUI d'extraction de piste de fichier mkv -- Generateur de code de screencast -- Jeu de type Qui est-ce ? -- commande HizoSelect
Hors ligne
#2 Le 10/01/2013, à 22:43
- nesthib
Re : lancer une commande root avec droit user
sudo -u hizoka …
et pour une appli graphique sous GNOME :
gksudo -u hizoka …
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#3 Le 10/01/2013, à 22:44
- xavier4811
Re : lancer une commande root avec droit user
Bonsoir,
avec su ?
# su hizoka -c 'chromium-browser'
Hors ligne
#4 Le 10/01/2013, à 22:47
- Hizoka
Re : lancer une commande root avec droit user
parfait !
merci à vous deux
Kubuntu 17.04 64bits
GUI d'extraction de piste de fichier mkv -- Generateur de code de screencast -- Jeu de type Qui est-ce ? -- commande HizoSelect
Hors ligne
#5 Le 10/02/2013, à 11:25
- Hizoka
Re : lancer une commande root avec droit user
je relance ce topic car je rencontre un soucis.
lancer un commande avec
sudo -u hizoka ssh root@XX.XX.XXX.XXX
n'est pas equivalent à
ssh root@XX.XX.XXX.XXX
car il considere que l'un est lancé par root et l'autre par hizoka.
de ce fait le 1er demande le mdp d'acces au serveur alors que le2e demande la passphrase liée a la paire de clé.
une idée de comment detourner ca ?
Ex :
sudo -su
sudo -u hizoka echo "$USER et $SUDO_USER"
=> root et hizoka
USER reste root...
Dernière modification par Hizoka (Le 10/02/2013, à 11:50)
Kubuntu 17.04 64bits
GUI d'extraction de piste de fichier mkv -- Generateur de code de screencast -- Jeu de type Qui est-ce ? -- commande HizoSelect
Hors ligne
#6 Le 10/02/2013, à 13:35
- xavier4811
Re : lancer une commande root avec droit user
Je me répete mais ...
# whoami
root
# su xavier -c'echo "$USER et $SUDO_USER"'
xavier et xavier
Hors ligne
#7 Le 11/02/2013, à 08:07
- Hizoka
Re : lancer une commande root avec droit user
Il est vrai que ca renvoie bien le nom de l'USER mais ca coince de la meme facon avec ssh.
je lance mon script en user hizoka :
# Pour que la pass phrase soit chargée par kwallet
ssh-add </dev/null
# Copie d'un dossier serveur sur mon pc
rsync -e ssh -avz --delete-after ${user}@${new_ip}:/home/save/* /home/hizoka/Save/
...
=> sent 5619 bytes received 15787660 bytes 957168.42 bytes/sec
=> total size is 14694437174 speedup is 930.42
et maintenant avec root (et su hizoka -c) :
su hizoka -c "rsync -e ssh -avz --delete-after ${user}@${new_ip}:/home/save/* /home/hizoka/Save/"
Could not open a connection to your authentication agent.
Enter passphrase for key '/home/hizoka/.ssh/id_rsa':
c'est assez dommage quand même, mais ça doit être une securité...
Dernière modification par Hizoka (Le 11/02/2013, à 08:08)
Kubuntu 17.04 64bits
GUI d'extraction de piste de fichier mkv -- Generateur de code de screencast -- Jeu de type Qui est-ce ? -- commande HizoSelect
Hors ligne
#8 Le 11/02/2013, à 21:56
- xavier4811
Re : lancer une commande root avec droit user
Y pas une option -l ou --login pour su ?
J ai rien sous la main pour verifier.
EDIT
-------------------------------------------------
y a bien une option -l ou --login a essayer. avec-l c'est un shell de login, et pas un sous shell -> SHLVL=1 || 2
d'ou la forme su - [root]
# su -l xavier -c'env' > /home/xavier/avecl.txt
# su xavier -c'env' > /home/xavier/sansl.txt
# diff -yB --suppress-common-lines --suppress-blank-empty /home/xavier/avecl.txt /home/xavier/sansl.txt
SHELL=/bin/bash <
XDG_SESSION_COOKIE=a5b4a22003f9fae0b2dba63d000003ff-136062086 | SHELL=/bin/bash
> XDG_SESSION_COOKIE=a5b4a22003f9fae0b2dba63d000003ff-136062086
> LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=0
> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games | _=/usr/bin/env
PWD=/home/xavier | PWD=/root
SHLVL=1 <
> SHLVL=2
> LESSOPEN=| /usr/bin/lesspipe %s
XAUTHORITY=/home/xavier/.Xauthority | LESSCLOSE=/usr/bin/lesspipe %s %s
_=/usr/bin/env | XAUTHORITY=/home/xavier/.Xauthority
Dernière modification par xavier4811 (Le 12/02/2013, à 00:30)
Hors ligne
#9 Le 12/02/2013, à 16:14
- Hizoka
Re : lancer une commande root avec droit user
toujours le meme probleme.
Il ne considere pas que c'est lancé par l'user hizoka...
tant pis je laisse tomber...
je ferais une verification qui bloque le lancement de la commande en root.
Dernière modification par Hizoka (Le 12/02/2013, à 16:15)
Kubuntu 17.04 64bits
GUI d'extraction de piste de fichier mkv -- Generateur de code de screencast -- Jeu de type Qui est-ce ? -- commande HizoSelect
Hors ligne
#10 Le 24/02/2013, à 14:03
- Hizoka
Re : lancer une commande root avec droit user
En fait, il semblerait que le soucis vienne de ssh-add :
su -l hizoka -c 'ssh-add </dev/null'
Could not open a connection to your authentication agent.
su hizoka -c 'ssh-add </dev/null'
Could not open a connection to your authentication agent.
sudo -u hizoka ssh-add </dev/null
Could not open a connection to your authentication agent.
ssh-add
Could not open a connection to your authentication agent.
je vais donc chercher dans cette direction !
Dernière modification par Hizoka (Le 24/02/2013, à 14:08)
Kubuntu 17.04 64bits
GUI d'extraction de piste de fichier mkv -- Generateur de code de screencast -- Jeu de type Qui est-ce ? -- commande HizoSelect
Hors ligne