GNU/Linux >> Belajar Linux >  >> Linux

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

Anda akan mengatur bit lengket terutama pada direktori di UNIX / Linux.

Jika Anda menyetel sticky bit ke direktori, pengguna lain tidak dapat menghapus atau mengganti nama file (atau subdirektori) di dalam direktori tersebut.

Saat sticky bit disetel pada direktori, hanya pemilik dan pengguna root yang dapat menghapus / mengganti nama file atau direktori dalam direktori tersebut.

1. Setel bit lengket di Direktori

Contoh di bawah ini mengaktifkan sticky bit pada direktori.

Gunakan perintah chmod untuk mengatur bit yang lengket. Jika Anda menggunakan angka oktal di chmod, berikan 1 sebelum Anda menentukan hak istimewa bernomor lainnya, seperti yang ditunjukkan di bawah ini. Contoh di bawah, memberikan izin rwx kepada pengguna, grup, dan lainnya (dan juga menambahkan bit tempel ke direktori).

$ chmod 1777 dir

Atau, Anda hanya dapat menetapkan bit lengket ke direktori yang ada (tanpa menyentuh pengguna lain, grup, dan hak istimewa lainnya) menggunakan perintah chmod seperti yang ditunjukkan di bawah ini.

$ chmod +t dir

Setelah bit lengket ditetapkan ke direktori, Anda akan melihat (t) sebagai karakter terakhir dalam izin. Dalam contoh ini adalah drwxrwxrwt.

$ ls -ld /home/bala/dir
drwxrwxrwt 2 bala bala 4096 2011-01-28 14:09 /home/bala/dir
$ ls -l dir
total 8
-rwxrwxrwx 1 bala   bala   20 2011-01-28 14:12 bala.txt
-rwxrwxrwx 1 guest guest 41 2011-01-28 14:13 guest.txt

Dalam contoh di atas, karena dir memiliki izin rwx untuk semua orang, semua pengguna lain diizinkan untuk membuat file atau direktori mereka di bawah direktori ini. Namun, bahkan ketika sub-direktori atau file di bawah dir memiliki izin rwx untuk semua orang, hanya pemiliknya yang dapat menghapus atau mengganti nama file dan direktori tersebut. Pengguna lain tidak dapat menghapus atau mengganti namanya karena sticky bit.

Pada contoh di atas, bala.txt memiliki rwx untuk pengguna, grup, dan lainnya. Namun, ketika pengguna tamu mencoba untuk menghapus file bala.txt, dia akan melihat pesan “Operation not permission” seperti yang ditunjukkan di bawah ini.

$ su guest
Password:
$ cd /home/bala/dir1
$ rm bala.txt
rm: cannot remove `bala.txt': Operation not permitted

Harap dicatat bahwa /tmp memiliki bit lengket yang diaktifkan secara default. Anda mungkin belum menyadarinya sampai sekarang. Sekarang Anda tahu mengapa direktori /tmp seharusnya memiliki sticky bit yang diaktifkan.

$ ls -ld /tmp
drwxrwxrwt 3 root root 4096 Jan 31 08:29 /tmp

Untuk menghapus sticky bit dari direktori, lakukan hal berikut.

$ chmod -t dir

2. Setel bit lengket pada File

Mengatur bit lengket pada file hampir tidak berguna, dan tidak melakukan apa-apa. Pada beberapa rasa *nix yang lebih lama, file yang dapat dieksekusi dengan bit yang lengket akan dimuat ke memori swap setelah eksekusi pertama, yang mempercepat semua eksekusi berikutnya. Ini tidak benar lagi.

Dari Wikipedia:

Currently, this behavior is only operative in HP-UX, NetBSD, and UnixWare. 
Solaris appears to have abandoned this in 2005.[citation needed] The 4.4-Lite 
release of BSD retained the old sticky bit behavior but it has been subsequently 
dropped from OpenBSD (as of release 3.7) and FreeBSD (as of release 2.2.1); 
it remains in NetBSD. 

No version of Linux has ever supported the traditional behavior.

Linux
  1. Cara Membuat File dan Direktori Tidak Dapat Dihapus, Bahkan Dengan Root di Linux

  2. Cara Menginstal Dan Menggunakan Flatpak Di Linux

  3. Linux – Bagaimana Cara Memeriksa Informasi Struktur Direktori File Unix/linux?

  1. Cara Menginstal dan Menggunakan Traceroute di Linux

  2. Mengapa Kami Menggunakan "./" (dot Slash) Untuk Mengeksekusi File Di Linux/unix?

  3. Bagaimana cara mengaktifkan pengindeksan file dan direktori Apache di Linux atau UNIX?

  1. Memahami jalur file dan cara menggunakannya di Linux

  2. Perintah File Linux:Apa Fungsinya dan Bagaimana Cara Menggunakannya

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