Setuid ซึ่งย่อมาจากการ ตั้งค่า ID ผู้ใช้ในการดำเนินการ เป็นประเภทของการอนุญาตไฟล์พิเศษในระบบปฏิบัติการ Unix และ Unix เช่น Linux และ BSD มันเป็นเครื่องมือรักษาความปลอดภัยที่อนุญาตให้ผู้ใช้เรียกใช้บางโปรแกรมด้วยสิทธิ์ที่เพิ่มขึ้น
เมื่อสิทธิ์ setuid ของไฟล์ที่เรียกทำงานได้ถูกตั้งค่าผู้ใช้อาจเรียกใช้งานโปรแกรมนั้นด้วยระดับการเข้าถึงที่ตรงกับผู้ใช้ที่เป็นเจ้าของไฟล์ ตัวอย่างเช่นเมื่อผู้ใช้ต้องการเปลี่ยนรหัสผ่านพวกเขาเรียกใช้คำสั่ง passwd โปรแกรม passwd เป็นเจ้าของโดยบัญชีรูทและทำเครื่องหมายเป็น setuid ดังนั้นผู้ใช้จะได้รับสิทธิ์การเข้าถึงรูทชั่วคราวเพื่อวัตถุประสงค์ที่ จำกัด มาก
เมื่อดูการอนุญาตของไฟล์ด้วย คำสั่ง ls -l การอนุญาต setuid จะแสดงเป็น " s " ในตำแหน่งบิต "user execute" ตัวอย่างเช่น:
ls -l / usr / bin / passwd
-rwsr-xr-x 1 รูท 54192 20 พ.ย. 17:03 / usr / bin / passwd
การตั้งค่าสิทธิ์ setuid ของไฟล์
ในการตั้งค่าการอนุญาต setuid สำหรับไฟล์เรียกทำงานให้ใช้ตัวระบุสิทธิ์ u + s ด้วยคำสั่ง chmod :
chmod u + s myfile
ไฟล์ที่ไม่สามารถเรียกใช้งานได้สามารถทำเครื่องหมายว่า setuid แต่ไม่มีผล ทำเครื่องหมายพวกเขา setuid ไม่ได้ทำให้พวกเขาโดยอัตโนมัติปฏิบัติการ ในกรณีนี้บิตการอนุญาตจะปรากฏเป็นตัวพิมพ์ใหญ่ " S " ตัวอย่างเช่น
ls -l myfile
-rw-r - r-- 1 ผู้ใช้ 0 มี.ค. 6 10:45 myfile
chmod u + s myfile
ls -l myfile
-rwSr - r-- 1 ผู้ใช้ 0 มี.ค. 6 10:45 น. myfile
อย่างไรก็ตามหากคุณตั้งค่าไฟล์ให้ผู้ใช้สามารถเรียกทำงานได้ด้วยการอนุญาต u + x การอนุญาต setuid จะมีผล จากนั้นจะแสดงในรายการด้วยตัวอักษร " s " ที่เป็นตัวพิมพ์เล็ก:
chmod u + x myfile
ls -l myfile
-rwsr - r-- 1 ผู้ใช้ 0 มี.ค. 6 10:45 น. myfile
setgid
Setgid เทียบเท่ากับ setuid ที่ได้รับอนุญาตจากกลุ่มที่เป็นเจ้าของไฟล์เรียกว่า setgid มันทำงานในลักษณะเดียวกันและตัวบ่งชี้ " s " หรือ " S " จะปรากฏขึ้นในกลุ่มเรียกใช้งานตำแหน่งของเอาต์พุตของ ls -l ตัวอย่างเช่น:
chmod g + s myfile2
ls -l myfile2
-rw-r-sr-- 1 ผู้ใช้ 0 มี.ค. 6 10:46 myfile2
ตัวย่อของคอมพิวเตอร์, ไฟล์ที่ปฏิบัติการได้, Linux, สิทธิ์, เงื่อนไขความปลอดภัย