GNU/Linux >> Belajar Linux >  >> Linux

Jalankan vs Baca bit. Bagaimana cara kerja izin direktori di Linux?

Saat menerapkan izin ke direktori di Linux, bit izin memiliki arti yang berbeda dari pada file biasa.

  • Bagian baca (r ) memungkinkan pengguna yang terpengaruh untuk membuat daftar file di dalam direktori
  • Bagian tulisan (w ) memungkinkan pengguna yang terpengaruh untuk membuat, mengganti nama, atau menghapus file di dalam direktori, dan mengubah atribut direktori
  • Bagian eksekusi (x ) memungkinkan pengguna yang terpengaruh untuk masuk ke direktori, dan mengakses file dan direktori di dalamnya
  • Bagian melekat (T , atau t jika bit eksekusi disetel untuk yang lain) menyatakan bahwa file dan direktori di dalam direktori itu hanya dapat dihapus atau diganti namanya oleh pemiliknya (atau root)

Pertama, pikirkan:Apa itu direktori? Itu hanya daftar item (file dan direktori lain) yang ada di dalamnya. Jadi:direktori =daftar nama.

Baca sedikit =Jika disetel, Anda dapat membaca daftar ini. Jadi, misalnya, jika Anda memiliki direktori bernama poems :

  • Anda dapat ls poems dan Anda akan mendapatkan daftar item yang tinggal di dalamnya (-l tidak akan mengungkapkan detail apa pun!).
  • Anda dapat menggunakan pelengkapan baris perintah yaitu touch poems/so <TAB> poems/somefile .
  • Anda tidak dapat membuat poems direktori kerja Anda (yaitu cd ke dalamnya).

Menulis sedikit =Jika disetel, Anda dapat memodifikasi daftar ini yaitu Anda dapat {menambah, mengganti nama, menghapus} nama di dalamnya. Tetapi! Anda benar-benar dapat melakukannya hanya jika bit eksekusi juga disetel.

Eksekusi bit =Jadikan direktori ini direktori kerja Anda yaitu cd ke dalamnya. Anda memerlukan izin ini jika ingin:

  • mengakses (membaca, menulis, mengeksekusi) item yang ada di dalamnya.
  • memodifikasi daftar itu sendiri yaitu menambah, mengganti nama, menghapus nama di dalamnya (tentu saja bit tulis harus disetel di direktori).

Kasus menarik 1 :Jika Anda memiliki izin tulis + eksekusi pada direktori, Anda dapat {menghapus, mengganti nama} item yang ada di dalamnya meskipun Anda tidak memiliki izin menulis pada item tersebut. (gunakan mata lengket untuk mencegah hal ini)

Kasus menarik 2 :Jika Anda telah menjalankan (tetapi tidak menulis) izin pada direktori DAN Anda memiliki izin menulis pada file yang ada di dalamnya, Anda tidak dapat menghapus file tersebut (karena melibatkan penghapusan dari daftar). Namun, Anda dapat menghapus isinya, mis. jika itu adalah file teks, Anda dapat menggunakan vi untuk membukanya dan menghapus semuanya. File akan tetap ada, tetapi akan kosong.

Ringkasan:

Baca sedikit =Anda dapat membaca nama-nama di daftar.
Menulis sedikit =Anda dapat {add,rename,delete} nama pada daftar JIKA bit eksekusi juga diatur.
Eksekusi bit =Anda dapat menjadikan direktori ini sebagai direktori kerja Anda.

PS:Artikel yang disebutkan oleh Kusalananda adalah bacaan yang bagus.


Saya telah menyiapkan tabel ini dengan semua kemungkinan izin dan efek praktisnya.

(*) Hanya nama file :atribut lain seperti ukuran atau tanggal tidak dapat diakses. Misalnya. Anda dapat menggunakan tombol tab untuk melengkapi otomatis tetapi bukan perintah ls.

Beberapa pemikiran :

  • Dengan X tidak disetel , R dan W sebagian besar tidak berguna.
  • X sendirian menonaktifkan RW memberi Anda rasa aman yang salah karena Anda dapat membaca dan menulis konten file dan mengakses subdirektori secara membabi buta. Anda harus yakin bahwa setiap turunan langsung dari direktori memiliki izin eksplisit.
  • Jarang Anda menggunakan nilai selain:
    • 0 :Tidak ada akses.
    • 1 :Akses minimum yang memungkinkan melintasi.
    • 5 :Izinkan membaca / menulis, tetapi tidak mengubah struktur pohon direktori itu sendiri.
    • 7 :Akses penuh.

Linux
  1. Linux – Jalankan Vs Baca Bit. Bagaimana Izin Direktori Di Linux Bekerja?

  2. Cara gzip Direktori di Linux

  3. UNIX / Linux:Panduan Pemula untuk Izin File dan Direktori ( umask, chmod, baca, tulis, jalankan)

  1. Memahami Bagaimana Umask Mengontrol Izin File / Direktori Awal di Linux

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

  3. Bagaimana cara menjalankan skrip bash?

  1. Cara memperbarui symlink Linux

  2. Cara Mengganti Nama Direktori di Linux

  3. Izin File di Linux – Baca/Tulis/Jalankan