티스토리 뷰

공부/Linux

08. 파일 속성 관리

김대욱대욱 2018. 3. 19. 13:22

목표 

1. 파일의 속성정보 변경

2. 파일의 소유권/그룹권 변경

3. 파일의 퍼미션 변경



1. 파일의 속성정보 변경

  - chown, chgrp, chmod, umask 등의 명령어가 있다.

  - 파일의 속성 정보

# ls -l file1

-rw-r--r--  1  root  root  2017  3월  13  17:55  file1

 -            rw-                r--         r--                 1          root          root         2017 3월 13 17:55  file1 

(파일 유형) (파일소유자권한) (그룹권한) (다른 사용자권한) (링크 수) (파일소유자) (파일그룹) (작성시간)         (파일명)

  - 파일의 속성정보 변경 명령어

파일 유형 (File Type) :

퍼미션 모드(Permission Mode) : chmod

링크 수(Link Count) : ln

파일소유자(Owner) : chown

파일그룹(Group) : chgrp

파일 크기(File Size) : 

작성시간(Mtime) : touch -t

파일명(File Name) : mv


2. 파일의 소유권/그룹권 변경

 ▷ chown CMD

  - 파일의 소유주와 그룹을 바꾼다.

  - 명령어 형식

# chown user01 file1              /* file1의 소유자를 user01로 변경/*

# chown user01.other file1        /* file1의 소유자를 user01로, 그룹을 other로 변경 */

# chown .other file1               /* file1의 그룹을 other로 변경 */

# chown -R user01 dir1          

# chown -R user01:other dir1

  - 명령어 옵션

-c : 바뀌어 지는 파일들에 대해서만 자세하게 보여준다.

-f : 바뀌어 지지 않는 파일들에 대해서 오류 메세지를 보여주지 않는다.

-v : 작업 상태를 자세히 보여준다.

-R ​: 경로와 그 하위 파일들 모두를 바꾼다.

 


 ▷ chgrp CMD

  - 파일의 사용자 그룹을 바꾼다.

  - 명령어 형식

# chgrp user01 file1

  - 명령어 옵션

-c : 작업 상태를 자세히 보여주나, 바뀌어 지는 것만 보여준다.

-f : 그룹이 바뀌어 지지 않는 파일들에 대한 오류 메세지를 보여주지 않는다.

-v : 작업 상태를 자세히 보여준다.

-R : 주로 file 이름으로 경로를 사용해서, 그 안에 있는 모든 파일도 함꼐 group으로 바꾼다.

 


3. 파일의 퍼미션 변경

 ▷ chmod CMD

  - 파일 접근 권한을 바꾼다.

  - 명령어 형식

# chmod u+x file1       /* 심볼릭 모드(symbolic mode) */

# chmod 755 file1       /* 옥탈 모드(Octal Mode) */

  - 심볼릭 모드(symbolic mode)

- 사용자 기호

u(user) : 파일/디렉토리의 소유자

g(group) : 파일/디렉토리의 그룹

o(other) : 다른 사용자

a(all) : 소유자, 그룹, 다른사용자 모두 (아무 표시 안할 경우 기본적으로 설정됨)


- 설정 기호

+ : 지정된 퍼미션을 허가한다.

- : 지정된 퍼미션을 금지한다.

= : 지정한 퍼미션만 허가하고 나머지는 금지 시킨다.


- 권한 기호

r : read (읽기 권한이 없으면 파일 안에 있는 내용을 볼 수 없다. 수정하기 위해서는 파일을 봐야 하므로 반드시 필요)

w : write ( 파일을 수정하는 권한 r 없이 w 만 있으면 수정이 불가능)

x : excute (파일 실행 권한)



  - 옥탈 모드(Octal Mode)

파일 소유자 권한 : 400 = 읽기 권한, 200 = 쓰기 권한, 100 = 실행 권한

그룹 사용자 권한 : 40 = 읽기 권한, 20 = 쓰기 권한, 10 = 실행 권한

기타 사용자 권한 : 4 = 읽기 권한 2 = 쓰기 권한, 1 = 실행 권한

--- : 권한없음 0

--x : 실행 권한 1

-w- : 쓰기 권한 2

-wx : 쓰기 실행 3

r-- : 읽기 권한 4

r-x : 일기 실행 5

rw- : 읽기 쓰기 6

rwx : 일기 쓰기 실행 7

 


  ※ 파일과 디렉토리의 퍼미션 정확한 의미 (기억해두자)

   - 파일에 대한 퍼미션

r(read) : 파일을 읽을 수 있는 권한

w(write) : 파일을 수정 할 수 있는 권한

x(excute) : 파일을 실행 할 수 있는 권한

   - 디렉토리에 대한 퍼미션

r(read) : 디렉토리안에 ls CMD 수행 할 수 있는 권한

w(write) : 디렉토리 안의 파일들 삭제 또는 생성 할 수 있는 권한

x(excute) : 디렉토리 안에 cd CMD 수행 할 수 있는 권한


​ ▷ umask CMD

  - 디렉토리와 파일의 기본 퍼미션을 결정해주는 명령어이다.

 

  - 명령어 형식

# umask

# umask 027

# umask 022

 

디렉토리 (777 - 022 = 755)

파일 (666 - 022 = 644)

  ※되도록이면 건들지 않는것이 좋다고 한다.


 ▷ SetUID/SetGID ( 말이 좀 햇갈린다. )

  - 파일에 대한 소유권을 잠시 다른 사용자에게 빌려 줌으로 인해 소유권이 없는 사용자가 잠시 동안 파일에 대한 소유권으로 권한을 행사 할 수 있는 것을 말한다.

  

  - 특수권한 SetUID, SetGID, sticky bit 퍼미션

# chmod 755 file1             

# chmod 0755 file1 - 특수권한 없음


# chmod 4755 file1

(0755 : rwxr-xr-x)

(4755 : rwsr-xr-x) - SetUID 권한 있음

# chmod 6755 file1

(0755 : rwxr-xr-x)

(6755 : rw​sr-sr-x) - SetUID, SetGID 권한 모두 있음

# chmod 2755 file1

(0755 : rwxr-xr-x)

(2755 : rwxr-sr-x) - SetGID 권한 있음

# chmod 1777 dir1

(0777 : rwxrwxrwx)

(1777 : rwxrwxrwt) - sticky bit 권한 있음 얘만 알파벳 t 를 쓴다

  ※ 실행권한이 있고 특수권한이 있을 땐 소문자 s 를 사용한다. 실행권한이 없고 특수권한이 있으면 대문자 S를 사용한다. (ex : # chmod 4655 file1 ( rw-r-x-r-x -> rwSr-x-r-x)


 ▷​ sticky Bits

  - 공유 목적으로 사용되는 디렉토리의 경우 사용자들이 파일을 마음대로 삭제할 수 없도록 sticky 권한을 부여해 줄 수 있다.

  - 디렉토리에 쓰기 권한이 있어도 파일 삭제권한을 제거 할 때 사용한다. 



'공부 > Linux' 카테고리의 다른 글

10. 사용자 통신 명령어  (0) 2018.03.19
09. VI 편집기  (0) 2018.03.19
07. 파일 종류  (0) 2018.03.19
06. 디렉토리 & 파일관리 (2/2)  (0) 2018.03.19
06. 디렉토리 & 파일관리 (1/2)  (0) 2018.03.19
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31