Apa itu Setuid?

Setuid, yang bermaksud ID pengguna ditetapkan pada pelaksanaan, adalah jenis kebenaran fail khas dalam sistem operasi Unix dan Unix seperti Linux dan BSD. Ia adalah alat keselamatan yang membenarkan pengguna menjalankan program tertentu dengan keistimewaan yang meningkat.

Apabila kebenaran setuid fail boleh laku ditetapkan, pengguna boleh melaksanakan program itu dengan tahap akses yang sepadan dengan pengguna yang memiliki fail tersebut. Sebagai contoh, apabila pengguna ingin menukar kata laluan mereka, mereka menjalankan arahan passwd. Program passwd dimiliki oleh akaun root dan ditandai sebagai setuid, sehingga pengguna diberikan akses root untuk tujuan yang sangat terbatas untuk sementara waktu.

Apabila melihat keizinan fail dengan perintah ls -l, kebenaran setuid dipaparkan sebagai " s " dalam kedudukan bit "pengguna laksanakan". Sebagai contoh:

 ls -l / usr / bin / passwd 
 -rwsr-xr-x 1 root 54192 20 Nov 17:03 / usr / bin / passwd 

Menetapkan kebenaran setu fail

Untuk menetapkan kebenaran setuid untuk fail yang boleh laku, gunakan pengenal kebenaran anda dengan perintah chmod :

 chmod u + s myfile 

Fail tidak boleh laku boleh ditandakan sebagai setuid, tetapi ia tidak mempunyai kesan; menandakan mereka setuid tidak secara automatik menjadikannya boleh laku. Dalam kes ini, bit kebenaran muncul sebagai huruf besar " S ". Sebagai contoh:

 ls -l myfile 
 -rw-r - r-- 1 pengguna 0 Mar 6 10:45 myfile 
 chmod u + s myfile 
 ls -l myfile 
 -rwSr - r-- 1 pengguna 0 Mar 6 10:45 myfile 

Walau bagaimanapun, jika anda kemudian menetapkan fail untuk menjadi laksana pengguna dengan kebenaran u + x, kebenaran setuid berkuatkuasa. Ia kemudian akan diwakili dalam penyenaraian dengan huruf kecil " s ":

 chmod u + x myfile 
 ls -l myfile 
 -rwsr - r-- 1 pengguna 0 Mar 6 10:45 myfile 

Setgid

Setgid adalah setuid setaraf yang memberi kebenaran kepada kumpulan yang memiliki fail tersebut dikenali sebagai setgid . Ia beroperasi dengan cara yang sama, dan penunjuk " s " atau " S " dipaparkan dalam kumpulan melaksanakan kedudukan output ls -l . Sebagai contoh:

 chmod g + s myfile2 
 ls -l myfile2 
 -rw-r-sr-- 1 pengguna 0 Mar 6 10:46 myfile2 

Akronim komputer, fail Executable, Linux, Kebenaran, Terma keselamatan