Nota: nome de usuário modificado para postagem pública.
Eu tenho um servidor Linux no qual tenho privilégios de root. Existe uma conta de usuário "privuser" que só pode ser SSH usando chaves SSH. Mas, devido a algumas mudanças de usuário, o privuser não consegue mais ler seu próprio diretório. Nem eu posso, apesar de ser raiz!
[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
Eu não consigo ver esses arquivos, mesmo como Root.
[root@server ~]# ls -alh /usr/home/xyz/abc/privuser/
ls: cannot access /usr/home/xyz/abc/privuser/: Permission denied
No entanto, / usr / home / xyz / abc / privuser é uma montagem do NFS, portanto, posso verificar diretamente no servidor NFS que o diretório e os arquivos são de fato pertencentes a esse UID.
Como descubro o que está acontecendo aqui?
EDIT: (Adicionando saída ls)
testuser é outro usuário no servidor pertencente ao mesmo grupo - abc como usuário problemático (privuser), e aqui está o que eu posso ls do 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
.....
testuser, pertencente ao mesmo grupo abc pode ver os arquivos do 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
....
Solução: O privuser não pertence ao grupo xyz, apesar de seu diretório home estar localizado em um diretório de propriedade do xyz. Eu adicionei o privuser ao grupo xyz e o problema das permissões desapareceu.