홈 › 리눅스 명령어 › 03 / 10

사용자·그룹·권한·sudo

섹션 7진행 0 / 10

6. 연습 문제

문제 1. 권한 읽기

-rwxr-x--- 를 숫자로 바꾸고 누가 무엇을 할 수 있는지 쓰세요.

750 입니다. 소유자는 읽기·쓰기·실행, 그룹은 읽기·실행, 기타 사용자는 아무것도 못 합니다. 앱 폴더나 배포 스크립트의 표준 권한입니다.

문제 2. 스크립트 실행 권한

deploy.sh 를 소유자만 실행할 수 있게 하고 그룹과 기타에게는 읽기도 막는 명령을 쓰세요.

bash
chmod 700 deploy.sh

기호로는 chmod u+x,go-rwx deploy.sh 입니다. 비밀번호가 든 스크립트는 이 값이 맞습니다.

문제 3. 서비스 계정

로그인이 불가능한 시스템 계정 batch 를 만들고 /opt/batch 를 그 계정 소유로 만드는 명령을 쓰세요.

bash
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 줄을 쓰세요.

text
%ops ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart myapp

% 가 그룹 표시입니다. visudo 로 넣고 sudo -l 로 확인합니다.

문제 5. 파일·폴더 분리 적용

/opt/myapp 아래 파일은 640, 폴더는 750 으로 한 번에 맞추는 명령을 쓰세요.

bash
find /opt/myapp -type f -exec chmod 640 {} +
find /opt/myapp -type d -exec chmod 750 {} +

chmod -R 하나로는 파일과 폴더를 구분할 수 없어 find -type 으로 나눕니다.