Полуавтомат -ручная мода:
$ pstree -p PID
собрать PID из приведенного выше
$ lsof -p pid1,pid2,pid3,...
В качестве альтернативы можно перебрать вывод ps --ppid 1413 -o pid=
до тех пор, пока он не станет пустым, чтобы собрать список pid.
В вашем файле sudoers:
user ALL=(root) NOPASSWD: /usr/bin/vim /opt/my-application/some-file
Только в этой строке будет разрешено выполнение конкретной команды.
Но вы не можете изменить права доступа к каталогу (chmod или setfacl )? Или изменить значение umask по умолчанию?
Для доступа к файлу правильный путь — настроить разрешения, чтобы разрешить доступ к этому файлу. При необходимости настройте задание cron для ретроспективного применения разрешений и владельцев вновь созданных/измененных файлов.
Для конкретных требований (возможно перезапуск Apache/NginX ), напишите сценарий-оболочку, который вызывает сам себя через sudo
и выполняет соответствующие команды под строгим контролем.