다음 두 명령이 포함된 스크립트를 우연히 발견했습니다.
chown -R some-user:0 /some/dir
chmod -R g+w /some/dir
특히 이는 nginx 권한이 없는 Docker 이미지의 Dockerfile입니다.
루트 그룹이 소유한 파일에 그룹 쓰기 권한을 추가하려는 이유가 있습니까? 루트 그룹에 다른 사용자가 없다는 점을 고려할 때 영향을 미칠 수 있는 시나리오가 있습니까?
답변1
첫째, 질문은 "루트 그룹에 사용자가 있습니까?"가 아니라 "루트 그룹에 사용자가 있습니까?"입니다.
사용자(실제 사용자 및 시스템 사용자) 또는 실행 중인 프로세스는 다음 방법 중 하나로 루트 그룹에 대한 액세스 권한을 얻을 수 있습니다.
- (분명히) /etc/group의 루트 그룹에 나열되어 있는 경우
- /etc/passwd의 4열 루트 그룹에 나열되어 있는 경우
- 실행 파일이 sgid 루트인 경우
- 일부 시스템 서비스(예: systemd 또는 sudo)가 루트 그룹에서 프로세스를 시작하는 경우
- 내가 잊어버린 다른 것들이 있을 수도 있어요
이런 일이 발생하면 그룹 루트가 파일을 쓸 수 있는지 여부가 중요합니다.