PC & Mobile Tip

[Linux] 파일 혹은 폴더 권한이나 소유자 변경하기

Rexter 2021. 1. 20. 10:41
반응형

윈도우에서도 특정 폴더 등은 시스템 관리라던지 중요한 것들은 실행이나 편집 등에 권한을 요청하게끔 되어 있습니다.

당연히 리눅스에도 관련 기능이 있고, 윈도우보다 더 강력하다고 생각이 되네요.

그래서 처음 리눅스를 접하고 이것저것 하다보면 막힐 때가 있는데 그 중 하나가 permission denied 어쩌고 저쩌고가 됩니다.

root 권한이 없는 상태로 root 권한을 요하는 것을 수정할 때는 sudo 명령어로 해결을 하면 되는데

그게 아닌 경우에는 참 난감하기도 하죠

 

쨌든

 

0. chmod, chown

 A. chmod

  chmod 는 Change Mode의 약자입니다.

  권한을 변경하는데 사용되는 명령어입니다.

  다소 복잡할수도 있는데 중요한 거니 좀 더 자세한 건

  ko.wikipedia.org/wiki/Chmod

 

chmod - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 chmod(change mode의 축약어)명령어는 유닉스와 유닉스 계통 환경 안에서 쓰이는 셸 명령어이다. 이 명령어는 파일들이나 디렉터리

ko.wikipedia.org

  요기를 참고해 주세요.

 

 B. chown

  chown 는 Change Owner의 약자입니다.

  소유자를 변경하는데 쓰는 명령어이고 마찬가지로 중요한 거니

  ko.wikipedia.org/wiki/Chown

 

chown - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

  자세한 건 여기를 봐 주세요.

 

 

1. 폴더 혹은 파일의 권한 확인하기

터미널에서 해당 폴더나 파일이 있는 경로까지 이동한 후

ls -al

를 입력하게 되면 권한을 비롯한 소유자 정보 등이 나오게 됩니다.

 

요런 식으로요.

 

다른 파일들을 건드리는 건 좀 저어되니

아무 파일이나 하나 만들고 권한을 변경하는 걸 해 보도록 하겠습니다.

터미널에

vi chmodtest.txt

를 입력하고 아무거나 입력하고 저장한 후 종료해 주세요.

그리고나서 터미널에 ls -al 을 입력하면

 

이런식으로 나오게 됩니다.

 

일단 봐야 될 건 맨 왼쪽에 나오는 권한 정보 와 3,4번째에 나오는 소유자 정보 입니다.

 

 

2. 권한 변경

터미널에

sudo chmod 777 chmodtest.txt

를 입력하고 암호를 입력한 후 다시한번 권한을 확인해 보면(ls -al)

 

맨 왼쪽의 권한이 바뀌어 있는 것을 확인할 수 있습니다.

이제 해당 파일은 소유자만이 아니라 누구든 읽고 수정하고 실행할 수 있게 되었다는 의미인데요.

보안상으로는 안 좋은 거긴 한데 별 상관 없는 경우에는 사용을 하기도 합니다.

근데 실행은 좀 그렇다 싶으면 777을 766 으로 바꿔주면 되고 읽게만 하고 싶다면 744로 바꿔주면 됩니다.

 

이 숫자가 처음에는 뭔소리야 이게 했는데 이해하니 뭔 소린지는 알겠더군요.

 

ls -al 을 입력했을 때 나오는 정보의 제일 왼쪽 정보는 권한에 관한 거라고 말을 했었는데요

rwxrwxrwx 요렇게 되어 있는 부분(2번째 글자부터)

이걸 좀 더 보기 편하게 하면 rwx rwx rwx 로 표시할 수 있는데요

각각 소유자, 소유자그룹, 공개사용자 의 권한을 나타냅니다.

r 은 read 의 r 이고

w 는 write 의 w 이며

x 는 excute 의 x 입니다.

이렇게 생각하면 권한을 표시하는 것을 이해하는 거까지는 되는데 숫자는?

x => 1, w=> 2, r=>4 로 환산이 되고

세자리 숫자인데 8진법입니다. 즉 각 권한을 더한 것이 위 숫자가 된다는 거지요

가령 읽기와 쓰기만 주려고 한다면 6이 rw- 가 되는 겁니다.

 

이 숫자를 각 자릿수 에 표시한 게 777 이든 755든 요렇게 되는 거죠.

 

3. 소유자 변경

 소유자를 변경할 일은 별로 없긴 할텐데

 chown 소유자:소유자그룹 대상

 이 기본 형태가 됩니다.

 앞에서 만든 chmodtest.txt 파일을 대상으로 변경을 해 본다면

sudo chown root:root chmodtest.txt

를 터미널에 입력하고 암호를 입력하면

요렇게 변경된 것을 알 수 있습니다.

 

이제 소유자가 변경이 되었기 때문에 root 이외의 사용자가 파일을 편집하려고 하면 읽기전용으로 되어 편집은 불가능하게 됩니다.

그럼 변경하려고 하면 다시 권한을 줘야 되는데 임시로 할 거면 sudo를 하면 되고 권한 변경은

sudo chown rexter:rexter chmodtest.txt

를 입력해주면 됩니다.

반응형