쌓고 쌓다
[Linux] 파일 권한 본문
"ls -al" 명령어로 파일들을 자세히 보면 앞부분에 권한 정보가 있다.
아래와 같은 형태이다.
drwxr-xr-x
앞의 첫 한자리는 File type을 갖는다. 그후 3개씩 각 영역을 나눠 Owner, Group, Others로 나눈다.
File type
- - : 일반파일
- d : 디렉토리
- l : 링크 파일
- b : Block device file
- c : Character device file
Owners : 파일 또는 디렉토리의 창조자이다. (나)
Group : Owner의 그룹이다 ( 개발자들 )
Other : Owner과 Group이 아닌 모든 유저들 ( 우리 대학교 학생들 )
각 Permission은 3개씩 나눠지는데 모두 3칸은
r w x로 이루어져 있다.
각 칸에 해당 스펠링 (r, w, x)가 있다면 권한이 있다는것이고, -라면 없다는 것이다.
- r : 읽기
- w : 쓰기
- x : 실행
권한 | 파일 | 디렉토리 |
읽기 | 읽거나 복사 가능 | ls 명령으로 목록 보기 가능(ls 명령은 실행 권한이 있어야 사용 가능) |
쓰기 | 수정, 이동, 삭제 가능 | 파일을 생성하거나 삭제 가능 |
실행 | 파일 실행 가능 | cd 명령 사용 가능, 파일을 디렉토리로 이동하거나 복사 가능 |
chmod command
: 파일의 권한을 수정 가능한 명령이다.
chmod [-option] mode filename
- 반드시 파일의 이름을 포함해야한다.
- 와일드 카드( * / ? )를 같이 사용 가능
chmod 기호 모드로 권한 변경하기
chmod [사용자 카테고리 문자][연산자기호][접근 권한문자] 파일명
- chmod ugo+rwx myfile : ugo(소유자, 그룹, 이외사람)에 + (권한 추가) 를하며 rmw(읽고, 쓰고, 실행)을 추가한다.
- chomod g+r customers : 그룹에 읽기 권한을 추가한다 파일명은 customers이다.
- chmod go-wx account_info : 그룹,그외 사람들에게 쓰고,실행 권한을 제거하며 그 파일명은 account_info이다.
사용자 카테고리 문자
- u : 파일 소유자
- g : 소유자가 속한 그룹
- o : 소유자와 그룹이외의 사람
- a : 전체 사용자
연산자 기호
- + : 권한 부여
- - : 권한 제거
- = : 접근권한 설정
접근 권한 문자
- r : 읽기 권한
- w : 쓰기 권한
- x : 실행 권한
chmod 숫자로 권한 변경하기
chmod [숫자][숫자][숫자] 파일명
각 [ ] 박스의 숫자는 0~7의 값을 갖습니다. ( r = 4, w = 2, x = 1 )
예로 r - x 권한의 경우 4 0 1 이므로
해당 박스에는 4+0+1 인 5를 넣어준다면 r - w 를 뜻하는 겁니다.
추가적인 예로 rwxr-xr-x이면 Owner, group, others로 3자리씩 끊습니다.
[rwx][r-x][r-x] 이겠지요 이것은 아래와 같습니다
[4+2+1][4+0+1][4+0+1] => [7][5][5] 이므로 그냥 755 라고 쓰면 됩니다.
즉 member.txt라는 파일의 권한을 rwxr-xr-x로 변경할려면
아래처럼 명령을 실행합니다.
chmod 755 member.txt
000(rwx)
+ 이진코드로 010 즉, rwx가 010이면 쓰기만 1이므로 쓰기만 가능하다는 뜻이고
010은 2이므로 w = 2 라는 겁니다.
r = 4 의 경우 이진으로 100이니 100은 4+0+0이라서 4입니다.
Example)
chmod 711 data
위의 코드는 711으로 Owner은 "7"11에서 7로,
4+2+1 = 7을 갖는거라 읽고 쓰고 실행이 가능합니다
Group은 7"1"1으로 0+0+1 = 1이라 실행만 가능합니다
Others는 71"1"으로 0+0+1 = 1이라 실행만 가능합니다.
642는
Owner(6) : 읽기, 쓰기 가능
Group(4) : 읽기만 가능
Other(2) : 쓰기만 가능입니다.
'프로그래밍 > 리눅스' 카테고리의 다른 글
[Linux] uniq 명령어 (0) | 2022.04.06 |
---|---|
[Linux] 파일 조작 (0) | 2022.04.05 |
[Linux] 리다이렉션 ( Redirection ) (0) | 2022.04.05 |
[Linux]Vi 에디터 (0) | 2022.03.22 |
[Linux] 파일 시스템 (0) | 2022.03.15 |