Назад | Перейти на главную страницу

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

можем ли мы сделать следующее на * 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.
    

Да.

Предполагая, что под «главным пользователем» вы имеете в виду root, так все работает по умолчанию. Если вы имеете в виду что-то другое, кроме root, вам необходимо настроить доступ для этого пользователя, чтобы он запускал kill от имени других пользователей с помощью такого инструмента, как sudo.

/ home принадлежит пользователю root, домашние каталоги отдельных пользователей принадлежат этому человеку в / home.

Владелец процесса и корень могут убить этот процесс.

Думаю, я нашел ответ. Это требует, чтобы мы написали сценарий, чтобы убить эти процессы, а затем выполнить chmod этот сценарий, чтобы он мог быть выполнен только "root". Затем добавьте строку в файл sudoer, чтобы «главный пользователь» мог вызвать этот сценарий и выполнить его как «root».