리눅스 터미널에서 ls -l의 명령어를 사용하면 -rw-r--r-- 와 같이 출력 된다.
여기서 첫번째 글자는 -나 d가 출력되는데 - 일때는 non directory이며 d일때는 directory이다.
이어지는 r,w,x 는 각각 read permission,write permission, excute permission으로 읽기권한 쓰기권한 실행권한을 나타낸다.3번에 걸쳐서 나오는 이유는 사용자와 그룹 나머지에 대한권한을 표시하는 것이다. 예시로 -rw-r--r--는 소유지는 읽기 쓰기가 가능하고 다른 사용자 그룹은 읽기만 가능하다는 것이다.
d/rwx / rwx / rwx
owner/group/other
user: 파일의 소유자. 기본적으로 파일을 만든 사람이 소유자가 된다.
group:그룹에 속한 user는 파일에 대한 동일한 group 엑세스 권한을 갖는다.많은 사람이 파일에 엑세스를 해야하는 프로젝트가 있을때 일일이 권한을 할당하는것보다 user를 group에 추가할 수 있다.
other:파일에 대한 액세스 권한이 있는 다른 user이다. 파일을 만들지 않은 다른 모든 user를 의미한다.
:권한을 변경하는 명령어
OS에 로그인한사용자와 파일의 소유자가 같을 경우 :chmod로 권한변경할수 있음
OS에 로그인한 사용자와 폴더나 파일의 소유자가 다를 경우: sudo를 이용해 파일의 권한을 변경할수 있음
(1)SymBolic method
+,-,= 액세서 유형을 표기해서 변경
-Access class
u(user) , g(group), o(other) a(all)
-operator
+(add access) -(remove access) =(set exact access)
-Access Type
r(read) w(write) x(execute)
예시)
chmod g-r filename //그룹들의 읽기권한을 제거
chmod a=rw // -rw-rw-rw-
:rwx를 3bit로 해석하여 숫자 3자리로 권한을 표기해서 변경
사용자 그룹 또는 다른 사용자나 그룹마다 rwx가 나타나고,각 영역의 boolean 값으로 표기할 수 있다.
read = 4 write =2 exeute = 1
모든 권한을 준다면 7이고 모든 어떤 권한도 주지 않을려면 0 읽기와 쓰기의 권할을 줄려면 6이다.
예시)
chmod 744 helloworld.js-rwxr--r--
7(4+2+1)은 유저 4(4)는 그룹 4(4)는 other이다.