리눅스 파일 / 디렉토리 권한 설정 방법

리눅스에는 파일의 소유자, 소유그룹이라는 게 존재하고 필요에 맞게 권한을 설정한다. 권한(permission) 부여는 chmod 명령어를 사용한다.

1. 권한 개념 정리

권한이라는 건 아래의 이미지처럼 파일이나 디렉토리에 부여되는 읽기(r), 쓰기(w), 실행(x)와 소유자(root), 소유그룹(root)를 의미한다. 하나씩 살펴보자.

linux permission

권한을 부여받는 대상은 아래 3가지다.

  • 소유자(u) : 파일이나 디렉토리의 소유자
  • 소유자 그룹(g) : 파일이나 디렉토리의 소유 그룹
  • 기타(o) : 그외


부여할 수 있는 권한은 아래의 3가지다.

  • 읽기(r)
  • 쓰기(w)
  • 실행(x)

2. 알파벳으로 권한 부여

이제 권한을 부여할 건데 첫번째 방법은 알파벳을 이용하는 것이다. 위에 정리해 놓은 내용을 그대로 적용하면 된다.

chmod [권한부여 대상][권한부여 액션][부여할 권한] 파일이름
  • 권한 추가 : +
  • 권한 제거 : –
  • 권한 세팅 : =

예시 1. 소유자 쓰기 권한 부여

[root@newhost permission]# chmod u+w permission_test

예시 2. 소유자그룹 읽기 권한 제거

[root@newhost permission]# chmod g-r permission_test

예시 3. 소유자 읽기,쓰기,실행 권한 / 소유자그룹 읽기,쓰기 권한 / 기타 읽기 권한 부여

[root@newhost permission]# chmod u+rwx,g+rw,o=r permission_test

이렇게 알파벳을 이용하는 방법은 직관적이라는 장점이 있긴한데 명령어가 길어지는 단점이 있다.

그래서 개인적으로는 숫자로 권한 부여하는 방법을 추천한다.

3. 숫자로 권한 부여

chmod [소유자 권한][소유자그룹 권한][기타 사용자 권한] 파일명
권한
0
1–x
2-w-
3-wx
4r–
5r-x
6rw-
7rwx

숫자로 권한을 넣을 땐 소유자, 소유그룹, 기타 순으로 숫자를 넣어준다.

예시 1. 소유자 읽기,쓰기,실행 권한 / 소유자그룹 읽기,쓰기 권한 / 기타 읽기 권한 부여

[root@newhost permission]# chmod 764 permission_test

이거 위에서 알파벳으로 했으면

[root@newhost permission]# chmod u+rwx,g+rw,o=r permission_test

인데 훨씬 간단한 걸 알 수 있다.

처음에 숫자에 매칭되는 권한을 외우는 게 좀 번거로울 수 있지만 대부분은 754나 755 처럼 거의 쓰는 패턴을 반복적으로 쓰기 때문에 숫자로 쓰는 걸 추천한다.

4. 하위 디렉토리 전체 권한 부여

권한 부여는 보통 하나의 파일보다는 특정 디렉토리와 하위 디렉토리 전체를 포함해서 주는 경우가 많다.

이럴 땐 -R 옵션을 사용한다.

[root@newhost permission]# chmod -R 754 permision_dir

관련 글

댓글 남기기