อ้างอิงถึงเคอร์เนลแพทช์http://git.kernel.org/cgit/linux/kernel/gable/linux-stable.git/commit/?id=0499680a42141d86417a8fbaa8c8db806bea1201:คุณสามารถใช้ตัวเลือก hidepid สำหรับระบบไฟล์ proc:
hidepid = 0 (ค่าเริ่มต้น) หมายถึงพฤติกรรมเก่า - ทุกคนสามารถอ่านไฟล์ / proc / PID / * ที่อ่านได้ทั่วโลกทั้งหมด
hidepid = 1 หมายถึงผู้ใช้ไม่สามารถเข้าถึงไดเรกทอรี / proc // ใด ๆ แต่เป็นของตนเอง ไฟล์ที่ละเอียดอ่อนเช่น cmdline, sched *, สถานะจะได้รับการปกป้องจากผู้ใช้รายอื่น เนื่องจากการตรวจสอบสิทธิ์ที่ทำใน proc_pid_permission () และการอนุญาตของไฟล์ไม่ได้ถูกแตะต้องโปรแกรมที่คาดว่าโหมดของไฟล์จะไม่สับสน
hidepid = 2 หมายถึง hidepid = 1 plus all / proc / PID / จะไม่ปรากฏแก่ผู้ใช้รายอื่น ไม่ได้หมายความว่าซ่อนว่ามีกระบวนการอยู่หรือไม่ (สามารถเรียนรู้ได้ด้วยวิธีอื่นเช่นฆ่า -0 $ PID) แต่ซ่อนซ่อนกระบวนการ 'euid และ egid มันรวบรวมงานของผู้บุกรุกในการรวบรวมข้อมูลเกี่ยวกับกระบวนการทำงานไม่ว่าจะเป็น daemon บางตัวที่ทำงานด้วยสิทธิ์ยกระดับหรือไม่ว่าผู้ใช้รายอื่นจะรันโปรแกรมที่มีความละเอียดอ่อนบ้างหรือไม่
gid = XXX กำหนดกลุ่มที่จะสามารถรวบรวมข้อมูลกระบวนการทั้งหมด (เช่นในโหมด hidepid = 0) กลุ่มนี้ควรใช้แทนการใส่ผู้ใช้ที่ไม่ใช่รูทในไฟล์ sudoers หรืออะไรบางอย่าง อย่างไรก็ตามผู้ใช้ที่ไม่น่าเชื่อถือ (เช่น daemons ฯลฯ ) ซึ่งไม่ควรตรวจสอบงานในระบบทั้งหมดไม่ควรเพิ่มในกลุ่ม
คุณไม่สามารถควบคุมการเปิดเผยในระดับกระบวนการ แต่คุณสามารถมั่นใจได้ว่าผู้ใช้ของคุณสามารถดูกระบวนการของตนเองเท่านั้น
ในกรณีที่คุณมีเคอร์เนลเวอร์ชันมากกว่า 3.3 คุณสามารถลองด้วยคำสั่งต่อไปนี้:
mount /proc -o remount,hidepid=2