728x90

4.권한변경, 소유권 변경 - chmod, chown


리눅스를 사용하면서 root권한으로 작업을 해야할 때가 있는데, 그 횟수가 너무 많으면 그냥 사용자를 root로 변경해서 사용하곤 한다.

중요한건 그 이후다.

사용자를 root로 바꾸었다는 점을 잊어버리고 root권한으로 폴더나 파일을 생성해버리는 것이다.

이후 다른 사용자로 그 폴더나 파일작업을 하려고 하면 퍼미션 에러가 난다.

이때! 권한과 소유자를 바꾸는 명령어가 필요하다. (는 방금 나의 상황이었다..ㅋㅋ)


4-1. 권한변경

권한변경 명령어에 대해 알아보기 전에 터미널에서 권한을 확인하는 법을 먼저 알아보자.

현재 위치에서 'ls'라는 명령어를 치면 현재 위치에 있는 디렉토리 및 파일의 이름목록만 도르륵 나열된다.

이때 'ls -l'이라는 명령어를 입력하면 현재 디렉토리안에 있는 폴더와 파일들의 권한, 소유자, 소유자그룹 등등을 볼 수 있다.


ls -l이라는 명령어를 입력하면

drwxr-xr-x 2 yj yj 4096  4월  5 23:12 dir1

화면에 이런식으로 내용이 나오는데, 여기서 맨앞의 'drwxr-xr-x'부분이 권한을 표시하는 부분이다.

다소 암호문같이 생겨서 '저게 뭔가...' 싶을테지만 권한값을 읽는 방법이 따로있다.

1,3,3,3자리씩 끊어 읽으면 되는데 순서대로 [디렉토리][소유자권한][그룹권한][전체권한]을 의미한다.

(ex.d rwx r-x r-x)


첫글자가 d일경우 '디렉토리'라는 의미이고(일반 파일은  -으로 표시된다.)

그 뒤로

r : 읽기권한 (4)

w : 쓰기권한(2)

x : 실행권한(1)

을 의미한다.


rwx는 읽기, 쓰기, 실행권한이 모두 있다는것을 나타내며 각 권한의 숫자를 더해서 7로 읽는다.

r-x는 읽기, 실행권한만 있다는것을 나타내며 읽기권한과 실행권한의 숫자를 더해 5로 읽는다.

이를 토대로 위의 예제인 dir1의 권한을 살펴보면  소유자권한(7), 그룹권한(5), 전체권한(5)이므로 권한을 755로읽는다.


그럼 이제 권한이 어떻게 부여되어있는지 확인을 하였으니 권한변경 방법을 알아보자.

먼저 권한변경 명령어를 알아보자.

chmod [권한값] [파일명]

위의 dir1의 권한이 755였는데 이 권한을 만약 777로 바꾸고 싶다면!?

간단히 'chmod 777 dir1'이라고 명령어를 입력하면 된다.

권한바꾸기 명령어 끝!ㅋㅋ


4-1. 소유자 변경

소유자 변경도 간단하다.

chown [옵션] [소유권자:그룹식별자] [파일명]

위의 명령어만 입력하면 끝이다.

위의 예제가 dir의 소유자가 yj인데 만약 aaa소유로 바꾸고 싶다면!?

'chown aaa:aaa dir1'을 입력하면 끝이다.


그런데 말입니다. 만약 dir1안에 말입니다.

하위 디렉토리가 있지 말입니다.

이런상황에서 그냥 'chown aaa:aaa dir1'라고 입력하면 dir1안의 하위 디렉토리의 소유자까지 모두 바뀌지 않는다.(dir1만 변경된다.)

이럴때 쓰는 옵션이 -R옵션이다.

'chown -R aaa:aaa dir1'이라고 입력하면 dir1안의 하위 디렉토리까지 모두 소유권이 변경된다.



728x90

+ Recent posts