ユーザーがディレクトリを参照できますが、ディレクトリに何も存在することを証明できないディレクトリを設定しようとしています。ユーザーに実行権限はありますが、読み取り権限はないように権限を設定しようとしました。残念ながら、返されたエラー(「該当するファイルやディレクトリがありません」または「権限が拒否されました」)は、そのエントリがディレクトリに存在することを確認します。
たとえば、これまで見た内容は次のとおりです。
$ sudo ls -l permTest/
total 4
drwxr-x--- 2 root root 4096 Aug 10 12:35 exists
$ ls -ld permTest
drwxr-x--x 3 root root 4096 Aug 10 12:35 permTest/
$ ls permTest
ls: cannot open directory 'permTest': Permission denied
$ ls permTest/doesnotexist
ls: cannot access 'permTest/doesnotexist': No such file or directory
$ ls permTest/exists
ls: cannot open directory 'permTest/exists': Permission denied
最後の行のエラーメッセージが同じになることを願っています。
関連がある場合は、MapRFSで設定しようとします。これは広くPOSIXと互換性があります。
答えを読んだ。絶対パス名でしかアクセスできない見えないディレクトリを作成するには?しかし、私の問題に対する解決策が見つかりませんでした。
答え1
ユーザーがファイルを一覧表示できる場合、ファイルの存在を隠すことはできません。
$ ls -l permTest/insidedir/doesexist
-rw-r--r-- 1 root root 0 Aug 10 01:55 permTest/insidedir/doesexist
両方のディレクトリ(permTestとinsidedir)はルートが所有し、次のx
権限のみを持ちます。
$ sudo ls -la permTest/insidedir/
total 8
d--x--x--x 2 root root 4096 Aug 10 01:55 .
d--x--x--x 3 root root 4096 Aug 10 01:54 ..
-rw-r--r-- 1 root root 0 Aug 10 01:55 doesexist
$ ls -la permTest/
ls: cannot open directory permTest/: Permission denied
$ ls -la permTest/insidedir/
ls: cannot open directory permTest/insidedir/: Permission denied