GNU/Linux >> Belajar Linux >  >> Linux

Apa itu SUID, SGID dan Sticky bit?

Ada 3 izin khusus yang tersedia untuk file dan direktori yang dapat dieksekusi. Ini adalah :

1. izin SUID
2. Izin SGID
3. Sedikit lengket

Identifikasi Pengguna Tetap (SUID)

Pernahkah Anda berpikir, bagaimana pengguna non-root dapat mengubah kata sandinya sendiri ketika dia tidak memiliki izin menulis ke file /etc/shadow. hmm… menarik bukan? Nah untuk memahami triknya periksa izin perintah /usr/bin/passwd :

# ls -lrt /usr/bin/passwd
-r-sr-sr-x   1 root     sys        31396 Jan 20  2014 /usr/bin/passwd

– Jika Anda memeriksa dengan cermat, Anda akan menemukan 2 S di bidang izin. S pertama adalah SUID dan yang kedua adalah SGID.
– Ketika perintah atau skrip dengan set bit SUID dijalankan, UID efektifnya menjadi milik pemilik file, bukan pengguna yang sedang menjalankannya.
– Contoh lain SUID yang baik adalah perintah su :

# ls -l /bin/su 
-rwsr-xr-x-x 1 root user  16384 Jan 12 2014 /bin/su

– Izin setuid ditampilkan sebagai “s” di bidang eksekusi pemilik.

Bagaimana cara menyetel SUID pada file?

# chmod 4555 [path_to_file]
Catatan :
Jika huruf kapital "S" muncul di kolom eksekusi pemilik, ini menunjukkan bahwa bit setuid aktif, dan bit eksekusi "x" untuk pemilik file mati atau ditolak.

Identifikasi grup-set (SGID)

Izin SGID pada file yang dapat dieksekusi

– Izin SGID mirip dengan izin SUID, hanya perbedaannya – ketika skrip atau perintah dengan SGID aktif dijalankan, ia berjalan seolah-olah itu adalah anggota dari grup yang sama di mana file tersebut menjadi anggota.

# ls -l /usr/bin/write
-r-xr-sr-x  1   root tty 11484 Jan 15 17:55 /usr/bin/write

– Izin setgid ditampilkan sebagai “s” di bidang eksekusi grup.

Catatan :
– Jika huruf kecil “l” muncul di bidang eksekusi grup, ini menunjukkan bahwa bit setgid aktif, dan bit eksekusi untuk grup mati atau ditolak.

Bagaimana cara mengatur GUID pada file?

# chmod 2555 [path_to_file]

SGID pada direktori

– Ketika izin SGID diatur pada direktori, file yang dibuat di direktori tersebut akan menjadi milik grup di mana direktori tersebut menjadi anggotanya.
– Misalnya jika pengguna yang memiliki izin menulis di direktori membuat file di sana, file tersebut adalah anggota dari grup yang sama dengan direktori dan bukan grup pengguna.
– Ini sangat berguna dalam membuat direktori bersama.

Cara menyetel SGID pada direktori

# chmod g+s [path_to_directory]

Bit Lengket

– Bit sticky terutama digunakan pada direktori bersama.
– Berguna untuk direktori bersama seperti /var/tmp dan /tmp karena pengguna dapat membuat file, membaca dan mengeksekusi file milik pengguna lain, tetapi tidak diperbolehkan untuk menghapus file milik pengguna lain.
– Misalnya jika pengguna bob membuat file bernama /tmp/bob, pengguna lain tom dapat tidak menghapus file ini meskipun direktori /tmp memiliki izin 777. Jika sticky bit tidak disetel, maka tom dapat menghapus /tmp/bob, karena file /tmp/bob mewarisi izin direktori induk.
– pengguna root (Tentu saja!) dan pemilik file dapat menghapus file mereka sendiri.

Contoh sticky bit :

# ls -ld /var/tmp
drwxrwxrwt  2   sys   sys   512   Jan 26 11:02  /var/tmp
- T refers to when the execute permissions are off.
- t refers to when the execute permissions are on.

Bagaimana cara menyetel izin sticky bit?

# chmod +t [path_to_directory]
or 
# chmod 1777 [path_to_directory]


Linux
  1. Cara Menemukan File Dengan Izin SUID dan SGID di Linux

  2. Apa itu Sticky Bit, SUID dan SGID di Linux

  3. UNIX / Linux:Cara Menggunakan Sticky Bit pada Direktori dan File

  1. Apa itu halaman yang dipetakan memori dan halaman anonim?

  2. Apa itu file .so.2?

  3. Apa itu `S_ISREG()`, dan apa fungsinya?

  1. Izin Linux:SUID, SGID, dan sticky bit

  2. Apa itu file .so?

  3. Apa sebenarnya <() di bash (dan =() di zsh)?