GNU/Linux >> Belajar Linux >  >> Linux

Kelola Izin Direktori dan File dengan chmod Recursive

Apakah Anda lelah harus mengubah izin file dan direktori secara manual? Apakah Anda mencari cara yang lebih cepat dan efisien untuk mengubah izin file dan direktori Anda? Jika demikian, maka Anda telah datang ke tempat yang tepat karena, dalam artikel ini, Anda akan mempelajari cara mengubah izin file dan direktori menggunakan perintah chmod secara rekursif!

Bukan pembaca? Tonton tutorial video terkait ini! Tidak melihat videonya? Pastikan pemblokir iklan Anda dinonaktifkan.

Baca terus untuk mempelajari lebih lanjut!

Prasyarat

Untuk mengikuti, Anda memerlukan perangkat Linux dan direktori yang file dan izin sub-direktorinya tersedia untuk berlatih.

Mempelajari Tentang Pengguna dan Grup Linux

Pemilik dan grup penting di Linux, diperlukan untuk mengelola file dan direktori dengan aman. Pemiliknya adalah kepada siapa file atau direktori ditetapkan, yang merupakan pembuatnya, secara default. Di Linux, file dan direktori juga termasuk dalam grup. Pengguna dan grup disetel melalui chown perintah.

Pada tangkapan layar di bawah, konten yang disorot dengan warna hijau menunjukkan pengguna yang memiliki file atau direktori, mihail dalam contoh ini. Konten yang disorot dengan warna biru menunjukkan grup mana yang dimiliki file atau direktori, yang dimiliki oleh staff grup dalam contoh ini.

Memahami Izin File dan Direktori Linux

Izin mengatur tindakan apa yang dapat dilakukan pengguna atau grup pada file atau direktori tertentu. Mereka ditunjukkan oleh representasi karakter dan juga diberi nilai numerik.

  • Baca (r atau 4 ): Menunjukkan apakah pengguna atau grup dapat membaca konten file atau direktori. Izin baca diberikan secara default ke semua file dan direktori yang baru dibuat untuk semua pihak.
  • Tulis (w atau 2 ): Menunjukkan apakah pengguna atau grup dapat mengedit konten objek. Izin ini diberikan secara default hanya kepada pemilik file atau direktori.
  • Jalankan (x atau 1 ): Menunjukkan apakah pengguna atau grup dapat mengeksekusi file atau menjalankan perintah di dalam direktori. Izin eksekusi diberikan secara default hanya untuk direktori tetapi tidak untuk file.

Jika Anda tidak memberi pengguna (u ) menjalankan izin ke direktori, mereka tidak akan dapat membuat daftar konten karena pengguna tidak akan dapat menjalankan perintah di dalam direktori!

Contoh ditunjukkan di bawah ini, output dari perintah ls -l menunjukkan jenis izin yang berbeda. Izin tersebut didahului oleh d nilai, menunjukkan direktori.

Lalu mengapa tampaknya ada tiga set izin untuk setiap objek? Kontrol izin yang terperinci dicapai dengan membagi izin menjadi beberapa bagian (direferensikan sebagai pihak untuk tujuan tutorial ini) yang tercantum di bawah ini.

  • Pengguna (u ): Pemilik file atau direktori, disorot dengan warna biru.
  • Grup (g ): Anggota grup tempat file atau direktori berada, disorot dengan warna hijau.
  • Lainnya (o ): Semua pengguna dan grup tambahan yang tidak ditetapkan secara eksplisit, disorot dengan warna merah.

Mengubah Izin File melalui Perintah rekursif chmod

Dengan pemahaman izin Linux yang tepat, baca terus untuk mempelajari cara mengubah izin file. Izin diubah melalui chmod perintah rekursif seperti yang ditunjukkan pada contoh di bawah ini.

1. Pertama, periksa izin saat ini dengan ls -l memerintah. Di sini, my_dir/index.js file ditampilkan.

