Linux shell sticky bit penggunaan dan contoh
- 879
- 227
- Dave Kreiger V
Sebelum kita bercakap tentang apa yang melekit sedikit mari kita mulakan dengan menjelaskan mengapa kita memerlukannya. Contohnya kita mempunyai direktori /var/kongsi
Di suatu tempat di sistem fail dengan akses penuh untuk semua kumpulan kebenaran yang pemilik, kumpulan dan mana -mana, oleh itu semua bit kebenaran ditetapkan untuk "dihidupkan" drwxrwxrwx
:
# ls -ld/var/share/drwxrwxrwx. 2 akar root 4096 Mac 5 11:02/var/kongsi/
Dari atas, kita dapat melihat bahawa mana -mana pengguna telah membaca, menulis dan melaksanakan keizinan ke /var/kongsi
direktori. Seterusnya, dalam senario kami kami mempunyai dua pengguna bernama USER1
dan USER2
. Oleh kerana semua orang kini mempunyai akses kepada /var/kongsi
Direktori, kami USER1
boleh menavigasi ke direktori ini dan hanya membuat sebarang fail sewenang -wenangnya:
user1@localhost ~] $ cd/var/share/[user1@localhost share] $ touch file1 [user1@localhost share] $ ls -l file1 -rw -rw -r -r -r -r -r -r -r -r -r -uk--. 1 user1 user1 0 Mar 5 11:08 File1 [user1@localhost share] $
The Fail1
dibuat dengan bit kebenaran yang ditetapkan oleh pengguna Umask
nilai dan pemilikan pengguna dan kumpulan ditetapkan kepada penciptanya USER1
. Setakat ini kami tidak mempunyai masalah dan semuanya berfungsi dengan sempurna seperti yang dimaksudkan. Kemudian, kami USER2
menavigasi ke /var/kongsi
direktori dan memutuskan untuk menamakan semula atau memadam Fail1
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 -r -r -r -r -r -r -r -r -r -uk--. 1 user1 user1 0 Mar 5 11:20 File2 [user2@localhost share] $ rm file2 rm: Keluarkan fail kosong biasa yang dilindungi tulis 'file2'? y [user2@localhost share] $ ls [user2@localhost share] $
Apa yang berlaku dalam contoh di atas adalah bahawa kita USER2
dilayari ke /var/kongsi
direktori, menyenaraikan semua fail dan dijumpai Fail1
. Dengan penggunaan mv
memerintahkan pengguna menamakan semula Fail1
ke File2
. Fail itu dinamakan semula sementara pemilik dan kumpulan fail tidak berubah. Selepas itu USER2
Cukup memutuskan untuk mengeluarkan fail menggunakan rm
perintah.
Pada peringkat ini kita memerlukan beberapa mekanisme untuk menghalang pengguna yang tidak memiliki direktori atau fail sebenar dalam direktori daripada menamakan semula atau mengeluarkan fail pengguna lain. Mekanisme ini dipanggil "bit melekit". Bit Sticky Hanya Membolehkan Root, Pemilik Direktori dan Pemilik Fail untuk Menamakan Nama dan Padam Fail. Gunakan chmod
Perintah untuk menetapkan sedikit melekit pada direktori:
[root@localhost ~]# chmod +t/var/share/[root@localhost ~]# ls -ld/var/share/drwxrwxrwt. 2 root root 4096 Mar 5 11:21/var/kongsi/
Bit kebenaran yang boleh dilaksanakan terakhir untuk semua pengguna kini ditetapkan t
yang bermaksud bahawa bit melekit kini di tempat dan hanya akar, fail atau pemilik direktori boleh menamakan semula dan memadam fail. Mari meniru senario di atas dan biarkan USER1
Untuk membuat yang baru Fail1
Fail:
[user1@localhost share] $ ls [user1@localhost share] $ touch file1 [user1@localhost share] $ ls -l total 0 -rw -rw -r -r--. 1 user1 user1 0 Mar 5 11:34 File1 [user1@localhost share] $
Fail1
kini dibuat dan sejak bit melekit kini di tempat USER2
kini akan dihalang daripada menamakan semula atau memadam fail yang bukan miliknya:
[user2@localhost share] $ ls -l total 0 -rw -rw -r -r--. 1 user1 user1 0 Mar 5 11:34 File1 [user2@localhost share] $ mv file1 file2 mv: tidak dapat bergerak 'file1' ke 'file2': Operasi tidak dibenarkan [user2@localhost share] $ rm file1 rm: Buang tulis dilindungi Fail kosong biasa 'File1'? y rm: tidak dapat mengeluarkan 'file1': operasi tidak dibenarkan [user2@localhost share] $ ls -l total 0 -rw -rw -r -r--. 1 user1 user1 0 Mar 5 11:34 File1 [user2@localhost share] $
Dari contoh di atas kita dapat melihatnya USER2
tidak dapat menamakan semula atau memadam fail kerana ia dimiliki oleh pengguna lain, sementara tingkah laku ini dikuatkuasakan oleh mekanisme bit melekat. Contoh terbaik penggunaan bit melekit adalah /tmp/
direktori.
# ls -ld / tmp / drwxrwxrwt. 18 akar akar 480 Mac 5 11:42 /tmp /
Mana -mana pengguna mempunyai akses ke /tmp/
, Walau bagaimanapun, untuk mengelakkan pengguna lain menamakan semula atau memadam fail yang dimiliki oleh pengguna yang berbeza, bit melekit ditetapkan ke direktori ini secara lalai. Hanya untuk kesempurnaan, ambil perhatian bahawa anda boleh mengeluarkan sedikit melekit dari direktori dengan yang telah disebutkan chmod
Perintah:
[root@localhost ~]# ls -ld/var/share/drwxrwxrwt. 2 root root 4096 Mac 5 11:38/var/share/[root@localhost ~]# chmod -t/var/share/[root@localhost ~]# ls -ld/var/share/drwxrwxrwx. 2 root root 4096 Mac 5 11:38/var/share/[root@localhost ~]#
Tutorial Linux Berkaitan:
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Perkara yang hendak dipasang di Ubuntu 20.04
- Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
- Menguasai Gelung Skrip Bash
- Cara memanfaatkan sepenuhnya OpenSSH
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
- Berapa kerap anda perlu reboot pelayan Linux anda?
- Cara Dual Boot Kali Linux dan Windows 10
- Asas matematik komputer: binari, perpuluhan, heksadesimal, oktal
- Buat dan konfigurasikan direktori setgid untuk kerjasama -..
- « Cara memeriksa tajuk laman web menggunakan baris arahan Linux
- Cara memasukkan baris ke permulaan fail di linux »