Linux - 권한(permission)에 대해 알아보자.
Linux - 권한(permission)에 대해 알아보자.
권한(Permission)이란?
권한이란 특정 사용자가 어떠한 디렉토리, 파일에 접근할 수 있도록 만들어주는 것을 말한다.
접근 가능한 파일인지를 확인하는 방법은 ls를 사용하는 것이다.
파일 권한 확인 명령어
1
ls -l
결과 예시
1
2
3
total 840
lrwxrwxrwx 1 root root ...
-rw-r----- 1 syslog adm ...
- syslog: 소유자
- adm: 소유 그룹
아래 내용이 권한 확인에서 주의깊게 봐야할 부분이다.
1
-rw-r-----
첫 글자는 해당 파일이 디렉터리인지 파일인지 구분하는 것이다.
-: 파일d: 디렉터리
1
rw-r-----
위 코드를 기준으로 설명하자면 아래와 같다.
- 1 ~ 3 글자: 소유자 권한
- 4 ~ 6 글자: 소유 그룹 권한
- 7 ~ 9 글자: 그 외 사용자
각 글자들이 의미하는 것들은 파일, 디렉터리에 따라 달라진다.
파일일 경우
- r(read): 파일 읽기
- w(write): 파일 수정
- x(excute): 파일 실행(쉘 스크립트인 경우)
디렉터리인 경우
- r(read): 디렉터리 내부 파일 조회
- w(write): 디렉터리 내 파일 생성/제거
- x(excute): 디렉터리 내부 접근
디렉터리 내부에 파일을 생성/삭제(
w)하기 위해선 접근(x) 권한이 필요하기 때문에 대부분의 경우wx를 같이 부여한다.
권한이 없을 경우 -로 표시된다.
권한 제어
권한을 제어하기 위해선 chmod라는 명령어를 사용하게된다.
chmod 구조
1
chmod [3자리숫자] 파일명
이때 사용되는 숫자는 아래와 같다.
- r(read): 4
- w(write): 2
- x(excute): 1
예시
1
chmod 777 test.txt
각 숫자의 자리는 아래와 같은 의미를 가진다.
1
2
소유자 소유그룹 그외사용자
7 7 7
이 외에도 아래와 같은 형태로도 사용이 가능하다.
1
chmod +x test.sh
위 커맨드는 소유자, 소유그룹, 그외 사용자 모두에게 실행 권한(x)을 부여한다.
This post is licensed under CC BY 4.0 by the author.