[TIL] 사용권한과 환경변수

사용권한이란?

파일이나 폴더에 대한 Read(읽기), Write(쓰기), Execute(실행) 권한을 의미한다.
user / group / other로 분류된 사용자들이 그 파일에 대한 해당 권한이 있는지 정보를 알 수 있다.

폴더나 파일에 대한 권한 정보 확인

터미널에서 'ls -l' 명령어를 입력하면 각 항목들에 관해서 권한 정보를 조회할 수 있다.

  • 맨 앞에 적힌 d는 조회한 항목이 폴더(directory)인지 아닌지의 유무를 'd'를 통해서 알려준다.
  • rwx 중 -로 표기된 부분은 해당 권한이 없다는 뜻이고, 알파벳이 들어있다면 해당 권한이 있다는 뜻이다.

user, group, and other

  • user
    user는 파일의 소유자이다. 기본적으로 파일을 만든 사람이 소유자가 된다. 따라서 user를 소유자라고 하기도 한다.

  • group
    group에는 여러 user가 포함될 수 있다. 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 갖는다. 많은 사람이 파일에 액세스해야 하는 프로젝트가 있다고 가정해보자. 각 user에게 일일이 권한을 할당하는 대신에 모든 user를 group에 추가하고, 파일에 group 권한을 할당할 수 있다.

  • other
    파일에 대한 액세스 권한이 있는 다른 user이다. 파일을 만들지 않은 다른 모든 user를 의미한다. 따라서 other 권한을 설정하면, 해당 권한을 global 권한 설정이라고 볼 수도 있다.

chmod : 권한을 변경하는 명령어

'chmod' 명령어를 통해서 폴더나 파일의 읽기, 쓰기, 실행 권한을 변경할 수 있다. OS에 로그인한 사용자와, 폴더나 파일의 소유자가 같을 경우에 명령어 chmod 로 폴더나 파일의 권한을 변경할 수 있다. 만약 OS에 로그인한 사용자와, 폴더나 파일의 소유자가 다를 경우에는 관리자 권한을 획득하는 명령어 sudo 를 이용해 폴더나 파일의 권한을 변경할 수 있다. chmod로 권한을 변경하는 방법은 Symbolic method와 Absolute form이 있다.

Symbolic method

명령어 chmod 뒤에 변경할 권한을 입력한다. 액세스 클래스의 u, g, o, a를 변경할 조건에 따라 조합하여 입력하고, 연산자와 액세스 타입을 순서대로 입력한다. 다음은 명령어 'chmod'를 입력한 예시와 결과이다.

chmod g-r filename # removes read permission from group
chmod g+r filename # adds read permission to group
chmod g-w filename # removes write permission from group
chmod g+w filename # adds write permission to group
chmod g-x filename # removes execute permission from group
chmod g+x filename # adds execute permission to group
chmod o-r filename # removes read permission from other
chmod o+r filename # adds read permission to other
chmod o-w filename # removes write permission from other
chmod o+w filename # adds write permission to other
chmod o-x filename # removes execute permission from other
chmod o+x filename # adds execute permission to other
chmod u+x filename # adds execute permission to user

Absolute form

Absolute form은 숫자 7까지 나타내는 3 bits의 합으로 표기한다.
사용자, 그룹, 또는 다른 사용자나 그룹마다 rwx 가 나타나고, 각 영역의 boolean 값으로 표기할 수 있다.

PermissionNumber
Read (r)4
Write (w)2
Execute (x)1

user는 rwx 를, group과 other은 r-- 로 권한을 변경하려고 한다면, 위 표에 나와있는 숫자의 합을 user, group, other 순으로 입력하여 사용한다.

chmod 744 helloworld.js # -rwxr--r--

좋은 웹페이지 즐겨찾기