운영체제

SFTP 상위 디렉토리 접근 차단

페이지 정보

작성자 DocsArchives
작성일 2025.09.07 20:35
분류 rhel
723 조회

본문

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 no

ChrootDirectory /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 재시작

sudo systemctl restart sshd

5️⃣ 테스트


외부 클라이언트에서 SFTP 접속 경로 상위로 접근 불가, 지정한 디렉토리만 접근 가능 pwd 명령으로 /가 실제 계정 홈 디렉토리로 제한되는지 확인
 

요약

항목설정
접근 제한ChrootDirectory /home/%u
SFTP 전용ForceCommand internal-sftp
루트 디렉토리 권한root:root, 755
실제 작업 디렉토리하위 디렉토리에 사용자 소유권


댓글 0
홈으로 전체메뉴
전체 검색
회원가입