리눅스의 권한이란 리눅스에 있는 '어떠한 파일'에 대해 어디까지 사용가능한가?
내가 파일을 실행하고 싶어도 '실행할 수 있는 권한(x)' 없으면 실행을 못하고
파일을 읽고 싶어도 '읽을 수 있는 권한(r)'이 없으면 읽을 수 없는것 처럼 말이다.
터미널에서 파일들의 권한을 보고싶다면 ls -al(숨겨진파일) / ls -l (보여지는파일) 으로 볼수있다.

위의 사진처럼 현재 위치에 있는 폴더 파일들을 자세히 볼수있고 그 폴더,파일마다 권한이 있는것을 알 수 있다.
권한의 구성은 아래의 사진을 참고한다.

권한의 종류는
이지만 윈도우 운영체제만 사용해오던 사용자들은 읽다 의 개념이 제대로 이해 못할수가 있다.
파일을 읽다(r) 와 실행 할 수 있다(x) 차이는
읽다의 개념은 파일의 내용을 볼수있는지
실행 할 수 있다의 개념은 파일이 가진 기능을 실행 할 수 있는지 이다.
예를들면 프로그래밍 언어로 코드를 만들었을때 컴파일을 안하면 단순 텍스트 이다. 이 파일을 볼 수 있는 권한은 읽기 이며
이것을 컴파일 하는순간 기능을 가진 프로그램이 되는것이다.
이 기능을 사용 할 수 있는 권한이 실행하다 의 개념인 것이다.
윈도우에서 폴더란 효율적으로 수많은 파일들을 분류하고 관리하기 위한 일종의 박스같은 존재다.
그리고 이러한 박스(폴더)에도 일반 파일과 같은 rwx권한이 있다.
r(read) - 디렉토리 내부 파일들을 볼 수 있는 권한
w(write) - 디렉토리 내부 파일들을 변경 할 수 있는 권한
x(excute) - 디렉토리 내부로 이동할 수 있는 권한
r(read) - 파일의 내용을 읽을 수 있는 권한
w(write) - 파일을 변경 & 수정 할 수 있는 권한
x(excute) - 파일을 실행할 수 있는 권한
디렉토리에 'w'권한이 있으면 파일에 'w'권한이 없어도 그냥
덮어버릴 수 있기에 조심해야한다.

chmod [옵션] {[권한을 바꿀 사용자기호들][연산자][권한]},{.....}... [파일]
권한을 바꿀때 "chmod ugo+wx" 이렇게나 "chmod uo=rw" 가능하나 모든 사용자에게 똑같은 수식을 주기 때문에 세밀하게 권한을 주기 어렵다.
그래서 따로 사용자에게 권한을 줄 수도있는데 chmod u+x,g=rwx,o-wx 이런식으로 줄수 있다.
chmod [옵션][권한숫자들] [파일]
예를 들면 chmod 773 (u에 rwx, g에 rws , o에 wx)[파일]<-이 파일에 권한 부여
숫자 방식이 보기 편하며 빠르게 바꿀 수 있어 편하다.
일반 파일의 rwx
r(read) : 파일을 read, 파일의 내용을 읽을 수 있는 권한
w(write) : 파일을 witre, 쓰다(라는 개념이 좀 헷갈릴 텐데)그냥 파일을 바꿀 수 있는 권한
x(excute) : 파일을 excute, 실행할 수 있는 권한
디렉토리에서의 권한 'rwx'
r(read) : 읽겠다, 즉 디렉토리 내부(파일들)을 볼 수 있는 권한
w(write) : 쓰겠다, 일반파일과 같은 맥락으로 디렉토리 내부 파일들을 변경할 수 있는 권한
x(excute) : 실행하겠다, 디렉토리의 기능(디렉토리 내부로 이동)을 실행할 수 있는 권한
디렉토리에 'w'권한이 있으면, 파일에 'w'권한이 없어도 그냥 덮어버릴 수 있기에 조심해야한다.
chmod 옵션엔 -R(Recursive)가 있고 권한을 주는 방법엔 기호방식,숫자방식이 있으며
기호는 chmod [옵션][사용자기호들][연산자][권한] [파일] 또는 {[사용자기호][연산자][파일]},{....}... [파일]이 있다
chmod 숫자방식은 chmod [옵션][권한 숫자] [파일] 이다