Setuid คืออะไร

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, สิทธิ์, เงื่อนไขความปลอดภัย