우분투 14.04 sftp만 되는 계정 만들기

우분투 14.04 sftp만 되는 계정 만들기

웹서버를 운영하려면 사용자가 ftp로 접속할 수 있도록 해야 하는데, 홈디렉토리 이상의 디렉토리로 접근하지 못하도록 설정하는 방법입니다.

아래의 설정은 aws ec2 ubuntu 14.04에서 테스트 했습니다.

 

step 1. Openssh 패키지 설치하기

만약 openssh 패키지가 설치되어 있지 않다면 설치해줍니다.

apt-get install openssh-server

 

step 2. sftp 접속을 위한 유저 그룹 만들기

sudo addgroup sftpsuers

 

그리고 /etc/ssh/sshd_config 파일을 열어 아래와 같이 수정해줍니다.

Subsystem sftp /usr/lib/openssh/sftp-server라고 되어 있는 부분을 주석처리하고 아래 코드를 파일 제일 하단에 추가해줍니다.

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Match group sftpsuers
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

 

step 4. ssh 서비스를 재시작합니다.

sudo service ssh restart

 

step 5. 사용자 계정을 추가합니다.

sudo adduser daworks --ingroup sftpusers --shell /usr/sbin/nologin

 

step 6. 홈 디렉토리의 접근권한을 수정해줍니다. 홈 디렉토리는 root권한을 주어야 합니다.

sudo chown root.root /home/daworks

root권한을 주지 않을 경우 접속이 되지 않습니다.

 

step 7. 홈 디렉토리 안에 sftp 사용자가 읽고 쓸 수 있는 디렉토리를 만들어줍니다. 웹서비스를 할 경우 실제 파일을 업로드하고 읽고 쓰기를 할 수 있는 디렉토리입니다.

sudo mkdir /home/daworks/www
sudo chown daworks:sftpusers /home/daworks/www

 

이렇게 하면 끝입니다.