Linux shell sticky bit penggunaan dan contoh

Linux shell sticky bit penggunaan dan contoh

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 -..