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

사용자·그룹·권한·sudo

섹션 7진행 0 / 10

4. 응용 변형 예제

4.1 Permission denied 진단

bash
ls -ld /opt/myapp /opt/myapp/conf /opt/myapp/conf/env
id
namei -l /opt/myapp/conf/env

namei -l 은 경로의 각 단계 권한을 한 줄씩 보여 줍니다. 중간 폴더에 x 가 없는 경우를 이것으로 찾습니다.

4.2 팀 공유 폴더

bash
sudo groupadd team
sudo mkdir /srv/team && sudo chgrp team /srv/team
sudo chmod 2775 /srv/team

2775 의 앞 2 가 setgid 입니다. 누가 만들어도 파일 그룹이 team 이 되고 그룹 쓰기가 열려 있어 서로 고칠 수 있습니다.

4.3 잘못 준 777 찾기

bash
find /opt -type f -perm -o+w -ls
find /opt -type d -perm 777

-perm -o+w 는 기타 사용자에게 쓰기가 열린 파일입니다. 감사 전에 한 번 돌려 정리합니다.

4.4 키 파일 권한

bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa ~/.ssh/authorized_keys

ssh 는 키 파일이 600 이 아니면 거부합니다. 운영 묶음 01 의 키 접속이 안 될 때 첫 번째 확인 항목입니다.

4.5 sudo 사용 기록

bash
sudo journalctl _COMM=sudo --since today
sudo grep sudo /var/log/secure | tail -n 5

누가 언제 무엇을 root 로 했는지 남습니다. 장애 후 "누가 재시작했나" 를 여기서 봅니다.