Linux Command

[Linux] 파일정보 확인 및 파일권한,소유권 변경 (chmod, chown)

wookjae 2021. 9. 23. 10:00

chmod (Change mode) ? 

--> 파일또는 디렉토리에 관하여 권한(Permission)을 변경하는 명령어. 

 

chmod 구조 ? 

--> chmod [ 퍼미션 값 ] [ 대상파일 or 대상디렉토리 ]

 

퍼미션 값 계산 ?

  • 각 퍼미션 기호를 숫자로 변환 ( r = 4 , w = 2 , x = 1 )

      Cf)  r  -  x 인 경우 --> 4  0  1

  • 변환한 숫자를 합산

      Cf) 4  0  1 인 경우 --> 4 + 0 + 1 = 5

 

  Cf) rwxr-xr-x 일시 rwx  r-x  r-x 세자리씩 끊고, 4+2+1 | 4+0+1 | 4+0+1 숫자변환 뒤 합산 ("755")

 

  디렉토리의 경우 "-R" 옵션을 사용시 하위 디렉토리의 모든 디렉토리및 파일의 퍼미션이 변경된다.

  Cf)  chmod -R 777 dev 

     -->  dev 디렉토리의 하위에 위치한 모든 파일및 디렉토리 퍼미션이 777로 변경된다.

 

chown (Change Owner) ? 

--> 파일또는 디렉토리에 관하여 소유권을 변경하는 명령어. 

 

chown 구조 ? 

--> chmod [ 변경소유자(.변경소유그룹) ] [ 대상파일 or 대상디렉토리 ]

(변경소유자와 소유그룹 일괄수정시 변경소유자.변경소유그룹으로 지정한다)

 

 


[ 입력 및 실습 ]

 

 

 

1. 파일 정보확인 (권한, 링크 수, 소유정보, 용량 생성일자)

$ ls -al 

--> 현재경로에 존재하는 파일목록 확인

     (Option -a: 숨긴파일 디렉토리 표기, -l : 상세정보 표기)

 

drwxr-xr-x  20  root  root  3120 Sep 23 09:26 dev

 

파일Type 퍼미션정보 링크수 소유자 소유그룹 용량 생성날짜 파일이름

  • 파일종류(Type) : "d" -> 디렉토리 , "l" -> 링크파일 , "-" -> 일반파일 등..
  • 파일권한(Permission) : 해당 파일에 어떠한 권한이 부여되어있는지 보여준다.
  • 링크수 : 해당 파일의 링크 수  ( "in [대상파일] [링크파일]" 명령으로 링크파일 생성한다 )
  • 소유자 : 해당 파일의 소유자정보
  • 소유그룹 : 해당 파일을 소유한 그룹정보, 기본적으로 소유자가 속한 그룹이 소유그룹으로 지정된다. 
  • 용량 : 파일용량
  • 생성날짜 : 파일 생성일 (월 / 일 / 시분)
  • 파일이름 : 파일이름

 

 

* 권한(Permission) 정보

2~10번째 :  rwxr-xr-x

 

 

* 권한(Permission) 종류 () 괄호에 있는 것이 해당 퍼미션 기호

  • 읽기 ( r ) : 파일의 읽기권한
  • 쓰기 ( w ) : 파일의 쓰기권한
  • 실행 ( x ) : 파일의 실행권한

 

* 권한(Permission) 사용자분류  

  • 소유자 : 소유자에 대한 권한(Permission) 지정
  • 그룹 : 소유그룹에 대한 권한(Permission) 지정
  • 공개 : 모든사용자들에 대한 권한(Permission) 지정

 

* 권한(Permission) 상세정보 

소유자 : r w x  / 소유그룹 : r - x / 공개(모든사용자) : r - x   

( '-' : 해당 퍼미션 권한없음 )

 

--> 소유자는 읽기(r),쓰기(w),실행(x)을 허용,

파일의 소유그룹에 속하고 있는 사용자들은 읽기(r),실행(x)만 허용,

이외, 나머지 모든 사용자들도 읽기(r),실행(x)만 허용. 

 

 

 

2. 파일 권한 변경 

$ chmod 777 test2.txt

$ ls -al

--> test2.txt 파일에 관하여 소유자, 소유그룹, 모든사용자 에게 ("읽기", "쓰기", "실행") 가능  권한부여

 

 

 

3. 파일 소유자 변경 (root -> sasori88)

$ chown sasori88.sasori88 test2.txt

$ ls -al

--> test2.txt 파일에 관하여  "소유자" + "소유그룹" 변경 (root --> sasori88)  

 

exit..