GNU/Linux >> Belajar Linux >  >> Linux

Apakah Izin Direktori Induk Penting Saat Mengakses Subdirektori?

Jika saya memiliki folder root dengan beberapa izin terbatas, katakanlah 600, dan jika folder/file anak memiliki izin 777, apakah semua orang dapat membaca/menulis/mengeksekusi file anak meskipun folder root memiliki 600?

Jawaban yang Diterima:

Aturan yang tepat adalah:Anda dapat melintasi direktori jika dan hanya jika Anda memiliki izin untuk mengeksekusinya.

Jadi misalnya untuk mengakses dir/subdir/file , Anda perlu menjalankan izin pada dir dan dir/subdir , ditambah izin pada file untuk jenis akses yang Anda inginkan. Masuk ke kasus sudut, saya tidak yakin apakah itu universal bahwa Anda perlu mengeksekusi izin pada direktori saat ini untuk mengakses file melalui jalur relatif (Anda lakukan di Linux).

Cara Anda mengakses file penting. Misalnya, jika Anda telah mengeksekusi izin pada /foo/bar tapi tidak di /foo , tetapi direktori Anda saat ini adalah /foo/bar , Anda dapat mengakses file di /foo/bar melalui jalur relatif tetapi tidak melalui jalur absolut. Anda tidak dapat mengubah ke /foo/bar dalam skenario ini; proses yang lebih istimewa mungkin telah dilakukan cd /foo/bar sebelum pergi tanpa hak. Jika sebuah file memiliki beberapa tautan keras, jalur yang Anda gunakan untuk mengaksesnya menentukan batasan akses Anda.

Tautan simbolis tidak mengubah apa pun. Kernel menggunakan hak akses dari proses pemanggilan untuk melintasinya. Misalnya, jika sym adalah tautan simbolis ke direktori dir , Anda perlu menjalankan izin pada dir untuk mengakses sym/foo . Izin pada symlink itu sendiri mungkin atau mungkin tidak penting tergantung pada OS dan sistem file (beberapa menghormatinya, beberapa mengabaikannya).

Menghapus izin eksekusi dari direktori root secara efektif membatasi pengguna ke bagian dari pohon direktori (yang harus diubah menjadi proses yang lebih istimewa). Ini membutuhkan daftar kontrol akses untuk digunakan. Misalnya, jika / dan /home terlarang untuk joe (setfacl -m user:joe:0 / /home ) dan /home/joe adalah joe direktori home, lalu joe tidak akan dapat mengakses seluruh sistem (termasuk menjalankan skrip shell dengan /bin/sh atau binari yang terhubung secara dinamis yang perlu mengakses /lib , jadi Anda perlu mempelajari lebih dalam untuk penggunaan praktis, mis. setfacl -m user:joe:0 /*; setfacl -d user:joe /bin /lib ).

Terkait:Dapatkan "Izin ditolak" saat mengarahkan output dari Sudo echo "xyz" ke file??

Izin baca pada direktori memberikan hak untuk menghitung entri. Memberikan izin eksekusi tanpa memberikan izin baca terkadang berguna:nama entri berfungsi sebagai kata sandi untuk mengaksesnya. Saya tidak bisa memikirkan apa gunanya memberikan izin baca atau tulis ke direktori tanpa izin eksekusi.


Linux
  1. Pengenalan perintah chmod Linux

  2. [CentOS 7 Apache]:Izin ditolak:izin file menolak akses server

  3. Rsync Apakah Mengubah Izin Direktori?

  1. UNIX / Linux :Apa izin yang benar dari direktori /tmp dan /var/tmp?

  2. Akses izin /dev/mem

  3. Apakah akses ke tumpukan serial?

  1. Apa yang dilakukan izin eksekusi?

  2. Bagaimana cara mengatur bit paritas saat menggunakan layar untuk mengakses port serial

  3. Izin ditolak karena izin pencarian tidak ada pada komponen jalur, setelah chmod dan chgrp