이 "읽기 가능한" 디렉터리를 볼 수 없는 이유는 무엇입니까?

이 "읽기 가능한" 디렉터리를 볼 수 없는 이유는 무엇입니까?

오늘 제 동료 중 한 명이 새로운 인턴을 직장에 배치하는 데 어려움을 겪고 있었습니다. 우리 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

관련 정보