ซ่อนโพรเซสไม่ให้ผู้ใช้อื่นตรวจเห็น
ในระบบที่มีผู้ใช้หลายคน โดยปกติระบบยูนิกซ์ทั่วไปจะอนุญาตให้ผู้ใช้ตรวจดูโพรเซสทั้งหมดที่ทำงานอยู่ในเครื่องได้ ผ่านคำสั่ง ps
หรือ top
ซึ่งในบางกรณีก็เป็นการเปิดช่องสำหรับการล้วงความลับของผู้ใช้อื่น โดยเฉพาะในคำสั่งที่ผู้ใช้ใส่รหัสผ่านเป็น argument ของบรรทัดคำสั่ง
เคอร์เนลลินุกซ์ 3.2 ขึ้นไป มีทางเลือกให้คุณสามารถซ่อนโพรเซสของผู้ใช้แต่ละคนไม่ให้ผู้ใช้อื่นมองเห็นได้ โดยใช้ตัวเลือก hidepid
สำหรับการเมานท์ระบบแฟ้ม /proc
ค่าของตัวเลือก hidepid
ที่เป็นไปได้คือ
- 0
- เป็นค่าปริยาย ซึ่งผู้ใช้จะเห็นทุกโพรเซสในระบบ
- 1
- ผู้ใช้ธรรมดาจะเห็น process ID ทั้งหมดใน
/proc
แต่จะมีสิทธิ์อ่านเฉพาะโพรเซสที่ตนเป็นเจ้าของเท่านั้น ทำให้ไม่เห็นโพรเซสของผู้ใช้อื่นในคำสั่งps
หรือtop
- 2
- ผู้ใช้ธรรมดาจะเห็นเฉพาะ process ID ของตัวเองใน
/proc
เท่านั้น ไม่เห็นของคนอื่นเลย จึงไม่สามารถตรวจดูโพรเซสของผู้ใช้อื่นได้โดยสิ้นเชิง
แต่ผู้ใช้ root จะยังคงมองเห็นทุกโพรเซสในระบบตามปกติ ไม่ว่าจะเมานท์แบบไหน
คุณสามารถสั่ง remount แบบต่าง ๆ ได้เมื่อต้องการ เช่น:
# mount -o remount /proc -o hidepid=2
หรือหากต้องการให้เมาทน์ขณะบูต ก็กำหนดเช่นนี้ใน /etc/fstab
:
proc /proc proc defaults,hidepid=2 0 0
ลองตรวจดูโพรเซสของระบบ (เช่น ps -ef
) ในฐานะผู้ใช้ธรรมดา ก็จะไม่เห็นโพรเซสของผู้ใช้อื่นแล้ว
ใน โพสต์ล่าสุดของทีม Debian Security มีการเสนอให้ใช้ตัวเลือก hidepid=1
เป็นค่าปริยายของระบบในอนาคต
ที่มา: Debian Administration
- thep's blog
- Log in to post comments
![]() |
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |