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