정보보안

리눅스에서 자주 사용하는 권한 명령어: 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 권한으로 생성


실습 시나리오 요약

  1. touch example.txt로 새 파일 생성
  2. ls -l example.txt로 초기 권한 확인
  3. chmod 600 example.txt로 읽기/쓰기 권한만 부여
  4. chown bob:users example.txt로 소유자 및 그룹 변경
  5. umask 077을 설정 후 새로운 파일을 만들고 권한 차이 확인

마무리

chmod, chown, umask는 파일 시스템을 다루는 데 있어 가장 기초적이고도 필수적인 도구다.
권한을 정확히 설정하고 관리하는 것은 단순한 편의가 아니라, 시스템을 안전하게 운영하기 위한 기본 전제다.

728x90