2. Jalankan chmod perintah, menentukan pesta, a (semua), dan izin, rwx , atau baca/tulis/eksekusi. Perintah lengkapnya sebagai berikut:chmod a=rwx index.js .

3. Seperti yang Anda lihat, menjalankan chmod rekursif tidak mengembalikan output apa pun. Untuk memverifikasi bahwa izin telah diubah, jalankan perintah ls -l lagi.

Mengatur Izin File melalui Nilai Numerik

Ingat nomor yang terkait dengan izin seperti membaca atau menulis? Alih-alih menentukan nilai karakter, Anda dapat menentukan izin khusus melalui nomor. Dengan menambahkan nilai, Anda membuat izin khusus seperti 6 yang merupakan kombinasi dari menulis (2 ) dan baca (4 ) izin.

Pada contoh di bawah, atur izin untuk main.py file melalui perintah chmod 664 main.py . Nilai numerik dipecah sebagai berikut.

  • Pengguna: Baca dan Tulis (6 ).
  • Grup: Baca dan Tulis (6 ).
  • Lainnya: Baca (4 ).

Setelah izin diubah, verifikasi izin baru untuk main.py file dengan perintah ls -l .

Menghapus dan Menambahkan Izin File

Perintah non-numerik yang telah Anda jalankan sejauh ini menggunakan parameter penetapan (= ) dengan chmod rekursif, untuk mengatur izin eksplisit. Sebagai gantinya, Anda dapat menghapus (- ) atau tambahkan (+ ) izin ke set izin yang ada.

1. Pertama, buat daftar izin yang ada untuk README.md file melalui perintah ls -l README.md .

2. Selanjutnya, tambahkan (+ ) jalankan (x ) izin ke pihak pengguna (u ), saat menghapus (- ) baca (r ) izin dari pihak lain (o ) untuk README.md , dengan perintah berikut chmod u+x,o-r README.md . Izin pihak yang berbeda dipisahkan dengan koma (, ).

3. Jalankan ls -l README.md perintah untuk memverifikasi bahwa izin telah diubah.

Mengubah Izin File dan Direktori Secara Rekursif

Meskipun Anda membuat kemajuan, Anda hanya beroperasi pada satu file pada satu waktu. Bagaimana jika Anda memiliki banyak file untuk diubah izinnya? Saatnya meningkatkan permainan Anda dan belajar mengubah izin untuk beberapa file.

Salah satu opsi untuk mengubah banyak file adalah dengan menjalankan chmod rekursif dengan -R (rekursif, dan bukan modal) pilihan. Opsi rekursif akan mengubah izin untuk semua file, termasuk yang berada di bawah sub-direktori, di dalam jalur tertentu.

1. Perhatikan perintah berikut, chmod -R a=r,u=rwx my_dir . Sebagian besar opsi yang telah Anda lihat sebelumnya.

Perintah ini akan mengubah hak akses untuk semua file dalam direktori, my_dir dan sub-direktori, melalui opsi rekursif (-R ). File diatur agar dapat dibaca (r ) untuk semua (a ), dengan izin yang berbeda untuk pengguna saat ini (u ) diatur ke izin penuh (baca, tulis, jalankan).

Pada tangkapan layar di bawah, Anda melihat izin yang dihasilkan setelah menjalankan perintah, yang tidak menghasilkan keluaran.

2. Misalkan Anda menjalankan perintah, chmod -R a=rwx my_dir , pada direktori yang sama seperti sebelumnya, my_dir. Sekali lagi, Anda mengubah semua file di my_dir, dan subdirektorinya, untuk mengatur berikan semua (a ) izin penuh (baca, tulis, jalankan). Berikut adalah hasil dari perintah tersebut, sebagai chmod rekursif tidak menampilkan output.

3. Bagaimana dengan metode numerik? Seperti yang ditunjukkan di bawah ini, metode rekursif juga bekerja dengan izin numerik, chmod -R 770 my_dir . Di sini Anda memberikan izin penuh kepada pengguna dan grup, tetapi tidak memberikan izin kepada pihak lain.

