본문 바로가기

나 취준생/리눅스

리눅스 권한 관리 명령어

320x100

# 권한 관리 명령어 


리눅스에 하둡을 설치하고 운영을 할때 여러가지 문제들이 발생하는데

그중의 많은 문제들이 권한에 관련한 오류들이 가장 많다. 

그래서 하둡 운영을 원활하게 하기 위해서는 권한관리 명령어를

잘 숙지하고 있어야한다. 


* 권한관리 명령어 3가지 


 1. chmod  -->  change mode ( 특정 파일의 권한을 조정 )

 2. chown  -->  change ownership of a file ( 특정 파일이나 디렉토리의 소유자를 변경 )

 3. chattr   -->  change file attributes  ( 루트 유저만 권한을 조정할 수 있도록 설정 )


* 권한 관리표 


 번호   권한       대표문자         파일             디렉토리 

  4    읽기권한        r            읽고,copy        디렉토리에서 ls 가능 

  2    쓰기권한        w             수정             디렉토리에서 파일생성 가능 

  1    실행권한        x              실행             디렉토리에서 cd 로 접근가능


 * ls -l 로 어떤 특정파일을 조회했을때 나오는 권한 부분 해석 


ls-l 을 해보면, 첫째 행에 drwxr-xr-x 처럼, 알파벳과 -이 막 섞여있는 것이 보인다.


일단 가장 처음 문자는

- 또는 d 이다.


디렉토리일 경우 d, 디렉토리가 아닐 경우 - 이다.


이제 그 뒤를 해석하면,


      r w x                                     r w x                                    r w x.

          

        ↑                                        ↑                                        ↑

파일의 소유자의 권한      파일의 그룹에 속한 유져들의 권한      기타 유져들 권한 


각각 표시하는 권한이 다르다.


권한 관리표를 참고하여,

emp1.txt의 -rwxr-x--- 해석해보면


파일의 소유자는 읽고, 쓰고, 실행할 수 있으며

파일의 그룹에 속한 유저는 읽기, 실행만 할 수 있으며

기타 유저는 읽기, 쓰기, 수정 아무것도 할 수 없다.


# 권한 변경하기 


chmod 명령어 뒤 추가


u+x  --> 소유자에게 실행권한을 주겠다.

u-x  ---> 소유자가 가지고 있는 실행권한을 빼겠다.

u+r  ---> 소유자에게 읽기 권한을 주겠다.

u-r   ---> 소유자가 가지고 있는 읽기 권한을 빼겠다. 

u+w --->  소유자에게 쓰기 권한을 주겠다. 

u-w   ---> 소유자에게 쓰기 권한을 빼겠다.

u+rwx   ---> 소유자에게 읽기,쓰기,실행권한을 주겠다. 


소유자 : u

그룹 유저 : g

기타 유저 : o


# 숫자를 사용한 권한 변경


위의 권한 관리표와 같이, rwx 대신 4,2,1을 사용할 수도 있다.


단 소유자, 그룹 유저, 기타 유저로 구분하여 숫자의 총합으로 표현한다.


예를 들어, chmod 775 emp1.txt 는


(4+2+1), (4+2+1), (4+1)


즉, 소유자와 그룹 유저는 모든 작업을 할 수 있게 하고, 기타 유저는 쓰기는 할 수 없게 하는 명령어이다.




예제 : 기타 유져가 emp1.txt를 읽을 권한 부여하기


chmod o+r emp1.txt



ls-l 로 확인해보면, 기타 유저도 읽을 수 있는 권한이 생겼다.


# chown - 파일이나 디렉토리의 소유자를 변경


emp1.txt 에서



1은 바로 가기 개수,

그 다음 root 는 소유자

그 뒤 root는 그룹명을 의미한다.


그룹명이란 : 권한 관리를 쉽게 하기 위해 그룹을 생성

예를 들면, 다음 카페의 회원들을 우수회원 - 일반 회원 그룹으로 관리.

우수 회원은 모든 게시물을 볼 수 있고, 일반 회원은 일부만 볼 수 있음


chown scott:scott emp1.txt


첫번째 scott은 유저명, 두 번째 scott은 그룹명을 의미한다.



# 디렉토리의 권한 변경


디렉토리도 동일하게 권한이 변경 가능하고,


권한을 확인할 때는 ls -l 대신 ls -ld를 하면 된다.


근데 좀 중요한 부분은, 디렉토리의 권한을 변경하더라도


디렉토리 자체에 대한 권한만 변경되고, 그 안에 들어있는 파일에 대한 권한은 변하지 않는다.


만약 안의 파일까지 한 번에 권한을 변경하고 싶다면


chown -R root:root directory01 과 같이


-R 옵션을 붙여주면 된다.



# chattr 명령어


chattr 명령어를 이용하면 chmod 명령어 수행을 막을 수 있다.

chattr 명령어는 최상위 계정인 root 에서만 수행할 수 있다.


chattr [옵션] [+.-.=속성] [파일명]


[옵션]


-R : 하위 디렉토리까지 재귀적으로 바꿈


-V : 파일 속성을 바꾼 다음에 보여줌


-v version : 지정된 파일에 버전을 설정할 수 있다.


[설정모드]


+ : 속성을 추가한다.


- : 속성을 제거한다.


= : 원래 파일이 가지고 있던 그 속성만을 유지하게 한다.


[속성]


a : 파일을 추가모드로만 열수 있다. 단, vi 편집기로는 내용을 추가 할 수 없게 된다.


c : 압축되어 있는 상태로 저장함.


d : dump 명령을 통하여 백업받을 경우 백업받지 않겠다.


i :  파일을 read-only로만 열 수 있게 설정한다.

    링크로 허용하지 않고 root만이 이 속성을 제거할 수 있다.


s : 파일 삭제가 될 경우에 디스크 동기화가 일어나도록 한다.


S : 파일이 변경될 경우에 디스크 동기화가 일어나도록 한다.


u : 파일이 삭제가 되었을 경우 그 내용이 저장이 되며 삭제되기 전의 데이터로 복구가 가능해진다.


# 파일에 걸린 속성 확인하기


lsattr 디렉토리&파일명


을 입력하면 디렉토리 혹은 파일에 걸려 있는 속성을 알 수 있다.



먼저 lsattr로 emp1.txt에 걸린 옵션을 살펴보니 아무것도 없다.


이후 chattr +i 로


다른 유저가 파일을 수정할 수 없도록 설정한 뒤


lsattr로 다시 확인해보면 i 옵션이 추가된 것을 볼 수 있다.

반응형

'나 취준생 > 리눅스' 카테고리의 다른 글

리눅스 프로세서 상태 명령어  (0) 2021.01.05
리눅스 디스크 관리 명령어  (0) 2021.01.05
vi 편집기 명령어  (0) 2021.01.05
리눅스로 SQL문 구현하기2  (0) 2020.12.30
리눅스로 SQL SELECT 문 구현하기  (0) 2020.12.30