Linux Shell Sticky Bit Usage dan Contoh
- 3728
- 822
- Dr. Travis Bahringer
Sebelum kita berbicara tentang apa yang sedikit lengket, mari kita mulai dengan menjelaskan mengapa kita membutuhkannya. Misalnya kami memiliki direktori /var/share
Di suatu tempat pada sistem file dengan akses penuh untuk semua grup izin yaitu pemilik, grup dan apa saja, sehingga semua bit izin diatur ke "aktif" DRWXRWXRWX
:
# ls -ld/var/share/drwxrwxrwx. 2 root root 4096 Mar 5 11:02/var/share/
Dari yang di atas, kita dapat melihat bahwa pengguna mana pun telah membaca, menulis, dan menjalankan izin ke /var/share
direktori. Selanjutnya, dalam skenario kami kami memiliki dua pengguna bernama user1
Dan user2
. Karena semua orang sekarang memiliki akses /var/share
direktori, kami user1
dapat menavigasi ke direktori ini dan cukup membuat file sewenang -wenang:
user1@localhost ~] $ cd/var/share/[user1@localhost share] $ touch file1 [user1@localhost share] $ ls -l file1 -rw -rw -r -r--. 1 user1 user1 0 Mar 5 11:08 File1 [user1@localhost share] $ $
Itu file1
dibuat dengan bit izin yang ditetapkan oleh pengguna Umask
nilai dan kepemilikan pengguna dan grup diatur ke penciptanya user1
. Sejauh ini kami tidak memiliki masalah dan semua bekerja dengan sempurna seperti yang dimaksudkan. Nanti, kami user2
menavigasi ke /var/share
direktori dan memutuskan untuk mengganti nama atau menghapus file1
ke file2
:
[user2@localhost share] $ cd/var/share/[user2@localhost share] $ ls -l total 0 -rw -rw -r -r--. 1 user1 user1 0 Mar 5 11:20 File1 [user2@localhost share] $ mv file1 file2 [user2@localhost share] $ ls -l total 0 -rw -rw -r -r--. 1 user1 user1 0 Mar 5 11:20 File2 [user2@localhost share] $ rm file2 rm: hapus file kosong reguler yang dilindungi write 'File2'? y [user2@localhost saham] $ ls [user2@localhost saham] $ $
Apa yang terjadi dalam contoh di atas adalah kami user2
dinavigasi ke /var/share
direktori, terdaftar semua file dan ditemukan file1
. Dengan menggunakan MV
Perintah pengguna berganti nama menjadi file1
ke file2
. File itu diganti namanya sementara pemilik dan grup file tidak berubah. Setelah itu user2
cukup memutuskan untuk menghapus file menggunakan rm
memerintah.
Pada tahap ini kami membutuhkan beberapa mekanisme untuk mencegah pengguna yang tidak memiliki direktori atau file aktual dalam direktori untuk mengganti nama atau menghapus file pengguna lain. Mekanisme ini disebut "bit lengket". Bit lengket hanya memungkinkan root, pemilik direktori dan pemilik file untuk mengganti nama dan menghapus file. Menggunakan Chmod
Perintah untuk mengatur bit lengket pada direktori:
[root@localhost ~]# chmod +t/var/share/[root@localhost ~]# ls -ld/var/share/drwxrwxrwt. 2 root root 4096 Mar 5 11:21/var/share/
Bit izin terakhir yang dapat dieksekusi untuk semua pengguna sekarang diatur ke T
Yang berarti bahwa bit lengket sekarang ada dan hanya root, file atau pemilik direktori yang dapat mengganti nama dan menghapus file. Mari kita tiru skenario di atas dan biarkan user1
untuk membuat yang baru file1
mengajukan:
[user1@localhost share] $ ls [user1@localhost share] $ touch file1 [user1@localhost saham] $ ls -l total 0 -rw -rw -r -r--. 1 user1 user1 0 Mar 5 11:34 File1 [user1@localhost share] $ $
file1
sekarang dibuat dan karena bit lengket sekarang ada di tempatnya user2
sekarang akan dicegah untuk mengganti nama atau menghapus file yang bukan miliknya:
[user2@localhost saham] $ ls -l total 0 -rw -rw -r--. 1 user1 user1 0 5 Mar 5 11:34 File1 [user2@localhost share] $ mv file1 file2 mv: tidak dapat memindahkan 'file1' ke 'file2': operasi tidak diizinkan [user2@localhost share] $ rm file1 rm: hapus write-fooftected File kosong biasa 'File1'? y rm: tidak dapat menghapus 'file1': operasi tidak diizinkan [user2@localhost share] $ ls -l Total 0 -rw -rw -r--. 1 user1 user1 0 Mar 5 11:34 File1 [user2@localhost share] $ $
Dari contoh di atas kita bisa melihatnya user2
tidak dapat mengganti nama atau menghapus file karena dimiliki oleh pengguna lain, sementara perilaku ini ditegakkan oleh mekanisme bit lengket. Contoh terbaik penggunaan bit lengket adalah /tmp/
direktori.
# ls -ld / tmp / drwxrwxrwt. 18 root root 480 Mar 5 11:42 /tmp /
Setiap pengguna memiliki akses ke /tmp/
, Namun, untuk mencegah pengguna lain mengganti nama atau menghapus file yang dimiliki oleh pengguna yang berbeda, bit lengket diatur ke direktori ini secara default. Hanya untuk kelengkapan, perhatikan bahwa Anda dapat menghapus bit lengket dari direktori oleh yang sudah disebutkan Chmod
memerintah:
[root@localhost ~]# ls -ld/var/share/drwxrwxrwt. 2 root root 4096 Mar 5 11:38/var/share/[root@localhost ~]# chmod -t/var/share/[root@localhost ~]# ls -ld/var/share/drwxrwxrwx. 2 root root 4096 Mar 5 11:38/var/share/[root@localhost ~]#
Tutorial Linux Terkait:
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
- Menguasai loop skrip bash
- Bagaimana memanfaatkan openssh
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Seberapa sering Anda harus me -reboot server linux Anda?
- Cara Dual Boot Kali Linux dan Windows 10
- Dasar -dasar matematika komputer: biner, desimal, heksadesimal, oktal
- Buat dan konfigurasikan direktori setGid untuk kolaborasi -…
- « Cara memeriksa header situs web menggunakan baris perintah linux
- Cara memasukkan baris ke awal file di linux »