[Linux] 권한 변경(chmod)

리눅스는 여러사용자가 들어와 사용하는 멀티유저 시스템이다. 그래서 각 사용자를 보호하기 위한 방법이 필요하다. 이 때문에 리눅스는 퍼미션(권한) 의 기능이 윈도우에 비해서 활성화 되어 있다.(윈도우는 동시에 한명만 작업이 가능하다)

1. 파일정보 보기
리눅스의 권한을 변경하기에 앞서 해당 파일 혹은 디렉토리가 어떤 권한을 가지고 있는지를 알아야 한다.

예시로 위사진의 3번째에
-rwxr-xr-x.  1 root root   8 JUN 27 08:00 file1

  • 파일타입
    - 일반파일, d : 디렉토리, l : 링크파일, c : 문자 특수파일, b : 블록 특수파일
  • 퍼미션정보 : 해당 파일에 어떠한 퍼미션이 부여되어있는 지 표시
  • 링크수 : 해당 파일이 링크된 수! 링크는 윈도우의 "바로가기"와 같습니다. "in [대 파일] [링크파일]" 명령으로 링크파일을 만듭니다.
  • 소유자 : 해당 파일의 소유자이름
  • 소유그룹 : 해당 파일을 소유한 그룹이름! 특별한 변경이 없을 경우 소유자가 속한 그룹이 소유그룹으로 지정됩니다.
  • 용량 : 파일의 용량
  • 생성날짜 : 파일이 생성된 날짜
  • 파일이름 : 파일이름

예시는 보면 순서대로
파일이고, 소유자는 읽기쓰기실행, 소유그룹은 읽기실행, 그외사용자는 읽기실행 권한이 있고, 링크수는 1개, 소유자는 root, 소유그룹은 root, 파일용량은 8, 생성일은 6월27일 8시, 파일명은 file1이 된다.

2. 퍼미션(권한) 보기
예시에서 rwxr-xr-x 이 권한이라고 했는데 보는방법은 3개씩 읽으면 된다.
보면은 9개의 문자가 있는데 왼쪽부터 3개(rwx)는 소유자, 그 다음(-xr)은 소유그룹, 마지막 3개(r-x)는 그외사용자의 권한을 나타낸다.

여기서 문자에 대해 설명하면 아래와 같다.

  • r : 읽기권한
  • w : 쓰기권한
  • x : 실행권한

3. 퍼니션(권한) 변경하기
chmod [변경될 퍼미션값] [변경할 파일]
ex.
1) chmod 755 file1 
2) chmod u+x file1

예제의 1번의 경우 해당파일에 rwxr-xr-x 권한을 주게된다


원하는 퍼미션 값을 주기위해서는 두가지 방법이 있다.

8진법 표현

8진법 

2진법 

파일모드 

000 

--- 

001 

--x 

010 

-w- 

011 

-wx 

100 

r-- 

101 

r-x 

110 

rw- 

111 

rwx 

chmod 600 file1 을 사용하여 8진법 퍼미션 값 600rw------- 으로 변경된것을 확인할 수 있다. 이것은 소유자에만 읽기쓰기 권한을 주는것으로 변경한거입니다.
 (그 외에 755rwxr-xr-x 로 변경되는데 이것은 소유자는 읽기쓰기실행, 소유그룹은 읽기실행, 그외 사용자는 읽기실행 권한을 주는것으로 변경한다)


기호표현

기호 

의미 

user의 약자로, 파일이나 디렉토리 소유자를 의미한다. 

group의 약자로, 그룹 소유자를 의미한다.

other의 약자로, 기타 기용자를 의미한다. 

all의 약자로 u, g, o 의 조합니다.

chmod u+x file1을 사용하여 소유자에게 실행권한이 추가된것을 확인할 수 있다.