사용자·그룹·권한·sudo
6. 연습 문제
문제 1. 권한 읽기
-rwxr-x--- 를 숫자로 바꾸고 누가 무엇을 할 수 있는지 쓰세요.
750 입니다. 소유자는 읽기·쓰기·실행, 그룹은 읽기·실행, 기타 사용자는 아무것도 못 합니다. 앱 폴더나 배포 스크립트의 표준 권한입니다.
문제 2. 스크립트 실행 권한
deploy.sh 를 소유자만 실행할 수 있게 하고 그룹과 기타에게는 읽기도 막는 명령을 쓰세요.
chmod 700 deploy.sh기호로는 chmod u+x,go-rwx deploy.sh 입니다. 비밀번호가 든 스크립트는 이 값이 맞습니다.
문제 3. 서비스 계정
로그인이 불가능한 시스템 계정 batch 를 만들고 /opt/batch 를 그 계정 소유로 만드는 명령을 쓰세요.
sudo useradd -r -s /sbin/nologin batch
sudo mkdir -p /opt/batch
sudo chown -R batch:batch /opt/batch-r 로 시스템 계정, nologin 으로 셸 차단입니다.
문제 4. sudoers 한 줄
ops 그룹이 systemctl restart myapp 만 비밀번호 없이 실행하도록 하는 sudoers 줄을 쓰세요.
%ops ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart myapp% 가 그룹 표시입니다. visudo 로 넣고 sudo -l 로 확인합니다.
문제 5. 파일·폴더 분리 적용
/opt/myapp 아래 파일은 640, 폴더는 750 으로 한 번에 맞추는 명령을 쓰세요.
find /opt/myapp -type f -exec chmod 640 {} +
find /opt/myapp -type d -exec chmod 750 {} +chmod -R 하나로는 파일과 폴더를 구분할 수 없어 find -type 으로 나눕니다.