Je sais que "n'utilise pas Sudo su -
", etc. Mais soyons honnêtes, nous le faisons presque tous.
Alors, voici le problème. Nous ne pouvons pas avoir les connexions root activées, nous devons donc entrer SSH en tant que notre utilisateur puis su root.
Voici l’arbre de processus:
1 7897 7826 7826 ? -1 S 1000 0:00 sshd: josh@pts/0
7897 7898 7898 7898 pts/0 8182 Ss 1000 0:00 \_ -bash
7898 7990 7990 7898 pts/0 8182 S 0 0:00 \_ Sudo su -
7990 7991 7990 7898 pts/0 8182 S 0 0:00 \_ su -
7991 7992 7992 7898 pts/0 8182 S 0 0:00 \_ -su
7992 8182 8182 7898 pts/0 8182 R+ 0 0:00 \_ ps axjf
Je voudrais sortir de la racine, puis de mon utilisateur avec une commande. Y a-t-il un moyen de faire cela?
BTW exit && exit ne fonctionne pas car il quitte le shell et ne traite pas le reste de la commande
josh@ubuntu:~$ Sudo su -
root@ubuntu:~# exit && exit
logout
josh@ubuntu:~$
Techniquement, personne n'a répondu à votre question. Je reconnais qu'ils pensent que leur chemin est meilleur (probablement), mais voici une autre approche (au cas où vous auriez à su -
un peu de temps et que vous auriez le même problème);
$ Sudo su -;exit
# echo "do things"
# exit
Lorsque vous quittez la racine, l'utilisateur d'origine se déconnecte également puisqu'il poursuit sa dernière commande.
À votre santé!
Il suffit de faire
exec Sudo -i
Maintenant, le shell racine remplace celui par défaut et lorsque vous quittez, vous quittez "les deux" (libellé incorrectement, car le premier shell cesse d'exister avec le exec
name__).
Regardez:
[romano:~] % ssh pern
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.19.0-28-generic x86_64)
* Documentation: https://help.ubuntu.com/
[romano@pern:~] % exec Sudo -i
[Sudo] password for romano:
root@pern:~# whoami
root
root@pern:~# pstree -a -s -l -p -u $$
init,1
└─sshd,1140 -D
└─sshd,17450
└─sshd,17570,romano
└─Sudo,17571,root -i
└─bash,17665
└─pstree,17678 -a -s -l -p -u 17665
root@pern:~# exit
logout
Connection to pern.XXX.XXX.XXX closed.
[romano:~] %
Je l’utilise beaucoup pour avoir un ssh
name __- ed terminal: utilisez exec ssh whatever
et quand vous quittez, le terminal se ferme.
quand vous devenez utilisateur root, tapez simplement ::
Sudo -s && exit
lorsque vous quitterez la racine, Shell se fermera automatiquement. vous pouvez exporter cette commande pour la rendre permanente.
echo "alias mysudo='Sudo -s; exit'" >> ~/.bashrc && source ~/.bashrc