我希望/proc
使用该选项安装我的系统目录hidepid=1
。我知道一旦系统已经启动,我就可以使用sudo mount /proc -o remount,hidepid=1
.我怎样才能/proc
在启动时以这种方式安装?我习惯于添加这样的文件系统选项来/etc/fstab
执行此操作,但/proc
那里没有条目。如果可能的话,我希望在/proc
第一次安装时发生这种情况,而不是做一些像在/etc/rc.local
.
答案1
您应该创建一个自定义 initrd 映像。这就是/proc/
通常安装的地方。例如,在./init
我的文件中/initrd.img
:
mount -t sysfs -o nodev,noexec,nosuid sysfs /sys mount -t proc -o nodev,noexec,nosuid proc /proc
您应该在那里添加您的选项,然后使用 mkinitramfs(8) 重新打包 initrd。
另请注意,内核“命令行”中来自grub
/lilo
内核无法识别的所有选项都将传递给 init,因此您可以扫描"$@"
并在以这种方式传递的参数上/init
设置条件。hidepid
但我不相信这个hidepid
选择有任何价值。
注意:如果您不相信在使用 initrd 的情况下它是/init
(而不是/sbin/init
等)默认运行的,或者如果您在解压/打包 initramfs 映像时遇到困难,请随时询问有关该问题的另一个问题; -)
答案2
为了让用户只看到他们自己的进程(除了root可以看到一切)你需要编辑/etc/fstab
proc /proc proc defaults,hidepid=1 0 0
笔记:
hidepid=0
(默认):这是默认设置,并为您提供默认行为。hidepid=1
:使用此选项,普通用户将看不到其他进程,只能看到他们自己的 ps、top 等进程,但他仍然能够看到进程 ID/proc
hidepid=2
:用户只能看到自己的进程(如 hidepid=1),但其他进程 ID 也为他们隐藏/proc