리눅스 파일 소유권 허가권 - 리눅스 파일시스템 기초
※ 목차
1) 리눅스 파일시스템 파일 유형
2) 리눅스 파일 소유자와 그룹
3) 리눅스 파일의 허가권
4) 리눅스 파일의 허가권을 지정하는 8진수 값
5) 리눅스 파일 허가권 8진수 예시
6) 리눅스 특수권한 chown 명령어, chmod 명령어 참고내용
리눅스(linux)의 파일이란 데이터의 집합을 의미하며 정규파일(regular file), 디렉토리, 특수파일 등이 존재합니다. 정규파일(regular file)이란 텍스트 파일, 바이너리 파일을 의미하고 특수파일 장치 파일(device file), 파이프 파일 등을 의미합니다.
파일 및 디렉토리가 생성되면 소유자와 그룹을 부여받고 파일을 생성한 사람의 uid와 gid로 생성되게 됩니다.
위 사진은 ls -l 명령어로 파일 및 디렉토리의 리스트를 출력한 결과의 세부내용입니다. 파일의 유형 및 허가권, 파일의 링크수, 서브디렉토리수, 파일의 소유자, 파일의 그룹, 파일의 크기, 파일의 변경 날짜, 파일 이름을 확인할 수 있습니다.
리눅스 파일시스템 파일 유형
파일의 목록의 첫 번째 글자가 파일의 유형을 보여줍니다. 하이픈(-) 표시가 정규 파일(regular file)을 나타내고 d는 directory의 줄임말로 디렉토리를 나타냅니다. c와 b, p는 특수 파일로 c는 character device를 의미하고 b는 block device를 의미하고 p는 pipe를 의미합니다. 또한 l은 link의 줄임말로 링크를 의미합니다.
리눅스 파일 소유자와 그룹
파일 사용자는 3가지 유형이 있습니다. 첫 번째 파일의 소유자는 owner, user의 약자로 u를 사용하고 파일의 그룹에 속하는 사용자는 group의 약자로 g를 사용하고 그 외의 사용자는 others의 약자로 o를 사용합니다. 파일의 소유권은 chown 명령어로 슈퍼 사용자 또는 소유자가 변경할 수 있습니다. 또한 파일의 소유자는 파일에 대한 다른 사람의 허가(permission)권은 chmod 명령어를 이용해 변경할 수 있습니다.
각 유형에 따라 파일의 사용 권한을 다르게 할 수 있습니다. 예를 들어 소유자는 read/write가 가능하게, 그룹 및 그 외 사용자는 read만 가능하게 할 수 있습니다.
리눅스 파일의 허가권
리눅스 파일의 허가권은 읽기(read) 권한, 쓰기(write) 권한, 수행하기(execute) 권한 세 가지 유형이 있습니다. 파일의 소유자와 파일의 그룹에 따라 파일의 허가권을 변경할 수 chmod 명령어를 이용해 슈퍼 사용자(root) 또는 파일의 소유자가 변경을 할 수 있습니다.
리눅스 파일의 허가권을 지정하는 8진수 값
허가권을 지정하는 방법은 chmod 명령어로 문자로 지정할 수 있지만 8진수의 값을 이용해 편리하게 지정할 수 있습니다. 8진수 3자리로 각각의 소유자, 그룹, 다른 사용자의 허가권을 의미합니다. 아래 예시에 있는 맨 앞의 0 즉, 첫 번째 자리는 특수 권한으로 자세한 설명은 아래 링크를 클릭하시면 됩니다.
리눅스 파일 허가권 8진수 예시
예를 들어 소유자에게 읽기와 쓰기, 수행을 모두 허용하려면 0700 8진수를 이용합니다.
$ chmod 700 file.txt
(0700 = 0400+ 0200 + 0100)
예를 들어 그룹에게 읽기, 수행을 허용하려면 0050 8진수를 이용합니다.
$ chmod 500 file.txt
(0050 = 0040+ 0100)
예를 들어 위 둘을 모두 허용하려면 0750 8진수를 이용합니다.
$ chmod 750 file.txt
(0750 = 0700+0050)
리눅스 특수권한 chown 명령어, chmod 명령어 참고내용
✔ 리눅스 파일시스템 특수 권한과 chmod 명령어 모든 옵션의 자세한 설명
https://rhrhth23.tistory.com/37
✔ 리눅스 파일시스템 소유자 소유자 그룹 변경에 대한 자세한 설명
https://rhrhth23.tistory.com/47
'IT > 리눅스 이론' 카테고리의 다른 글
리눅스 루트 파티션 구성 디렉토리 종류와 의미 (51) | 2022.08.11 |
---|---|
리눅스 파티션 기초 - 리눅스 파티션에 대한 이해 (59) | 2022.08.06 |
리눅스 path로 명령어 자동완성 만들기(환경변수 profile) (34) | 2022.06.26 |
리눅스 쉘 스크립트 작동 원리 이해하기 - 현재쉘과 서브쉘 (23) | 2022.06.10 |
리눅스 서버 네트워크 설정 방법과 네트워크 이중화 설정 (10) | 2022.06.03 |
댓글