정보보안
리눅스에서 자주 사용하는 권한 명령어: chmod, chown, umask 정리
후추멍멍이
2025. 6. 30. 14:16
728x90
리눅스 환경에서는 파일과 디렉터리에 대해 누가 접근할 수 있을지를 명확히 정의하는 것이 기본적인 보안 관리 방법 중 하나다.
이 과정에서 많이 사용되는 명령어가 chmod, chown, umask다. 각 명령어의 기능과 실제 사용 예시를 함께 정리한다.
chmod: 권한 변경
chmod는 파일이나 디렉터리의 접근 권한을 변경하는 명령어다.
권한 구조
- 사용자(user), 그룹(group), 기타(others)에 대해 읽기(r), 쓰기(w), 실행(x) 권한을 부여하거나 제거할 수 있다.
- 숫자 모드 또는 기호 모드로 설정 가능하다.
사용 예시
chmod 755 script.sh
→ 사용자: 읽기/쓰기/실행, 그룹: 읽기/실행, 기타: 읽기/실행
chmod u+x install.sh
→ 사용자에게 실행 권한 추가
chmod go-rw confidential.txt
→ 그룹과 기타 사용자로부터 읽기/쓰기 권한 제거
chown: 소유자 변경
chown은 파일이나 디렉터리의 소유자 또는 소유 그룹을 변경할 때 사용한다.
사용 예시
chown alice file.txt
→ file.txt의 소유자를 alice로 변경
chown alice:developers file.txt
→ 소유자는 alice, 그룹은 developers로 변경
chown :staff report/
→ 소유자는 그대로 두고, 그룹만 staff로 변경
umask: 기본 권한 설정
umask는 새로 생성되는 파일이나 디렉터리에 적용되는 기본 권한 마스크 값이다.
즉, 최대 권한에서 umask 값을 빼 최종 권한이 정해진다.
기본 규칙
- 일반 파일: 최대 권한 666 (rw-rw-rw-)
- 디렉터리: 최대 권한 777 (rwxrwxrwx)
예시: umask 값이 002일 경우
- 파일: 666 - 002 = 664 → rw-rw-r--
- 디렉터리: 777 - 002 = 775 → rwxrwxr-x
사용 예시
umask
→ 현재 설정값 확인
umask 027
→ 새로 만든 파일은 640, 디렉터리는 750 권한으로 생성
실습 시나리오 요약
- touch example.txt로 새 파일 생성
- ls -l example.txt로 초기 권한 확인
- chmod 600 example.txt로 읽기/쓰기 권한만 부여
- chown bob:users example.txt로 소유자 및 그룹 변경
- umask 077을 설정 후 새로운 파일을 만들고 권한 차이 확인
마무리
chmod, chown, umask는 파일 시스템을 다루는 데 있어 가장 기초적이고도 필수적인 도구다.
권한을 정확히 설정하고 관리하는 것은 단순한 편의가 아니라, 시스템을 안전하게 운영하기 위한 기본 전제다.
728x90