[LINUX] 파일 & 디렉토리 권한 (소유권 / 허가권 )

nowoey.x·2022년 9월 23일
0

Linux

목록 보기
1/1

디렉토리 및 파일 권한

파일 또는 디렉토리의 권한을 확인하기 위해 ls -l 명령어를 입력하면 아래와 같은 출력 형식으로 나열되는 디렉토리/파일 들을 볼 수 있다.


◆ 파일 유형

출력값의 가장 앞은 문자값으로 파일 유형을 나타낸다. 출력되는 문자값들은 아래와 같다.

- : 일반 파일
d : directory
l : link (심볼릭 링크 파일)
p : named pipe
s : socket
c : character device (터미널과 모뎀같이 바이트의 열로 데이터를 처리하는 디바이스)
b : block device (하드 드라이브나 CD-ROM 같이 블록 단위의 데이터를 처리하는 디바이스)


◆ Permission

디렉토리 또는 파일에 접근하여 읽거나 쓰거나 실행할 권리를 나타내는 것으로 3개씩 끊어서 사용자, 그룹, 기타 사용자로 관리한다.

user: 파일을 만든(생성) 소유주
group: 파일을 만든 소유주가 속한 그룹의 사용자
other: 기타 사용자

허가권 변경 명령어인 chmod를 사용하여 아래와 같은 명령어를 사용해본 적이 있을것이다.

chmod 755 test.txt

chmod 바로 뒤에 오는 숫자는 퍼미션의 속성을 표현하는 것으로 이 숫자들은 8진수를 이용하여 표현되었다.


속성파일디렉토리
r열기, 읽기파일 나열(정렬) 허용
w쓰기, 잘라내기파일 생성/삭제/이름 변경 가능
x파일 실행디렉터리 들어올 수 있도록 허용

◆ 8진법 권한 표현


8진법권한
0---
1--x
2-w-
3-wx
4r--
5r-x
6rw-
7rwx





Chmod



◆ 사용자, 그룹, 기타 사용자에게 권한 한번에 부여

$ chmod [권한] [파일/디렉터리]
ex) chmod 755 test.txt
→ 사용자는 모든 권한 허용, 그룹과 다른 사용자는 읽기+실행만 가능

◆ 사용자별 / 권한 부여 및 제거

$ chmod [option]  
→ option에 들어가는 기호는 누구에게, 어떤 권한을, 부여할지 제거할지를 기호로 표현하여 나타낸다.

→ 기호는 아래 표 참고 ***

설명
u : 사용자 허가권
g : 그룹 허가권
o : 기타 사용자 허가권
a : 모두(전체)
기호+ : 권한 추가
- : 권한 제거
= : 권한 지정
r : 읽기
w : 쓰기
x : 실행

ex) $ chmod u=rw test.txt
→ test.txt 파일에 대하여 사용자(u)에 읽기, 쓰기(rw)권한 지정, 초기화(=)

ex) $ chmod u+rw test.txt
→ test.txt 의 소유자(u)에게 읽기(r) , 쓰기(w) 권한을 추가 부여(+)

ex) $ chmod a=rw test.txt
→ test.txt 파일을 이용하는 모두(a)에게 읽기(r), 쓰기(rw) 권한 지정, 초기화(=)
$ chmod a=rw file.txt

ex) $ chmod g-w test.txt
→ test.txt 의 소유그룹(g)에게 쓰기(w) 권한 제거(-)

ex) $ chmod o-wxr test.txt
→ 그외 계정에게 모든 권한을 제거(-)
→ rwx의 순서는 변경하여도 무방. o-rwx = o-wxr


◆ 그 외 옵션


설명
-R, --recursive특정 디렉터리 내의 파일과 디렉터리에 대해 재귀적으로 허가권 변경
-C, --changes변경된 파일이나 디렉터리에 대한 자세한 정보를 출력
-f , --silent, --quite에러메시지 출력을 제한
--reference모드 대신 파일에 지정한 모드를 사용

$ chmod -R 755 myfiles

→ 디렉터리 이하의 모든 파일과 디렉터리에 대해 (-R)
→ 사용자는 읽기, 쓰기, 실행(4+2+1) 권한을 부여하고 ,
→ 그룹과 다른 사용자는 읽기 및 실행(4+1) 권한 부여



Chown


  • 파일이나 디렉터리의 사용자 및 그룹의 소유권을 변경.

  • 소유권 변경은 오직 루트 사용자만 가능하다. (sudo, 비밀번호 입력 필요할 확률 高)

$ chown [options] owner:[group] files
→ [options]는 chmod 옵션과 같다.

ex) $ chown user11 test.txt
→ # test.txt 파일을 소유자를 user11로 변경

ex) $ sudo chown user7:group3 test.txt
→ test.txt 파일의 소유자를 사용자는 user7, 그룹은 group3으로 소유자 변경

ex) $ sudo chown -R user1:group3 myDirectory
→  myDirectory 디렉터리 이하 모든 파일 및 디렉터리에 대한 소유자를 사용자는 user1, 그룹은 group3으로 소유자 변경










Reference


[LINUX] 📚 파일 & 디렉토리 권한 (소유권 / 허가권 / 특수권한) 💯 정리

0개의 댓글