2022-09-18 20:45:48

우분투와 같은 리눅스 운영체제에서는 파일이나 디렉토리에 대해서 특정 사용자, 특정 그룹만 읽거나 쓰거나 실행할 수 있도록 권한을 지정할 수 있습니다.

 

파일 또는 디렉토리 접근 권한 확인하기

ls -l 명령어를 어떤 경로에서 실행하면, 그 안에 있는 폴더와 파일에 대한 접근 권한을 확인할 수 있습니다. 보통 다음과 같은 형태로 파일 또는 디렉토리에 대한 권한이 출력됩니다. 권한 관련해서는 r, w, x가 있는데 각각 읽기, 쓰기, 실행 권한입니다.

 

 

-rw-r--r-- 과 같은 부분은 우선 크게 4부분으로 나눌 수 있습니다.

 

1) - 

2) rw-

3) r--

4) r-- 

 

우선 첫번째 부분은 파일인지 디렉토리(폴더)인지를 알려줍니다. -이면 파일이고, d이면 디렉토리입니다. 

두번째 부분은 사용자의 권한을 보여줍니다. rw-라면 사용자는 읽기와 쓰기 권한을 갖고 있다는 뜻입니다. 

세번째 부분은 그룹의 권한을 보여줍니다. r--이므로 그룹은 읽기 권한만 갖고 있습니다.

네번째 부분은 다른 사용자의 권한을 보여줍니다. r--이므로 역시 읽기 권한만 갖고 있습니다. 

 

파일 또는 디렉토리 접근 권한 수정하기

다른 사용자들도 README.md에 대해 쓰기 권한을 갖게 하려면 다음과 같이 명령해주면 됩니다. 

 

chmod 646 README.md

 

646에서 6은 사용자에 대한 권한, 4는 그룹에 대한 권한, 6은 다른 사용자에 권한을 나타냅니다. 도대체 6이 무엇을 의미하냐고요? 

 

rwx에서 r은 2^2 = 4입니다. w는 2^1=2입니다. x는 2^0=1입니다. 6이면 r(4) + w(2) 권한을 갖게 한다는 것입니다. 읽기와 쓰기 권한을 동시에 부여하는 것입니다. 4라면 r(4) 권한만 갖게 하는 것입니다. 따라서, 각 숫자별 의미는 다음과 같습니다. 

 

7: rwx

6: rw-

5: r-x

4: r--

3: -wx

2: -w-

1: --x

0: ---

 

어떤 파일 또는 디렉토리에 대해서 모든 권한을 다 주려면, 다음과 같은 명령을 실행하면 됩니다.

 

chmod 777 파일명/폴더명