comment savoir dans quel répertoire un utilisateur sudo travaille si je suis un utilisateur root


1

Est-il possible d’obtenir quel utilisateur de sudo travaille dans quel répertoire sur quel fichier?

Y at-il un fichier qui montre les détails du répertoire de travail en cours de tous les utilisateurs sudo.

Réponses:


4

Vous pouvez utiliser pgrep sudopour obtenir tous les processus sudo, puis ps h --ppid $THEPID -o pidpour obtenir ses processus enfants et enfin pwdx $SUBPIDpour obtenir le répertoire de travail de ces sous-processus.

Vous pouvez enfin résumer en deux boucles for, qui pourraient ressembler à ceci:

for sudo in `pgrep sudo`; do
 sudo pwdx $sudo;
 for subsudo in `ps h --ppid $sudo -o pid`; do
   sudo pwdx $subsudo
 done
done

Étant donné que vous n'obtenez qu'une génération de processus enfants à chaque appel ps, les numéros de processus des processus enfants doivent être obtenus de manière récursive. Le script suivant fait ceci:

#!/bin/bash

function getchildren()
{
  echo $1
  children=`ps h --ppid $1 -o pid`
  if [[ -n $children ]]; then
   for child in $children; do
     getchildren $child
   done
  fi
}


for sudo in `pgrep sudo`; do
 for subsudo in `getchildren $sudo`; do
   sudo pwdx $subsudo
 done
done | sort | uniq

La sortie est triée et les doubles lignes sont supprimées au cas où quelqu'un exécuterait un sudoprocessus depuis une sudo susession.

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.