본문 바로가기
IT 학습 공간 ::)

리눅스 권한 관리 설정 (chmod, chown, chgrp )

by 에스타롯사 2019. 5. 10.

안녕하세요 롯사입니다.

 

이번 시간엔 리눅스 서버 시스템에서 파일과 디렉터리의 권한 설정에 대해서 다뤄보겠습니다.

 

일단 리눅스는 멀티유저 운영체재(OS)입니다. 그 말인 즉 여러 명의 사용자가 이 시스템에 접근

 

해서 어떠한 행위를 할 수 있는 서버 시스템 환경이라는 뜻입니다.

 

위와 같은 장점을 가지고 있지만 반대로 시스템의 중요한 문서나 파일들과 같이 보안이 필요한 

 

부분에서 취약점이 드러나게 됩니다. 그래서 리눅스는 각각의 파일과 디렉터리에 소유권을 부여하고

 

읽고, 쓰고, 실행할 수 있는 권한을 부여함으로써 보안적인 부분들을 컨트롤하게 됩니다.

 

리눅스 서버 시스템 관리 현업에 종사하고 계신 분들은 Owenship과 Permission 부분은 보안에 

 

필수적인 항목으로써 꼭 체크하고 넘어가셨으면 좋겠습니다.

 

자 그럼 출발 go~go~!

 

 

 

chmod : 파일과 디렉터리의 권한을 변경할 때 사용합니다.


1. 일단 ls -l 명령어를 사용하여 해당하는 위치의 파일들의 권한을 조회해 봅시다.

이렇게 조회가 되었습니다.

 

여기서 권한을 확인하는 방법과 항목은 다음과 같습니다. ( testfile2 기준으로 설명하겠습니다. )

 

-rw-r--r--. 1 root   root        0  4월 29 15:22 testfile2

항목 의미 권한
rw- Owner ( 소유자 권한 ) r : 읽기 w :쓰기 
r-- Group ( 그룹 권한 ) r : 읽기
r-- Other ( 다른사용자 권한 ) r : 읽기
1 링크수  
 root  소유자  
 root  소유자 그룹  
 0 파일 크기  
4월 29 15:22 수정한 날짜  
testfile2  파일이름  

위의 표와 같이 testfile2 파일의 소유자는 root이고 권한은 소유자 (읽기/쓰기), 그룹 (읽기), 다른 사용자 (읽기)의 권한

 

이 부여된 파일이라고 할 수 있으며 이 권한 부분은 직관적으로 표기하기 쉽게 숫자로도 설정이 가능합니다.

 

일단 숫자로 표기하는 방법을 살펴보겠습니다.

Owner Group Other
r w x r w x r w x
4 2 1 4 2 1 4 2 1
7 7 7

위를 기준으로 tesfile2의 -rw-r--r--권한을 적용해 보면 644의 권한을 갖고 있는 파일이라고 할 수 있겠습니다.

 

감이 좀 오시나요?? ㅋ 권한을 문자로도 표기하지만 숫자로도 표기할 수 있다는 점 알아두셔야 합니다.

 


 

2. 이제 chmod 명령어를 이용해서 권한을 변경해보겠습니다.

 

형식 : chmod [권한] [변경할 파일 또는 디렉터리]

 

  : 변경하는 방법에는 개별단위로 권한을 부여하는 방법과 숫자로 변경하는 방법이 있다는 것 

    기억하고 아래와 같이 testfile2의 권한을 변경해 보겠습니다.

   

개별단위 변경 (chmod g+rw/go+rwx testfile2)

 

: 문자를 활용하여 파일의 g(그룹), u(사용자), o(다른 사용자), a(모두)에 권한을 지정하는 방법입니다. 

 (+), (-)를 사용하여 권한을 부여하거나 제 외실 킬 수 있습니다.

 

위와 같이 개별 주체 단위(g+rw)사용자와 그룹(go+rwx) 한꺼번에 권한 지정이 가능합니다.

 

 

숫자 단위 변경(chmod 777/766/744 testfile2)

 

: 숫자를 활용하여 똑같이 g(그룹), u(사용자), o(다른 사용자), a(모두)에 권한을 지정하는 방법입니다.

 위에서 학습한 숫자가 의미하는 권한이 무엇인지 상기시키면서 testfile2로 테스트해보겠습니다.

 

숫자가 의미하는 권한이 무엇인지만 확실하게 알고 있으면 이렇게 사용자, 그룹, 다른 사용자에게

권한을 편하게 부여할 수 있습니다.r=4, w=2, x=1 따라서 더하면 7!!! 확실하게 기억합시다.)

 

 

 

 

chown : 파일과 디렉터리의 소유주를 변경할 때 사용합니다.


1. 일단 cat /etc/passwd 명령어로 사용자 계정을 출력해보겠습니다.

 

파일의 소유주를 변경하기 위해서 존재하는 사용자 계정을 확인한 것이니 필수 항목은 아닙니다.

 

 

 

2. tesfile2 파일의 소유주 변경 (파일)

 

형식 : chown [소유주] [변경할 파일]

 

소유주가 root에서 testhaja 사용자로 잘 변경이 된 걸 확인할 수 있습니다.

 

 

 

3. testgogo 디렉터리 소유주 변경 (디렉터리)

 

형식 : chown [소유주] [변경할 디렉터리]

 

파일과 동일한 형식의 명령어로 디렉터리 소유주도 변경이 가능합니다.

chown -R testhaja testgogo처럼 R 옵션을 주면 디렉터리 안의 파일들의 소유권도 동일하게 testhaja로 변경됩니다.

 

 

4. testfile2 파일과 testgogo 디렉토리의 소유주와 그룹 변경 (파일의 소유주와 그룹을 동시에 변경)

 

형식 : chown [소유주]:[그룹] [변경할 디렉터리]

 

위와 마찬가지로 디렉터리까지 동시에 변경할 때 chown -R testhaja:testhaja testgogo와 같이

-R 옵션을 적용하면 하위 디렉터리 및 파일까지 적용됩니다.

 

 

chgrp : 파일의 그룹만 변경할 때 사용합니다.


1. testfile2 파일의 그룹을 변경 ( 파일 )

 

형식 : chgrp [그룹] [변경할 파일]

 

tesfile2 파일의 그룹이 root에서 testhaja로 변경된 것을 확인할 수 있습니다.

 

 


 

점점 폭염을 향해 치닫고 있는 거 같습니다... 점점 땀이.... ㅠ 

 

더운 날씨에도 모든 업종에 종사하시는 여러분들 열공하고 파이팅하시기 바랍니다!!!

 

이만 포스팅을 마치겠습니다,