ค้นหาเว็บไซต์

วิธีค้นหาไฟล์ที่มีสิทธิ์ SUID และ SGID ใน Linux


ในบทช่วยสอนนี้ เราจะอธิบายสิทธิ์ของไฟล์เสริม ซึ่งโดยทั่วไปเรียกว่า “สิทธิ์พิเศษ ” ใน Linux และเราจะแสดงวิธีค้นหาไฟล์ที่มี SUID ( Setuid) และ SGID (Setgid)

SUID และ SGID คืออะไร

SUID เป็นการอนุญาตไฟล์พิเศษสำหรับไฟล์ปฏิบัติการ ซึ่งช่วยให้ผู้ใช้รายอื่นสามารถเรียกใช้ไฟล์โดยได้รับอนุญาตจากเจ้าของไฟล์ แทนที่จะเป็น x ปกติซึ่งแสดงถึงสิทธิ์ในการดำเนินการ คุณจะเห็นสิทธิ์พิเศษ s (เพื่อระบุ SUID) สำหรับผู้ใช้

SGID คือการอนุญาตไฟล์พิเศษที่ใช้กับไฟล์ปฏิบัติการและช่วยให้ผู้ใช้รายอื่นสามารถสืบทอด GID ที่มีประสิทธิผลของเจ้าของกลุ่มไฟล์ได้ ในทำนองเดียวกัน แทนที่จะเป็น x ปกติซึ่งแสดงถึงสิทธิ์ในการดำเนินการ คุณจะเห็น s (เพื่อระบุ SGID) สิทธิ์พิเศษสำหรับผู้ใช้กลุ่ม

การอ่านที่แนะนำ: การจัดการผู้ใช้และกลุ่ม การอนุญาตไฟล์ และคุณลักษณะใน Linux

มาดูวิธีค้นหาไฟล์ที่ตั้งค่า SUID และ SGID โดยใช้คำสั่ง find

ไวยากรณ์มีดังนี้:

find directory -perm /permissions

สำคัญ: บางไดเร็กทอรี (เช่น /etc, /bin, /sbin ฯลฯ) หรือไฟล์ต้องการสิทธิ์รูทจึงจะเข้าถึงหรือแสดงรายการได้ หากคุณจัดการระบบในฐานะผู้ใช้ปกติ ให้ใช้คำสั่ง sudo เพื่อรับสิทธิ์รูท

วิธีค้นหาไฟล์ด้วย SUID Set ใน Linux

คำสั่งตัวอย่างด้านล่างนี้จะค้นหาไฟล์ทั้งหมดที่มีการตั้งค่า SUID ในไดเร็กทอรีปัจจุบันโดยใช้ตัวเลือก -perm (พิมพ์ไฟล์เฉพาะที่ตั้งค่าสิทธิ์เป็น 4000)

find . -perm /4000 

คุณสามารถใช้คำสั่ง ls พร้อมตัวเลือก -l (สำหรับรายการแบบยาว) เพื่อดูสิทธิ์ในไฟล์ที่อยู่ในรายการดังที่แสดงในภาพด้านบน

วิธีค้นหาไฟล์ด้วยชุด SGID ใน Linux

หากต้องการค้นหาไฟล์ที่ตั้งค่า SGID ให้พิมพ์คำสั่งต่อไปนี้

find . -perm /2000

หากต้องการค้นหาไฟล์ที่มีทั้ง SUID และ SGID ตั้งค่าไว้ ให้เรียกใช้คำสั่งด้านล่าง

find . -perm /6000

คุณอาจต้องการอ่านคำแนะนำที่เป็นประโยชน์เหล่านี้เกี่ยวกับการอนุญาตไฟล์ใน Linux:

  1. วิธีการตั้งค่าคุณสมบัติไฟล์และการค้นหาไฟล์ใน Linux
  2. แปลสิทธิ์ rwx เป็นรูปแบบแปดเหลี่ยมใน Linux
  3. รักษาความปลอดภัยไฟล์/ไดเร็กทอรีโดยใช้ ACL (รายการควบคุมการเข้าถึง) ใน Linux
  4. 5 คำสั่ง 'chattr' เพื่อสร้างไฟล์สำคัญที่ไม่เปลี่ยนรูป (ไม่สามารถเปลี่ยนแปลงได้) ใน Linux

แค่นั้นแหละ! ในคู่มือนี้ เราได้แสดงวิธีค้นหาไฟล์ที่มีการตั้งค่า SUID (Setuid) และ SGID (Setgid) ใน Linux หากคุณมีคำถามใดๆ ให้ใช้แบบฟอร์มคำติชมด้านล่างเพื่อแบ่งปันคำถามหรือความคิดเห็นเพิ่มเติมเกี่ยวกับหัวข้อนี้