Я пытаюсь ввести ограничение для procfs, например, чтобы только определенные группы участников могли выполнять действия чтения и записи.
документ ядраговорит, что мы можем сделать это, установив hidepid
и gid
в /etc/fstab
. Это ограничит возможности злонамеренного пользователя читать и писать в procfs, но я сомневаюсь, что злонамеренный пользователь (ограниченный в /etc/fstab
) сможет получить доступ к содержимому в profs, используя системный вызов вместо операций fs, таких как чтение и запись.
решение1
/proc
являетсяинтерфейс между ядром и пользовательским пространством для всего его содержимого, и большая часть этого содержимого недоступна никаким другим способом (для содержимого в каталогах pid, за пределами этого процесса). Поэтому hidepid=2
он эффективен для сокрытия информации, такой как командная строка процесса и среда, от других пользователей.
Некоторая информация может быть определена через побочные эффекты. Например, существование процесса с заданным pid может быть определено путем попытки его уничтожить с сигналом 0: kill()
не выполняется, ESRCH
если процесс не существует, EPERM
если вызывающий процесс не имеет нужных прав. Аналогично открытые порты могут быть определены путем попытки подключения к ним.