파일이나 디렉토리를 누가 읽기(r), 쓰기(w), 실행(x)할 수 있는지 권한을 설정하는 것
linux에서는 개별 파일 별로 permission 설정이 가능하며, 이를 통해 파일 수준의 보안이 가능함
예를 들어서 permission이 없는 사용자는 파일에 접근할 수 없음
Permission 확인
$ ls -al
ls -al 명령어를 통해 파일의 permission을 확인할 수 있음
Permission 이해하기
-rwxrw-r--
permission은 다음과 같이 총 10개의 알파벳으로 이루어져 있음
permission
의미
r
읽기(read)
w
쓰기(write)
x
실행(execute)
permission은 크게 세가지 종류, r은 읽기(read), w는 쓰기(write), x는 실행(execute)를 뜻함
예를 들어서 rw-일 경우 읽기와 쓰기만 허용
종류
사용자(User)
그룹(Group)
다른 사용자(Other)
-: 파일
-: 권한 없음
d: 디렉토리
r: 읽기
w: 쓰기
x:실행
r: 읽기
w: 쓰기
x:실행
r: 읽기
w: 쓰기
x:실행
첫번째 자리는 파일인지 디렉토리인지 여부를 나타냄, 파일인 경우 - 이고 디렉토리인 경우 d
두번째부터 나오는 9개의 알파벳이 permission을 나타냄
permission 부분은 3개씩 끊어서 "사용자", "그룹", "다른 사용자"의 permission을 나타냄
예를 들어서 "-rwxrw-r--"에서 rwx, rw-, r--로 끊고 각각 "사용자", "그룹", "다른 사용자"의 permission에 해당
Permission변경하기
대상
설정기호
u
사용자(user)
+
Permission 추가
g
그룹(group)
-
Permission제거
o
다른 사용자(other)
=
Permission 부여
a
모든 사용자(all)
$ chmod [대상][설정기호][권한] [파일 혹은 디렉토리]
$ chmod a+x test.txt # 모든 사용자에게 실행 권한 추가
$ chmod g-x test.txt # 다른 사용자에게 실행 권한 제거
$ chmod g=rw test.txt # 다른 사용자에게 읽기, 쓰기 권한 부여
$ chmod u-w,g+w,o+wbtest.txt # 다음과 같이 ,로 여러 대상에게 권한 부여