Привилегированный пользователь убивает пользовательские процессы
Можем ли мы сделать следующее на *NIX.
Создайте следующую структуру папок.
/<parent folder>/<child folder 1> /<parent folder>/<child folder 2> /<parent folder>/<child folder 3> /<parent folder>/<child folder 4> where <parent folder> is owned by master user, and .... <child folder 1> is owned by user 1, <child folder 2> is owned by user 2, <child folder 3> is owned by user 3, <child folder 4> is owned by user 4.
Двоичные файлы процессов, сохраненные в дочерних папках, запускаются соответствующими владельцами дочерних папок.
/<parent folder>/<child folder 2>/<process binary> is started by user 2. Say the process started has a PID of 3897.
Как отдельные пользователи, так и основной пользователь могут уничтожить дочерние процессы.
kill 3897 can be done by either master user or user 2, but not user 1, user 3, and user 4.
2 ответа
Да.
Предполагая, что под "основным пользователем" вы подразумеваете root, именно так все и работает по умолчанию. Если вы имеете в виду что-то отличное от root, то вам нужно настроить доступ для этого пользователя для запуска kill, как для других пользователей, с помощью такого инструмента, как sudo.
/ home принадлежит пользователю root, домашние каталоги отдельных пользователей принадлежат этому человеку в каталоге / home.
Владелец процесса и root могут убить этот процесс.
Я думаю, что нашел ответ. Это требует от нас написания скрипта для уничтожения этих процессов, а затем chmod, чтобы этот скрипт выполнялся только "root". Затем добавьте строку в файл sudoer, чтобы "основной пользователь" мог вызвать этот скрипт и выполнить его как "root".