-
리눅스 파일과 디렉토리 권한 정리개발자 라이프 2020. 1. 18. 17:13반응형
들어가며
리눅스 환경에서 작업을 하다보면 permission denied 와 같이 권한과 관련된 에러를 자주 마주합니다. 이번 글은 리눅스의 파일과 디렉토리의 권한과 관련된 정리입니다.
다음과 같은 내용을 다룹니다.
- -rwxr-xr-x 의 의미
- chmod, chown 명령어
파일과 디렉토리의 권한 알아보기
'ls -l' 명령어로 현재 디렉토리의 파일과 디렉토리 정보를 조회할 수 있습니다.
명령어를 실행하면 위와 같이 파일과 디렉토리에 대한 권한, 소유자, 소유 그룹, 크기 등이 출력되는 것을 확인할 수 있습니다. 특히 권한 부분은 이해하기 어려운 7자리 문자로 이루어져 있는데, 이것들은 4가지 부분으로 나눌 수 있으며 의미는 다음과 같습니다.
- - : 디렉토리 여부를 나타냅니다. 디렉토리인 경우 d 로 출력됩니다.
- rwx : 해당 파일(혹은 디렉토리)에 대한 소유자의 권한입니다.
- rwx : 해당 파일(혹은 디렉토리)에 대한 그룹의 권한입니다.
- r-x : 해당 파일(혹은 디렉토리)에 대한 외부 사용자의 권한입니다.
rwx 은 대상의 권한을 나타내며, r은 읽기(read), w는 쓰기(write), x는 실행(execute)에 관한 권한을 나타냅니다. 권한이 있다면 각 위치에 대응되는 문자로 출력되며, 권한이 없다면 - 로 출력됩니다. 위의 출력 화면 중 README.md 파일을 예로 설명하면 다음과 같습니다.
- - : 디렉토리가 아니다. (즉, 파일이며)
- rw- : 소유자(pi02 계정)은 읽거나 쓸 수 있다.
- rw- : 그룹(pi02 그룹)은 읽거나 쓸 수 있다.
- r-- : 그 외의 사용자는 파일을 읽을 수 있지만, 쓰기 작업은 실행할 수 없다.
권한과 소유권에 관한 명령어
권한과 소유권은 아래 명령어를 통해 수정할 수 있습니다.
권한 변경 : chmod
파일에 관한 권한은 chmod(change mode) 명령어를 이용하여 변경할 수 있습니다. chmod 명령어는 문자열 모드와 8진법 숫자 모드로 권한 변경 명령을 실행할 수 있는데, 이해하기 쉬운 8진법 숫자 모드만 다루겠습니다.
8진법 숫자 모드는 앞서 알아봤던 3가지 대상(소유자, 그룹, 외부 사용자)에 대하여, 각각 읽기, 쓰기, 실행 권한을 나타내던 3자리 문자를 8진법으로 표현하는 방법입니다. 예를 들어 '-rwxrwxr-x' 권한은 다음과 같이 표현할 수 있습니다.
그래서 만약 이 파일을 권한을 외부 사용자가 실행할 수 없도록 변경하려면 다음 명령어를 실행하면 됩니다.
chmod 774 target
소유권 변경 : chown
파일에 관한 소유권은 chown(change the owner of a file) 명령어를 이용하여 변경할 수 있습니다. 권한의 변경 대부분은 루트 권한의 이용자만 할 수 있습니다. 또한 소유권 변경 시, 소유권자와 함께 그룹을 변경할 수 있습니다. 명령어는 다음과 같이 실행하면 됩니다.
chown [user][:group] target
마무리
이번 글을 통해서 리눅스 파일 및 디렉토리의 권한에 대해 알아봤습니다.
참고
반응형