script qui démarre un autre script en tant qu'utilisateur, comment supprimer le processus su?


0

J'ai un script bash sur Fedora Linux, que je lance en tant qu'utilisateur root, qui lance un autre script en tant qu'utilisateur moins privilégié rpmbuild.

#!/bin/sh
# start as another user, fork
su rpmbuild -c ./long.sh &
# disown  the job
disown
# run some other long running things. 

Contenu de long.sh

#!/bin/sh

sleep 300

Maintenant, qu'est-ce qui se passe si vous faites un ps aux:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        67  0.0  0.0  81884  4080 ?        S    12:42   0:00 su rpmbuild -c ./long.sh
rpmbuild    68  0.0  0.0   9512  2340 ?        Ss   12:42   0:00 /bin/sh ./long.sh
rpmbuild    69  0.0  0.0   4316   628 ?        S    12:42   0:00 sleep 300

Comment puis-je me débarrasser du processus 67, le su rpmbuild, de sorte qu'il ne rpmbuildreste que le processus?

Ou ai-je besoin d'un autre outil?

Ce serait bien, si ceux-ci su(beaucoup d’entre eux dans la liste des processus) disparaissaient.

Réponses:


0

Vous pouvez exécuter sudo (ou su -) pkill 67 et / ou utiliser sudo su - $ (nom d'utilisateur) pour l'exécuter, ce qui devrait automatiquement désavouer et désescalader les autorisations du ou des script (s). l'exécuter montrera un court - nohup iirc.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.