Привилегированный пользователь убивает пользовательские процессы

Можем ли мы сделать следующее на *NIX.

  1. Создайте следующую структуру папок.

    /<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.
    
  2. Двоичные файлы процессов, сохраненные в дочерних папках, запускаются соответствующими владельцами дочерних папок.

    /<parent folder>/<child folder 2>/<process binary> is started by user 2.  Say the process started has a PID of 3897.
    
  3. Как отдельные пользователи, так и основной пользователь могут уничтожить дочерние процессы.

    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".

Другие вопросы по тегам