GNU/Linux >> Belajar Linux >  >> Linux

Mengapa folder harus dapat dieksekusi?

Direktori (biasanya tidak disebut folder di *nix) memiliki arti yang berbeda untuk bit izin dari file normal.

Untuk direktori, tulis memungkinkan membuat file baru dan menghapus file di dalamnya.

Baca memungkinkan Anda membuat daftar file di dalamnya.

Jalankan memungkinkan Anda untuk memasukkannya dan mengakses file (atau direktori lain) di dalamnya.


Karena Anda tidak dapat 'mengeksekusi' direktori, bit eksekusi telah dimanfaatkan dengan lebih baik. Bit eksekusi pada direktori memungkinkan Anda mengakses item yang ada di dalam direktori, bahkan jika Anda tidak dapat mencantumkan konten direktori.

$ mkdir -p dir/
$ echo 'Hello World!' > dir/file
$ chmod 000 dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
cat: dir/file: Permission denied
$ chmod +x dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
Hello World!

Dari chmod halaman manual:

Huruf rwxXst memilih bit mode file untuk pengguna yang terpengaruh:baca (r), tulis (w), eksekusi (atau cari direktori) (x) , jalankan/cari hanya jika file adalah direktori atau sudah memiliki izin eksekusi untuk beberapa pengguna (X), setel ID pengguna atau grup pada eksekusi, bendera penghapusan terbatas atau sticky bit (t).


Mengeksekusi izin pada direktori memungkinkan Anda melintasinya, untuk menggunakan sumber daya yang ada di dalamnya.


Linux
  1. Mengapa file .so dapat dieksekusi?

  2. mengganti nama folder besar:apakah berisiko?

  3. PSCP:Unggah seluruh folder, Windows ke Linux

  1. Mengapa Rm Dapat Menghapus File Read-only?

  2. Mengapa '~' Dipilih Untuk Mewakili Direktori Rumah?

  3. Mengapa '/' Memiliki Entri '..'?

  1. Mengapa tautan simbolis saya membuat file dan bukan folder?

  2. Mengapa 'rm -rf /' yang mengerikan bahkan diizinkan?

  3. mengapa sftp rmdir tidak berfungsi?