2023. 9. 23. 06:22ㆍLinux
- : 일반파일
d : 디렉토리 파일 을 뜻하며
특수파일
b - 블록 장치 : 하드디스크나 플로피디스크, CD/DVD같은 저장 장치
c - 문자 장치 : 문자를 읽거나 입력하는 마우스,키보드 등이 여기 속한다.
l - 링크파일 : 다른곳에 링크되어 있는 파일이 있는 바로가기 아이콘 역활을 수행.
p - 파이프
s - 소켓
등으로 나뉜다.
파일의 허가권은 사진에 보이는 바와 같이 rwxr-xr-x로 표시되며
8진수로 표기하면 rwxrwxrwx기준 777로 표기된다. r,w,x의 기능은 다음과 같다.
r - read : 읽을 수 있는 권한. (8진수 표기 = 4)
w - write - 쓸 수 있는 권한. (8진수 표기 = 2)
x - excute - 실행 할 수 있는 권한. (8진수 표기 = 1)
rwx의 묶음이 3개인 이유는 각 묶음마다 사용할 수 있는 범주가 존재하기 때문이다.
이를 끊어서 보면 rwx/rwx/rwx가 되는데 왼쪽부터 소유자(user),그룹(group),기타 사용자(other)
로 나뉘어진다.
touch로 일반파일 train.txt를 만들고 chmod로 시시각각 허가권이 달라지는것을 알 수 있다.
777 = rwxrwxrwx / 744 = rwx-r--r--
위에서 언급하였듯 r - 4 w - 2 x -1을 잘 기억하도록 하자.
만약 디렉토리 안에 있는 하위 파일들까지 전부 바꾸고 싶다면 -R을 사용해주면 된다.
물론 숫자로만 변경해 줄 수 있지는 않다. 직접적으로 r,w,x를 이용하여 바꿔줄 수 있는데
이때는 u(user 소유자), g(group 그룹), o(other 기타 사용자), a[(all 모든 사용자)(u+g+o)]를 이용하여 각 rwx묶음에 변화를
줄 수 있다.
문자로 허가권을 바꾸어 줄 때에는 +, -, =의 기호를 사용하여 바꾸어주는데 각각의 역활은 다음과 같다.
+ : 허가권 부여
- : 허가권 제거
= : 허가권 지정
만약 전부 바꾸고 싶은게 아닌 user와 group을 바꾸어 주고 싶다면 ,로 분할한다.
ex) chmod a+rw,g-r train.txt
-----------------------------------------------------------------------------------------------------------------------------------
파일을 처음 생성하면 기본적으로 할당되는 허가권이 있는데 이는 umask에 의해서 결정된다.
이는 만약 관리자가 파일을 생성하였는데 보안에 관련된 디렉토리에서 생성한 파일이라면
아무나 볼 수 없게 만들기 위해서인 것 같다.
umask의 기본값은 0022이며,
일반 파일의 기본권한은 666(rw-rw-rw), 디렉토리의 기본권한은 777(rwxrwxrwx)이다.
위의 사진을 보면 일반 파일과 디렉토리를 생성해주었는데 허가권이 각각 rw-r--r--(일반파일), rwx-r-x-r-x(디렉토리)인 것을 볼 수있다. 여기서 umask명령어로 umask를 확인해보니 0022이다.
쉽게 생각해보자면 666 - 0022(umask 값), 777 - 0022(umask 값)을 빼고 만들어졌다고 생각하면 쉽다.
앞의 0은 우선 생각하지말고 666 - 022 = 644(rw-r--r--), 777 - 022 = 755(rwx-r-x-r-x)위에 만들어진 파일들과 똑같다.
'Linux' 카테고리의 다른 글
리눅스 기초 - 디렉토리, 파일 관련 명령어 (2) | 2023.09.23 |
---|---|
리눅스 입문 - 소유권, SetUID와GID (0) | 2023.09.23 |
리눅스 입문 - 그룹 관리 (0) | 2023.09.22 |
리눅스 입문 - 사용자 관리 (0) | 2023.09.22 |
리눅스 입문 - history명령어와 명령어에 관한 옵션 및 설명 보기 (0) | 2023.09.22 |