두 명의 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