今日、私の同僚の一人が新しいインターンを職場に配置するのに苦労していました。 ITチームはインターン用のアカウントを設定しましたが、そのアカウントにアクセスできませんでした。調査をしてみると、次の事実が見つかりました。
$ ls -ld /acct/c33408
drwxr-xr-x 1 root system 1 May 23 09:48 /acct/c33408
アカウントを設定した管理者が所有者とグループを変更するのを忘れてしまったようです。しかし、私を混乱させるのは、アカウントディレクトリが誰もが読んで検索できるように表示されることです。しかし、内容を見ようとすると、次のようになります。
$ ls /acct/c33408
ls: /acct/c33408: The file access permissions do not allow the specified action.
同様に、そのディレクトリに変更してみてください。
権限が許可しているように見えますが、そのディレクトリの内容が表示されないのはなぜですか?確認してみると、このディレクトリのACLはありません。
これは AIX ネットワークであり、ディレクトリーは NFS マウントにあります。
答え1
NFSファイルシステムのルートディレクトリ(/acct/c33408)に対する権限は、スタブディレクトリの権限よりも制限されているようです。 NFSファイルシステムをマウントする前にスタブディレクトリの権限を確認できますが、NFSファイルシステムをマウントするために自動マウントがトリガされると、新しい権限が原因でユーザーはそのシステムにアクセスできなくなります。
同様の結果を得て、これをローカルで(別のディレクトリ構造を使用して)テストしました。
# stub directory permissions
user@host/$ ls -ld /u/testdir
drwxr-xr-x 1 root system 1 Jun 2 17:00 /u/testdir
# trigger automount as root
user@host/$ sudo -s
root@host/# cd /u/testdir
root@host/u/testdir# exit
# NFS permissions
user@host/$ ls -ld /u/testdir
drwx------ 2 root somegroup 4096 Dec 1 2015 /u/testdir
# ls on the NFS mountpoint as a regular user
user@host:/$ ls -l /u/testdir
ls: /u/testdir: Permission denied
total 0