Существует сценарий Perl, который должен запускаться от имени пользователя root, но мы должны убедиться, что пользователь, который запускает сценарий, не вошел в систему как пользователь 'foo', так как он будет удален во время выполнения сценария.
Итак, как я могу узнать, не пользователь, который мог несколько раз подать запрос с тех пор, как он вошел в систему, не выдавал себя за 'foo' в этой цепочке?
Я нашел интересный сценарий perl, который вызывал следующие два сценария оболочки, но я думаю, что он будет работать только на Solaris.
my $shell_parent =
`ps -ef | grep -v grep | awk \'{print \$2\" \"\$3}\' | egrep \"^@_\" | awk \'{print \$2}'`;
my $parent_owner =
`ps -ef | grep -v grep | awk \'{print \$1\" \"\$2}\' | grep @_ | awk \'{print \$1}\'`;
Это должно работать как на Linux, так и на Solaris, и я бы предпочел исключить повторные вызовы оболочки и сохранить все это в Perl.