ディレクトリ内のファイルをcdまたはアクセスするには、すべての親ディレクトリに対する+ x権限が必要です。
ファイルを一覧表示するには、ディレクトリで+ r権限が必要です。だからここに例があります:
これらのコマンドを発行して、いくつかの設定を行うことができます。
mkdir -p /a/b
touch /a/b/{file1,file2}
cd /a
echo 1 > b/file1
echo 2 > b/file2
権利なし:
pwd
/a$ pwd
/a
/a$ chmod -rwx b
/a$ ls -l
d--------- 4 mike admin 136 Jun 1 14:44 b/
/a$ ls -l b/
ls: : Permission denied
/a$ cat b/file1
cat: b/file1: Permission denied
実行のみ
/a$ chmod +x b
/a$ ls -l
total 0
d--x--x--x 4 mike admin 136 Jun 1 14:44 b/
/a$ ls -l b
ls: b: Permission denied
/a$ cat b/file1
a
/a$ ls -l b/file1
-rw-r--r-- 1 mike admin 2 Jun 1 14:43 b/file1
今読んで:
/a$ chmod +r b/
/a$ ls -l
/a$ ls -l
total 0
dr-xr-xr-x 4 mike admin 136 Jun 1 14:44 b/
/a$ ls -l b/
total 16
-rw-r--r-- 1 mike admin 2 Jun 1 14:43 file1
-rw-r--r-- 1 mike admin 2 Jun 1 14:43 file2
この部分は少し紛らわしいかもしれませんが、読み取りと実行のみを行うと、実際にはディレクトリ内のファイルを一覧表示できますが、inodeメタデータは読み取れません。そのため、権限が拒否されますが、ファイルのリストを表示できます。以下のようなディレクトリにあります。
/a$ chmod -x b/
/a$ ls -l
total 0
dr--r--r-- 4 mike admin 136 Jun 1 14:44 b/
/a$ ls -l b
ls: file1: Permission denied
ls: file2: Permission denied
chmod +grx -R /a/b/c/d/e/folder
ますか?それは間違っている、それを実行するための正しい方法は次のとおりです。chmod g+rx -R /a/b/c/d/e/folder