티스토리 뷰
Ubuntu 에서 SFTP 사용시 로그인 사용자를 해당 폴더에 가두는 방법입니다. ( SSH 를 사용하기 때문에 vsftpd 는 필요 없습니다. )
0. 조건
- 우선 SSH 가 깔려 있다는 것을 전제로 합니다.
- 사용자 그룹 sftponly 에 등록된 사용자들을 sftp 폴더에 가두게 될 것입니다.
* 주의 : SSH 사용자를 sftponly 그룹에 등록하지 마시기 바랍니다. sftponly 에 등록된 사용자는 ssh 에 로그인이 되지 않게 될 것입니다.
1. SSH config 변경하기
우선 /etc/ssh/sshd_config 를 수정합니다.
$ vim /etc/ssh/sshd_config
그리고 문서의 최하단으로 내리셔서 아래와 같이 internal-sftp 을 추가하고 Match Group 를 추가 하도록 합니다.
변경 전 Subsystem sftp /usr/lib/openssh/sftp-server 변경 후 Subsystem sftp internal-sftp /usr/lib/openssh/sftp-server 최하단에 아래의 문구 추가 Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
이제 모두 완료 되었다면 저장 후 닫아 주시고 ssh 를 재시작 해 주도록 합니다.
$ service sshd restart
2. 사용자 추가 및 설정
아래의 명령어로 sftponly 를 추가하고 환경을 설정해 주도록 합니다.
groupadd sftponly useradd tutorial_sftp passwd *비밀번호 입력과정 진행 usermod tutorial_sftp -g sftponly usermod tutorial_sftp -s /bin/false usermod tutorial_sftp -d /data/server
각 명령어 별로 설명을 드리면
groupadd sftponly
- 그룹을 추가 합니다.
useradd tutorial_sftp
- tutorial_sftp 라는 사용자를 추가합니다/
passwd
- 이전에 등록한 사용자의 비밀번호를 설정합니다.
usermod tutorial_sftp -g sftponly
- tutorial_sftp 을 sftponly 그룹에 등록합니다.
usermod tutorial_sftp -s /bin/false
- tutorial_sftp 의 설정을 /bin/false 로 변경합니다. 효과는 쉘 권한을 없에며 쉘 로그인이 불가능 해집니다.
* sftponly 에 등록이 되어 있어도 /bin/bash 면 쉘 로그인은 가능합니다. 만약 실수로 쉘 유저를 sftponly 에 등록하는 바람에 로그인이 안된다면 이 부분을 /bin/bash 로 수정하시면 됩니다. ( 혹은 /etc/passwd 를 직접 수정 )
usermod tutorial_sftp -d /data/server
- tutorial_sftp 의 홈 디렉토리를 설정합니다.
* 주의 하셔야 할 부분입니다. sftp 의 홈 디렉토리는 root 권한으로 설정 되어 있어야 합니다. 만약 다르다면 Command failed. 라는 메시지를 보게 될 것 입니다.
이제 sftp 에 로그인 해보시면 정상적으로 작동 하는 모습을 확인 하실 수 있으실 것 입니다.
'Computer Skills > Ubuntu' 카테고리의 다른 글
Ubuntu 16.x 에 ffmpeg 3.x 설치하기 (0) | 2017.11.10 |
---|---|
Linux 에서 파일 혹은 디렉토리 압축하기 (0) | 2017.02.07 |
Ubuntu 에서 php7.1 RC 설치하기 (0) | 2016.11.23 |
Ubuntu 에서 apt-get 으로 NginX Stable 버전 설치하기 (0) | 2016.03.01 |
Ubuntu 에서 GPG ERROR NO_PUBKEY 에러시 해결방법 (0) | 2016.03.01 |
- Total
- Today
- Yesterday
- 에러
- 웹 개발
- 인터넷
- Nodejs
- JavaScript
- ubuntu
- 튜토리얼북
- 서버
- 개발
- 데이터베이스
- Database
- 서버 개발
- mac
- cocos2d-x
- Laravel
- SNS
- 개발자
- php
- 게임 개발
- html
- 게임
- 설치
- Tutorialbook
- Developer
- 웹 서버
- 웹 개발자
- 웹
- 우분투
- it
- 맥
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |