Linux 디렉터리에 액세스할 수 없습니다.

Linux 디렉터리에 액세스할 수 없습니다.

두 명의 Linux 사용자가 있습니다.

cloudera
omega

위의 두 사용자는 Batchuser 그룹에 속해 있습니다.

[omega@node1 projects]$ ls -ltr
drwxrwsr-x+  9 cloudera        batchusers        4096 May  5 10:53  omega_events
[omega@node1 projects]$ cd omega_events
bash: cd: omega_events: Permission denied
[omega@node1 projects]$ cd omega_events
bash: cd: omega_events: Permission denied
[omega@node1 projects]$

오메가 사용자가 omega_events 폴더에 액세스할 수 없는 것으로 나타났습니다.

그래서 cloudera 사용자로 로그인하고 omega 사용자에게 777 권한을 부여했습니다.

[cloudera@node1 projects]$ chmod 777 omega_events 
[cloudera@node1 projects]$ ls -ltr
drwxrwsrwx+  9 cloudera        batchusers        4096 May  5 10:53 omega_events

그 후 omega 사용자로 로그인했지만 여전히 omega_events 폴더에 액세스할 수 없습니다.

[omega@node1 projects]$ ls -ltr
drwxrwsrwx+  9 cloudera        batchusers        4096 May  5 10:53   omega_events
[omega@node1 projects]$ cd omega_events
bash: cd: omega_events: Permission denied
[omega@node1 projects]$


[omega@node1 projects]$ id omega
uid=1928292922(omega) gid=1928292922(omega) groups=1928292922(omega),1478288372(cc-manager),1478288372(batchusers),1478221121(emerge),1438902221(data_analytics)


[omega@node1 projects]$ getfacl omega_events
 # file: omega_events
 # owner: cloudera
 # group: batchusers
 user::rwx
 user:omega:rw-
 group::r-x
 group:batchusers:rw-
 mask::rwx
 other::rwx
 default:user::rwx
 default:user:omega:rw-
 default:group::r-x
 default:group:batchusers:rw-
 default:mask::rwx
 default:other::r-x

누구든지 이 문제를 해결하도록 도와줄 수 있나요?

답변1

설정된 그룹 ID 비트 제거

chmod는 명시적으로 지우지 않는 한 set-group-ID 비트를 유지하므로 chmod 777 omega_events도움이 되지 않습니다.

대신, cloudera처럼 set-group-ID 비트를 지운 다음 chmod를 반복하여 순회 권한을 부여해야 합니다(엑스) 모두에게 batchusers.

[cloudera@node1 projects]$ chmod g-s omega_events 
[cloudera@node1 projects]$ chmod 775 omega_events 

그 후에는

[cloudera@node1 projects]$ ls -ltr
drwxrwxr-x+  9 cloudera        batchusers        4096 May  5 10:53 omega_events

액세스 제어 목록 복구

또 다른 문제는 에 액세스 제어 목록이 있다는 것입니다 omega_events. 이는 +모델 라인 끝에 기호로 표시됩니다.

다음 규칙으로 인해 사용자 권한이 거부됩니다.omega

user:omega:rw-
group:batchusers:rw-

다음 명령을 사용하여 제거할 수 있습니다.

[cloudera@node1 projects]$ setfacl -x u:omega omega_events
[cloudera@node1 projects]$ setfacl -x g:batchusers omega_events

당신은 자격이

[cloudera@node1 projects]$ getfacl omega_events
 # file: omega_events
 # owner: cloudera
 # group: batchusers
 user::rwx
 group::r-x
 mask::rwx
 other::rwx
 default:user::rwx
 default:user:omega:rw-
 default:group::r-x
 default:group:batchusers:rw-
 default:mask::rwx
 default:other::r-x

또한 기본 ACL을 제거하려면 다음 명령을 사용하십시오.

[cloudera@node1 projects]$ setfacl -k omega_events

관련 정보