현재노트

리눅스(linux), 유닉스(unix)의 퍼미션 한번에 이해하자!(접근제어,접근권한) 본문

Back/linux

리눅스(linux), 유닉스(unix)의 퍼미션 한번에 이해하자!(접근제어,접근권한)

현재노트 2020. 3. 23. 16:50

서버관리에 앞서 관리하고자하는 서버의 폴더, 파일 등에 권한을 부여하여 생성, 이동, 삭제, 수정 등이 가능합니다.

 

 

1. 해당파일에 대한 퍼미션.
2. 해당파일에 link 되어 있는 파일의 개수.
3. 해당파일의 사용자(user) - 대부분 파일의 생성자
4. 해당파일의 그룹(Group) - 대부분 파일을 생성한 계정이 속해 있는 그룹

 


첫번째 항목부터 알아보겠습니다.

drwxr-xr-x  21  root  root  4096  7월  12  11:30  var


drwxr-xr-x 부분은 다시 4부분으로 나뉘게 됩니다.

d  ,  rwx  ,  r-x  ,  r-x       이렇게!

처음에 d 는 directory 라는 의미를 뜻하고, 파일의 종류에 대한 속성을 나타냅니다.

 

속성에 해당하는 테이블은 아래와 같습니다.

 

d : Directory 파일
- : Regular 파일, 일반 정규 파일
l : Symbolic Link, 링크되어 있는 파일
c : Character File, 버퍼에 저장되지 않은 특수 파일, 예) 터미널
b : Block File, 버퍼링된 특수 파일. 예) 디스크 드라이브
s : Socket File, 소켓 기능을 하는 파일
p : Pipe File, 파이프 기능을 수행하는 파일

rwx, r-x, r-x [파일의 User], [파일의 Group], [관계없는자들(Other)] 에 대한 권한(permission)을 표시하고,
리눅스에서는 어떤파일이든 user, group, other 에 대해 각각 권한을 주게 된다.
즉 처음의 'rwx'는 파일의 소유자(user)에 대한 접근 권한
다음의 'r-x'는 소유 group에 대한 접근 권한
마지막의 'rwx'는 파일과 관련이 없는 자들(others)에 대한 접근권한이다.

쉽게 설명하 내가 지금 user1 이란 사용자로 로그인 했더라도 이 사용자가 'root'라는 group의 일원이면(=gid가 0이면)두번째의 'r-x'의 권한에 영향을 받는다는 것입니다.
사용자가 'root'도 아니고 그룹도 'root'가 아니면 other에 대한 권한을 받아 'r-x' 권한이 적용된다.

그럼 rwx에 대해서 알아보겠습니다.

Read, Write, eXecute 를 대표하는 한글자씩을 모아서 표현합니다.
읽거나, 쓰거나, 실행할 수 있다는 것입니다.
'rwx'는 당연히 셋다 가능하고, 'r-x'는 읽거나 실행할 수는 있지만 쓰기, 즉 수정은 불가능합니다.

" '777' 이니 '755'니 '644' 로 퍼미션을 주세요" 라는 말을 들어본 사람이 있을 것입니다.

이 r, w, x 세가지 권한은 각자 고유한 숫자값을 가지고 있으며, 해당 내용은 아래와 같습니다.

  •  r : 4 (2진수로 100)
  • w : 2 (2진수로 10)
  • x : 1 (2진수로 1)

rwx 를 더하면 r(4) + w(2) + x(1) = 7(2진수로 111) 이 되고, 777 이란건 user, group, other의 퍼미션이 777. 즉 rwxrwxrwx 라고 인식됩니다.

예를들면

# chmod 755 files



라는 명령어만으로 files 라는 파일에 대해 rwxr-xr-x 권한을 줄 수 있습니다.

 

감사합니다.

Comments