Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

variables d'environnement avec su

5 réponses
Avatar
Sebastien Kirche
Bonsoir,

je ne l'avais pas remarqué jusqu'à présent, mais lorsque je passe en root
avec su (Linux Debian), une partie de mon environnement précédent reste.

Notamment CDPATH, MAIL, LOGNAME.

Ça me fait des embêtements avec Emacs qui cherche à charger la configuration
propre à l'utilisateur seki qui appelle des fichiers propres à /home/seki et
qui ne sont pas dans /root

Cela se passe sur mon pare-feu où je me connecte en ssh mais j'ai désactivé
le login de root pour ssh.
Y a-t-il un autre moyen de «devenir quelqu'un d'autre» qu'avec su ? Ou alors
de nettoyer les portions de l'environnement qui n'appartient pas à root ?

Le man de su ne m'a pas tellement aidé : en fait je cherche à faire
l'inverse du switch --preserve-environment

Je rate quelque chose ?

Sébastien Kirche

5 réponses

Avatar
Nicolas George
Sebastien Kirche wrote in message :
Y a-t-il un autre moyen de «devenir quelqu'un d'autre» qu'avec su ?


sudo

Par défaut, il préserve une grande partie de l'environnement, plus que su.
En pratique, si la config n'est pas trop buggée, le résultat est qu'on
utilise ses propres fichiers de config de manière transparente. C'est très
pratique.

Ou alors
de nettoyer les portions de l'environnement qui n'appartient pas à root ?


su -

C'est un peu plus violent (ça réinitialise aussi le répertoire courant),
mais c'est ce qui est prévu.

Avatar
Sebastien Kirche
Le 21 Oct 2004, Nicolas George a dit :

Sebastien Kirche wrote in message :
Y a-t-il un autre moyen de «devenir quelqu'un d'autre» qu'avec su ?


sudo


Oui, mais non. C'est valable pour une commande ou deux, mais ça devient
lourd pour faire toute une session d'administration.


Par défaut, il préserve une grande partie de l'environnement, plus que su.
En pratique, si la config n'est pas trop buggée, le résultat est qu'on
utilise ses propres fichiers de config de manière transparente. C'est très
pratique.

Ou alors
de nettoyer les portions de l'environnement qui n'appartient pas à
root ?


su -

C'est un peu plus violent (ça réinitialise aussi le répertoire courant),
mais c'est ce qui est prévu.


Ah, ça je n'ai jamais essayé. Je vais voir ce soir.

Merci du tuyau.

Sébastien Kirche


Avatar
Sebastien Kirche
Le 21 oct 2004, Sebastien Kirche a dit :

su -

C'est un peu plus violent (ça réinitialise aussi le répertoire courant),
mais c'est ce qui est prévu.


Ah, ça je n'ai jamais essayé. Je vais voir ce soir.


Simple mais efficace :)
Les variables d'environnement de seki qui polluaient root disparaissent.

Merci.

Sébastien Kirche


Avatar
Pascal Bourguignon
Sebastien Kirche writes:

Bonsoir,

je ne l'avais pas remarqué jusqu'à présent, mais lorsque je passe en root
avec su (Linux Debian), une partie de mon environnement précédent reste.

Notamment CDPATH, MAIL, LOGNAME.

Ça me fait des embêtements avec Emacs qui cherche à charger la configuration
propre à l'utilisateur seki qui appelle des fichiers propres à /home/seki et
qui ne sont pas dans /root

Cela se passe sur mon pare-feu où je me connecte en ssh mais j'ai désactivé
le login de root pour ssh.
Y a-t-il un autre moyen de «devenir quelqu'un d'autre» qu'avec su ? Ou alors
de nettoyer les portions de l'environnement qui n'appartient pas à root ?

Le man de su ne m'a pas tellement aidé : en fait je cherche à faire
l'inverse du switch --preserve-environment

Je rate quelque chose ?


L'option '-' de su:
su - user
au lieu de:
su user

Ah oui, en passant pour les fanas de sudo, su permet lui de passer sur
le compte d'un utilisateur non root.

Par exemple, si le serveur apache est configuré pour fonctionner sur
le compte web, il vaut mieux faire su - web que sudo pour gérer le
serveur apache.

--
__Pascal Bourguignon__ http://www.informatimago.com/

Voting Democrat or Republican is like choosing a cabin in the Titanic.

Avatar
Nicolas George
Pascal Bourguignon wrote in message
:
Ah oui, en passant pour les fanas de sudo, su permet lui de passer sur
le compte d'un utilisateur non root.

Par exemple, si le serveur apache est configuré pour fonctionner sur
le compte web, il vaut mieux faire su - web que sudo pour gérer le
serveur apache.


Et sudo -u web, c'est encore mieux, je trouve. Avec éventuellement un alias
shell si on le fait souvent, c'est parfaitement confortable.