4. Jalankan ls -l untuk memeriksa dir_saya izin file dan sub-direktori diatur dengan metode numerik.

Mendefinisikan Perilaku File dan Folder melalui Izin Khusus

Izin khusus memungkinkan beberapa hak istimewa tambahan yang unik dari set izin standar. Ada tiga izin khusus. Berikut adalah cara kerja izin khusus ini dan bagaimana Anda dapat menambahkannya ke file atau direktori.

Mengatur Izin SUID (User + S)

Biasanya dicatat sebagai SUID , itu adalah izin khusus untuk pengguna. SUID memiliki satu fungsi:file dengan SUID selalu mengeksekusi sebagai pengguna yang memiliki file, terlepas dari siapa yang mengeksekusi file.

Misalnya, pertimbangkan index.js . Untuk memberikan tambahan SUID izin, jalankan chmod u+s index.js .

Sekarang, jika Anda menjalankan ls -l index.js , Anda akan menemukan bahwa pengguna memiliki s dalam izin mereka alih-alih x.

Mengatur Izin SGID (Group + S)

Biasanya dicatat sebagai SGID , izin khusus ini memiliki dua fungsi:

  • Jika disetel untuk file, file tersebut dapat dieksekusi sebagai grup yang memiliki file tersebut, terlepas dari siapa yang mengeksekusi file tersebut.
  • Jika disetel untuk direktori, semua file yang dibuat di direktori akan memiliki grup kepemilikan disetel ke pemilik direktori.

Berlatih di index.php mengajukan. Untuk menambahkan SGID izin ke file ini, jalankan perintah berikut:chmod g+s index.php .

Sekarang, jika Anda menjalankan ls -l index.php , Anda akan menemukan bahwa grup memiliki s dalam izin mereka.

Pindah ke direktori:my_dir . Anda dapat menambahkan SGID izin ke direktori ini menggunakan perintah berikut:chmod g+s my_dir . Semua file yang dibuat di direktori ini sekarang akan memiliki grup kepemilikan diatur ke pemilik direktori. Anda dapat memeriksa izin baru direktori menggunakan ls -ld my_dir (d parameter membatasi output ke direktori saja).

Mengubah Izin Bit Lengket

Izin khusus terakhir juga dikenal sebagai "bit lengket." Izin ini tidak memengaruhi file individual. Tetapi, pada tingkat direktori, ini membatasi penghapusan file. Hanya pemilik dari sebuah file dapat menghapus file di dalam direktori tersebut.

Tambahkan bit lengket ke my_dir yang sudah dikenal lama direktori. Untuk melakukannya, jalankan perintah sebagai berikut:chmod +t my_dir .

Perhatikan bahwa, untuk menambahkan bit lengket, Anda tidak menunjukkan lainnya group(o) sebelum +t .

Saat Anda memeriksa dir_saya izin baru, Anda akan melihat huruf besar T di lainnya izin, seperti yang ditunjukkan pada tangkapan layar di bawah.

Kesimpulan

Selamat! Anda membahas banyak topik di chmod rekursif. Anda sekarang siap untuk mengatasi masalah izin sial yang muncul dengan chmod yang maha kuasa alat. Anda bahkan belajar bagaimana memanfaatkan kekuatan rekursif (-R ) pilihan.

Bagaimana Anda ingin menerapkan chmod fungsionalitas serbaguna untuk keuntungan Anda saat Anda perlu mengelola izin file atau direktori?


Linux
  1. Cara mengelola Izin/Kepemilikan File dan Direktori di Linux

  2. Tabel Izin untuk Jenis Pengguna File/Direktori Dan Sistem File

  3. Mempertahankan izin file dengan Git

  1. Izin Linux:Pengantar chmod

  2. Pasang dengan sshfs dan tulis izin file

  3. Perlu memperbaiki izin file di direktori home pengguna

  1. Linux chmod and chown – Cara Mengubah Izin dan Kepemilikan File di Linux

  2. Ssh Dan Izin Direktori Rumah?

  3. Izin File Dan Menyimpan?