# 권한 관리 명령어
리눅스에 하둡을 설치하고 운영을 할때 여러가지 문제들이 발생하는데
그중의 많은 문제들이 권한에 관련한 오류들이 가장 많다.
그래서 하둡 운영을 원활하게 하기 위해서는 권한관리 명령어를
잘 숙지하고 있어야한다.
* 권한관리 명령어 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 |