FTP 서비스를 통해 파일의 권한이 어떻게 동작하는지 확인하는 실습을 진행해보자.
먼저, FTP 실습을 위해서 vsftpd 서비스 데몬과 방화벽을 중지시켜야 한다.
1) vsftpd 서비스 데몬 설치
dnf install vsftpd* -y // 질의에 대한 대답으로 항상 yes
2) 방화벽 서비스 중단
systemctl disable firewalld.service
systemctl stop firewalld.service
firewall-cmd --list-all // 방화벽 서비스 중단 확인
방화벽이 정상적으로 중단되면 위와 같은 문구가 출력되는 것을 확인할 수 있다.
이제, 본 실습에 들어가보자.
현재 /home/sevas 디렉토리의 권한은 700 이며, UID 와 GID 모두 sevas 이다. UID 와 GID 가 동일한 경우 UID 가 우선시되므로, sevas 사용자는 /home/sevas 디렉토리에 대해 rwx 읽기, 쓰기, 접근 권한을 모두 행사할 수 있다.
1) /home/sevas/html 허가권 273
/home/sevas/html 디렉토리의 허가권을 273 으로 변경한다. html 디렉토리의 소유자, 그룹은 모두 root 이므로 sevas 사용자는 other 권한만을 얻게 된다. other 권한은 3 값으로, w 쓰기와 x 접근만이 가능하다.
sevas 사용자가 /home/sevas 홈 디렉토리 (rwx) 와 /home/sevas/html 디렉토리 (-wx) 에 대해 부여받은 권한이 동작하는 것을 직접 확인해보고자 한다.
[ /home/sevas 권한 ]
- FTP 접속을 통해 sevas 사용자의 홈 디렉토리인 /home/sevas 디렉토리에 접근 : O (x 권한)
- /home/sevas 홈 디렉토리의 목록 읽기 : O (r 권한)
[ /home/sevas/html 권한 ]
- sevas 사용자의 홈 디렉토리 하위의 /home/sevas/html 디렉토리에 접근 : O (x 권한)
- /home/sevas 홈 디렉토리 하위의 html 디렉토리 목록 읽기 : X (r 권한)
- PC 의 위 경로에 위치하는 index.html 파일을 /home/sevas/html 디렉토리 하위에 복사 : O (w 권한)
ls -l 명령어를 통해 /home/sevas/html 디렉토리의 파일 목록을 살펴보면, index.html 파일이 업로드 된 것을 확인할 수 있다.
2) /home/sevas/html 허가권 742
/home/sevas/html 디렉토리의 허가권을 742 로 변경한다. html 디렉토리의 소유자, 그룹은 모두 root 이므로 sevas 사용자는 other 권한만을 얻게 된다. other 권한은 2 값으로, w 쓰기만 가능하다.
sevas 사용자가 /home/sevas 홈 디렉토리 (rwx) 와 /home/sevas/html 디렉토리 (-w-) 에 대해 부여받은 권한이 동작하는 것을 직접 확인해보고자 한다.
[ /home/sevas 권한 ]
- FTP 접속을 통해 sevas 사용자의 홈 디렉토리인 /home/sevas 디렉토리에 접근 : O (x 권한)
- /home/sevas 홈 디렉토리의 목록 읽기 : O (r 권한)
[ /home/sevas/html 권한 ]
- sevas 사용자의 홈 디렉토리 하위의 /home/sevas/html 디렉토리에 접근 : X (x 권한)
-> 따라서 현재 작업중인 디렉토리의 위치는 여전히 /home/sevas 디렉토리임을 확인할 수 있다.
- /home/sevas 홈 디렉토리 하위의 html 디렉토리 목록 읽기 : X (r 권한)
- PC 의 위 경로에 위치하는 index.html 파일을 /home/sevas/html 디렉토리 하위에 복사 : X (w 권한)
-> 업로드된 것 같아보이지만 html 디렉토리로의 접근이 불가능해 ㅠ/home/sevas/html 디렉토리 하위가 아니라, /home/sevas 디렉토리 하위에 복사되었다.
3) UID = root, GID = root 인 /home/sevas/html 디렉토리에 대한 권한 예제 (sevas 사용자)
4) UID = sevas, GID = sevas 인 /home/sevas/html 디렉토리에 대한 권한 예제 (sevas 사용자)
공부하면서 정리한 내용을 글로 작성하였습니다.
혹시나 잘못된 내용이 있다면 댓글로 알려주시면 감사하겠습니다. :)
'OS > Rocky' 카테고리의 다른 글
[Linux / Rocky] 사용자 계정 생성 및 권한 설정 예제 (0) | 2025.01.15 |
---|---|
[Linux /Rocky] 웹 브라우저로 파일 및 디렉토리 권한 확인 (0) | 2025.01.14 |
[Linux / Rocky] 파일 및 디렉토리의 허가권 & 소유권 (0) | 2025.01.13 |
[Linux / Rocky] 리눅스 계정 관리 (0) | 2025.01.11 |
[Linux / Rocky] 사용자 환경 설정 파일 (0) | 2025.01.09 |