개요
일반계정처럼 sftp계정을 만들고 Filezilla와 같은 sftp프로그램으로 접속시, / 경로까지 접근이 가능하다.
이 경우 누구나 루트 폴더에 접근이 가능할 수 있기 때문에 해킹에 취약해 질 수 있다.
따라서, ssh는 접속이 불가능하고 오직 sftp로만 접속가능하고 상위폴더로는 접근 못하도록 하는 방법을 소개한다.
Chroot 설정하기
Chroot란?
Chroot는 Change Root Directory라는 뜻으로 임시로 루트 디렉터리를 설정하는 명령어이다.
특성사용자의 홈폴더를 루트폴더인것 처럼 지정해서 상위폴더로의 접근을 제한할 수 있다.
sshd_config 파일 수정
/etc/ssh/sshd_config
위치에 있는 파일을 아래와 같이 수정한다.
예시) sftp전용 계정명 : test
sftp 루트 폴더 경로 : /home/test
# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
... (중략)
Match User test
ChrootDirectory /home/test
ForceCommand internal-sftp
X11Forwarding no
AllowTCPForwarding no
수정이 완료 됬다면 $ systemctl restart ssh
명령을 통해 ssh를 재시작한다.
폴더 권한 설정
sftp 루트 폴더의 권한은 755로 설정되어야 하고, 소유자는 root, 그룹은 test로 설정 되어야 한다.
$ ls -la /home
... (중략)
drwxr-xr-x 1 root test 8 Oct 18 00:00 test
따라서, chonw과 chmod 명령을 통해 위와 같은 폴더권한을 주어야한다.
728x90
'Linux > Ubuntu' 카테고리의 다른 글
[Ubuntu] tar 명령어로 압축/압축해제하기 (0) | 2022.03.29 |
---|---|
[Ubuntu] 20.04 LTS에 Docker 설치하기 (0) | 2022.03.28 |
[Ubuntu] apt update Error_1 (0) | 2021.09.28 |
[SSH] ssh나 telnet 접속시 메시지 띄우기 (1) | 2021.08.03 |
[vim] 내가 애용하는 .vimrc 설정 (1) | 2021.07.30 |
댓글