Как проследить процесс до исходного пользователя?

 sed -r 's/([^John] )Smith/\1John/g;s/([^Jane] )Johnson/\1Jane/g'

() получит non-Firstname перед LastName, таким образом, они - backref'd в замене.

Править

@manatwork, gilles

Вы правы. Как насчет

sed -r 's/(John Smith)/temp1/g;s/Smith/John/g;s/temp1/John Smith/g'

Это, кажется, добивается цели.

3
01.03.2011, 15:40
2 ответа

существуют команды для генерации дерева процесса. 'PS' выбирает варианты 'fu', и я думаю, что солнце имеет B-дерево.

1
27.01.2020, 21:32
  • 1
    Спасибо за указание на меня к B-дереву. Это действительно давало ободрительные результаты. От дерева процесса, с небольшой работой предположения, я смог проследить до фактического пользователя. Но я не уверен, что этот процесс - /usr/lib/ssh/sshd. Я услышал о ssh но нет sshd. –  Srikanth 03.03.2011, 23:47
  • 2
    sshd будет ssh deamon.. sth, который говорит к ssh, который находится на клиентском сайте.. точно так же, как у Вас есть http сервер... –  vrdhn 04.03.2011, 03:12

Нет никакого стандартного пути, и насколько я знаю, что нет никакого Соляриса пути также. Если бы был надежный способ узнать пользователя “предка”, то обычная модель обеспечения безопасности Unix, где корень может сделать все, не содержала бы.

Можно проверить родителя каждого процесса рекурсивно. (Предупреждение, непротестированный сценарий.)

pid=$1 pids=$pid user=
while pid=$(ps -o ppid= $pid); do
  user=$(ps -o ruser= $pid)
  case $user in
    0|root) :;;
    *) break;;
  esac
done
echo $user

Это, как гарантируют, не даст результата, все же. Возможно, родительский процесс родителя родителя вышел.

Можно проверить, какой терминал процесс выполняет (ps -o tty= $pid) и проверьте, кто продержался, вошел в систему на том терминале (who, last). Это только показательно, хотя: корень может запустить процессы на любом терминале.

Что делает Вы ожидаете видеть, работает ли user1 su user2 -c 'su user1 -c …'? Возможно, что ОС отследила бы последовательные цепочки аутентификации в структурах данных ядра, связанных с процессом, но это очень далеко от обычной модели обеспечения безопасности Unix.

0
27.01.2020, 21:32

Теги

Похожие вопросы