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

Скрытие процессов других пользователей сверху

Я запускаю сервер Debian и даю доступ к оболочке нескольким друзьям. Я бы хотел скрыть запущенные процессы от этих обычных пользователей, чтобы, например, top показывает только их собственные процессы, а не что-либо запущенное кем-то другим. Очевидно, что root должен видеть все процессы.

Как бы я это сделал? Я видел это в действии на многих общих службах хостинга, которые предлагают учетные записи оболочки, но не нашел способа сделать это сам.

Только с линуксом это невозможно. С помощью SeLinux или GrSecurity вы можете «спрятать» (фактически, не дать ему доступа) процессы между пользователями. Это немного сложно, но возможно.

Быстрый и простой способ, но не пуленепробиваемый, - дать им псевдоним в их ~ / .bashrc (или соответствующем файле запуска / псевдонима для конкретной оболочки), который просто запускается сверху, глядя на их собственное имя пользователя:

alias top="top -u $USER"

Это ничего не делает для ps или, конечно, но кроме помещения пользователей в среду chroot или jail, или selinux, как упоминал Саккс, вы мало что можете сделать, чтобы скрыть от них систему.

Если вас не интересует SELinux, вы можете возможно получить некоторую поддержку в решении этой проблемы, проявив творческий подход с разрешениями на подкаталоги PID в / proc /, но необходимо провести массовое тестирование.

Есть опция командной строки -U

Мониторинг пользователем как: -U кто-то Мониторинг только процессов с UID или именем пользователя, совпадающим с указанным. Это соответствует реальному, действующему, сохраненному UID и идентификаторам файловой системы.

или -u

Наблюдать за пользователем как: -u something Отслеживать только процессы с эффективным UID или именем пользователя, совпадающим с указанным.

Я не знаю, как вы эффективно применяете это к пользователям, имеющим доступ к командной строке. Учитывая, что у пользователей есть доступ к командной строке, они в любом случае могут использовать множество других инструментов, чтобы видеть процессы других людей.