IT Study/리눅스 권한

Linux 권한 정리 (2) – 명령어 사용법, (Linux 권한 관리 chmod)

ComputerScientist 2020. 10. 27. 10:59

 

Permission Denied


목차

  1. Linux 권한(permission) 정리!
  2. (현재) Linux 권한 정리 (2) – 명령어 사용법, (Linux 권한 관리 chmod)
  3. Linux 권한 정리 (3) – 명령어 사용법, (Linux 권한 관리 chown)

 


리눅스 파일 기본 권한에 대한 정리 및 설명은 이전 글인 
Linux 권한(permission) 정리!
를 참고하시면 됩니다.

 

Permission Denied

리눅스 파일 시스템을 사용하다 보면, 항상 흔하게 겪는 일이

Permission denied, Access Denied 등

일 것 이다.


이를 해결 하기 위해선 필수적으로 알아야할 커맨드들이 있다.

 

$ chmod / chown / chgrp

 

이번에 설명할 내용은,

chmod

Linux 권한 관리 chmod 를 할 때, 사람마다 하는 방법이 조금 다양하다 (사실 2가지 방법)

 

  • 숫자로 변경하기
  • 권한 인터페이스로 변경하기

하지만 가장 일반적인 방법은 숫자를 활용하는 방법일 것이다. 어디서 많이 들어본 것 같은 숫자,

> 777

 

 


[숫자로 변경하기]

777 들어본 적은 있을 것이다. 혹은 이미 Permission denied 에 대해 에러를 검색한 사람은 한번쯤은 봤을 법.
(잘못된 problem solving일 확률이 매우 높다!!!!!!)

 

이미 앞선 포스트에서 말했듯이, 
리눅스의 파일시스템은 (human readable) -wrxwrxwrx 의 형태로 되어 있다

컴퓨터를 공부한 사람이라면, 2-진법에 대해서 공부한 적이 있을 것이다.
왜 2-진법에 대해서 갑자기 말하냐고?
7을 2진법으로 바꾸면 111 이다.

거두절미 하고,

7
=> 1 1 1 (4 + 2 + 1)
=> w r x

따라서 7은 모든 권한을 준다는 의미가 된다.

이해를 돕기 위해,

740 (이런 권한을 사실 써본적은 없다)

> 740 은 아래와 같이 표시된다

7 ( 1 1 1 ) 4 ( 1 0 0 ) 0 ( 0 0 0 )
wrx w- -
모든 권한 부여 쓰기 권한 부여 모든 권한 없음

 

만약 명령어로 

$ chmod 740 helloworld.txt

한다면, 

 

  • 사용자(owner/user) 에겐 모든 권한 부여
  • 그룹(group) 에겐 쓰기 권한 부여
  • 타 사용자(other) 에겐 모든 권한 제한

하게 된다.

 

 

(*  만약 무슨말인지 모르겠다면…, Linux 권한(permission) 정리! 를 참고해주세요)

 

 

 


[권한 인터페이스로 변경하기]

왜, 굳이 권한 항목에 대해서 설명할 때,

 

  • 사용자(owner/user)
  • 그룹(group)
  • 타 사용자(other)

라고 영어까지 표기해가면서 썼을까?

 

 

바로 인터페이스를 사용하기 위함이다. 

(물론, 아니다)

아래 예를 보면 왜 굳이 내가 괄호안에 영어까지 표시했는지 알 수 있을 것이다.

 

$ chmod o+w helloworld.txt

 

이전 설명에는, o+w 대신에 숫자가 들어갔다. 그렇다면 지금 나온 o+w 는 무엇을 의미할까?

o+w : 다른 사용자(other) 에게 (w)rite 권한을 부여

를 나타낸다.

 

물론 권한을 뺏을 수도 있다.

o-w : 다른 사용자(other) 에게 (w)rite 권한을 뺏음

 

설명을 덧붙이자면, 


o-w 에서, 
첫째 자리에 있는, o 는 (u)ser/(g)roup/(o)ther 중 하나를,
둘째 자리에 있는, + 는 (+) / (-) 중 하나를,
셋째 자리에 있는, w 는 (w)/(r)/(x) 중 하나를,

 

사용하여 파일권한을 관리할 수 있다.


이해를 돕기 위해, 한가지 더 예를 들어보면,

$ chmod g-r helloworld.txt

 

이는, 그룹에 대한 읽기 권한을 뺏음 을 나타낸다.

 

이처럼 chmod 로 파일 및 폴더에 대한 쓰기/읽기/실행 의 권한을 관리 할 수 있다. 

 

 

 

이제 permission denied 에러에 대해서 stackoverflow를 검색해서

말도안되는 답인, 777 하는 일은 없도록 하자!