Ada dua izin khusus yang dapat diatur pada file yang dapat dieksekusi:Set User ID (setuid) dan Set Group ID (sgid). Izin ini memungkinkan file yang sedang dieksekusi untuk dieksekusi dengan hak istimewa pemilik atau grup. Demikian pula, ada dua izin khusus untuk direktori:bit sticky dan bit setgid. Berikut adalah beberapa pertanyaan wawancara Linux yang paling sering diajukan tentang izin khusus seperti SUID, SGID, dan sticky bit.
Apa yang dimaksud dengan Set User ID (setuid)?
SUID adalah izin khusus yang diberikan ke file. Izin ini memungkinkan file yang sedang dieksekusi dieksekusi dengan hak istimewa pemiliknya. Misalnya, jika file dimiliki oleh pengguna root dan memiliki bit setuid, tidak peduli siapa yang mengeksekusi file, file itu akan selalu dijalankan dengan hak pengguna root.
Bagaimana cara menyetel bit SUID pada file?
Anda harus menjadi pemilik file atau pengguna root untuk mengatur bit setuid. Jalankan perintah berikut untuk menyetel bit setuid:
# chmod u+s file1
Lihat izin menggunakan perintah ls -l:
# ls -l file1 -rwSrw-r-- 1 user1 user1 0 2017-10-29 21:41 file1
Perhatikan huruf besar S . Ini berarti tidak ada izin eksekusi. Jalankan perintah berikut untuk menambahkan izin eksekusi ke file file1, perhatikan huruf kecil s .
# chmod u+x file1
# ls -l file1 -rwsrw-r-- 1 user1 user1 0 2017-10-29 21:41 file1
Perhatikan huruf kecil s. Ini berarti ada izin eksekusi.
Atau, Anda dapat mengatur bit setuid menggunakan metode numerik dengan menambahkan 4 ke mode. Misalnya, untuk mengatur bit setuid, membaca, menulis, dan mengeksekusi izin untuk pemilik file file1, jalankan perintah berikut:
# chmod 4700 file1
Apa yang dimaksud dengan Set Group ID (setgid) untuk file?
Ketika bit Set Group ID diset, executable dijalankan dengan otoritas grup. Misalnya, jika file dimiliki oleh grup pengguna, siapa pun yang mengeksekusi file itu akan selalu berjalan dengan otoritas grup pengguna.
Bagaimana cara menyetel bit SGID untuk file?
Jalankan perintah berikut untuk mengatur bit setgid pada file file1:
# chmod g+sCatatan :Baik bit setuid dan setgid diset menggunakan simbol s. Setgid direpresentasikan sama dengan bit setuid, kecuali di bagian grup dari izin.
Jalankan perintah berikut sebagai root untuk menyetel bit setgid, dan izin membaca, menulis, dan mengeksekusi untuk pemilik file file1:
# chmod 2700 file1
Setgid direpresentasikan sama dengan bit setuid, kecuali di bagian grup izin:
ls -l file1 -rwx--S--- 1 user1 user1 0 2017-10-30 21:40 file1
Gunakan perintah chmod u+s untuk menyetel bit setuid. Gunakan perintah chmod g+s untuk menyetel bit setgid.
Apa itu Setel izin ID Grup untuk direktori
Ketika bit setgid diatur pada direktori, semua file yang dibuat dalam direktori tersebut mewarisi kepemilikan grup dari direktori itu. Misalnya, folder folder1 dimiliki oleh pengguna pengguna1, dan grup grup1:
# ls -ld folder1 drwxrwxr-x 2 user1 group1 4096 2017-10-30 22:25 folder1
File yang dibuat di folder folder1 akan mewarisi keanggotaan grup group1:
# touch folder1/file1 # ls -l folder1/file1 -rw-rw-r-- 1 user1 group1 0 2017-10-30 22:29 folder1/file1
Bagaimana cara menyetel bit SGID untuk direktori?
Untuk mengatur bit setgid pada direktori, gunakan perintah chmod g+s:
# chmod g+s folder1
Lihat izin menggunakan perintah ls -ld, perhatikan s dalam izin grup:
# ls -ld folder1 drwxrwsr-x 2 user1 group1 4096 2017-10-30 22:32 folder1
Atau, tambahkan 2 ke mode direktori:
# chmod 2770 folder1
Apa yang dimaksud dengan sticky bit pada sebuah direktori
Ketika bit lengket disetel pada direktori, hanya pengguna root, pemilik direktori, dan pemilik file yang dapat menghapus file dalam direktori tersebut.
Cara menyetel bit lengket
Contoh dari sticky bit adalah direktori /tmp. Gunakan perintah ls -ld /tmp untuk melihat izin:
# ls -ld /tmp drwxrwxrwt 24 root root 4096 2017-10-30 22:00 tmp
t di akhir melambangkan bahwa bit lengket diatur. File yang dibuat di direktori /tmp hanya dapat dihapus oleh pemiliknya, atau pengguna root. Misalnya, jalankan perintah berikut untuk mengatur sticky bit pada folder folder1:
# chmod a+t folder1
Atau, tambahkan 1 ke mode direktori untuk menyetel bit lengket:
# chmod 1777 folder1
Izin harus dibaca, ditulis, dan dijalankan untuk pemilik, grup, dan semua orang, pada direktori yang memiliki bit sticky yang disetel. Ini memungkinkan siapa saja untuk melakukan cd ke direktori dan membuat file.
cara menemukan file dengan SUID/SGID tetapi disetel
1. Untuk menemukan semua file dengan SUID tetapi disetel, gunakan perintah di bawah ini :
# find / -perm +4000
2. Untuk menemukan semua file dengan bit set SGID, gunakan perintah di bawah ini :
# find / -perm +2000
Anda juga dapat menggabungkan kedua perintah untuk menemukan SGID dan SUID tetapi mengatur file.
# find / -type f \\( -perm -4000 -o -perm -2000 \\) -exec ls -l {} \\;Apa itu SUID, SGID, dan Sticky bit ?
Linux / UNIX :Cara menemukan file yang memiliki kumpulan SUID/SGID
Linux / UNIX :Contoh perintah find untuk menemukan file dengan set izin tertentu Wawancara Linux pamungkas pertanyaan :tukar