SFTP 상위 디렉토리 접근 차단
페이지 정보
작성자
DocsArchives
작성일
2025.09.07 20:35
본문
1️⃣ SFTP 전용 그룹 생성
# 예: sftpusers 그룹 생성
sudo groupadd sftpusers
SFTP로 제한할 계정을 이 그룹에 넣습니다:
sudo usermod -aG sftpusers username
2️⃣ SSHD 설정 변경
/etc/ssh/sshd_config 파일 열기:
sudo vi /etc/ssh/sshd_config파일 끝에 SFTP 전용 설정 추가:
# SFTP 전용 설정
Match Group sftpusers
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding noChrootDirectory /home/%u
→ 계정 로그인 시 /home/username 을 루트(/)로 제한합니다.
ForceCommand internal-sftp
→ SSH 접속을 통한 쉘 사용 금지, SFTP만 허용
3️⃣ 디렉토리 권한 설정
Chroot 디렉토리는 root 소유여야 하고, 쓰기 권한은 하위 디렉토리에만 줘야 합니다.
# 루트 Chroot 디렉토리 소유자 root
sudo chown root:root /home/username
sudo chmod 755 /home/username
# 업로드/다운로드용 실제 작업 디렉토리 생성
sudo mkdir /home/username/data
sudo chown username:sftpusers /home/username/data
sudo chmod 755 /home/username/data
이렇게 하면 사용자는 /home/username 상위 디렉토리에는 쓰기/접근 불가
실제 파일 작업은 /home/username/data 에서만 가능
4️⃣ SSHD 재시작
요약
| 항목 | 설정 |
|---|---|
| 접근 제한 | ChrootDirectory /home/%u |
| SFTP 전용 | ForceCommand internal-sftp |
| 루트 디렉토리 권한 | root:root, 755 |
| 실제 작업 디렉토리 | 하위 디렉토리에 사용자 소유권 |
댓글 0