注:ユーザー名が公開投稿に変更されました。
root権限を持つLinuxサーバーがあります。 SSHキーを使用してSSHを介してのみログインできるユーザーアカウント「privuser」があります。ただし、一部のユーザーの変更により、privuserは自分のディレクトリを読み取ることができなくなります。ルートなのにできません!
[root@server ~]# id privuser
uid=29772(privuser) gid=509(abc) groups=509(abc),1519(ghi)
[root@server ~]# groups privuser
privuser : abc ghi
[root@server ~]# su - privuser
su: warning: cannot change directory to /usr/home/xyz/abc/privuser: Permission denied
Your password expires on never
-bash: cd: /usr/home/xyz/abc/privuser: Permission denied
cannot cd to home directory /usr/home/xyz/abc/privuser
-bash: /usr/home/xyz/abc/privuser/.bash_profile: Permission denied
-bash-4.1$ exit
logout
-bash: /usr/home/xyz/abc/privuser/.bash_logout: Permission denied
ルートとしてもこのファイルを見ることはできません。
[root@server ~]# ls -alh /usr/home/xyz/abc/privuser/
ls: cannot access /usr/home/xyz/abc/privuser/: Permission denied
ただし、/usr/home/xyz/abc/privuserはNFSマウントなので、ディレクトリとファイルがそのUIDに属しているかどうかをNFSサーバーから直接確認できます。
ここで何が起こっているのか、どうすればわかりますか?
編集:(ls出力を追加)
testuserは、問題のあるユーザー(privuser)と同じグループ(abc)に属するサーバー上の他のユーザーです。これがtestuserから得られる情報です。
[testuser@server ~]$ ls -alh /usr/home/xyz/abc/
total 196K
drwxr-s--- 37 root xyz 4.0K Nov 2 15:47 .
drwxr-xr-x 9 root root 4.0K Feb 1 2016 ..
drwx------ 5 testuser abc 4.0K Nov 29 14:12 testuser
drwxr-xr-x 13 privuser abc 16K Jan 4 21:05 privuser
.....
同じグループabcに属するtestuserはprivuserのファイルを見ることができます。
testuser@server ~]$ ls -alh /usr/home/xyz/abc/privuser
total 124K
drwxr-xr-x 13 privuser abc 16K Jan 4 21:05 .
drwxr-s--- 37 root **xyz** 4.0K Nov 2 15:47 .. <========== !!
drwxr-xr-x 2 privuser abc 4.0K Jan 4 12:38 arkiv20180104
-rw------- 1 privuser abc 15K Jan 4 21:05 .bash_history
-rw-r--r-- 1 privuser abc 99 Jan 4 12:31 .bashrc
drwxr-xr-x 3 privuser abc 4.0K Jan 4 12:42 .conda
drwx------ 2 privuser abc 4.0K Jan 23 2017 .ssh
....
解決策: privuserのホームディレクトリはxyzが所有するディレクトリにありますが、xyzグループには属していません。 xyzグループにprivuserを追加しましたが、権限の問題がなくなりました。