반응형
ftp로 정보를 주고받아야 하는 상황이 생겨서 웹사이트를 올린 서버에 ftp를 열어놔야 하는 상황이 생겼다. 아래 글은 Ubuntu 16.04LTS를 기준으로 작성되었다
설치하기
우선 openssh-server라는 프로그램이 설치되어 있어야 한다.
$ sudo apt-get install openssh-server
나의 환경에서는 이미 설치가 되어있었다. 이 상태에서 이제 내가 원하는 계정을 생성해보자. (이미 있다면 계정 생성은 패스해도 된다.)
계정 생성하기
$ sudo adduser guest
Ubuntu에 계정을 생성 및 비밀번호를 설정하고, 이 계정이 특정 폴더 외의 다른 폴더는 접근하지 못하도록 막아보겠다.
sftp 설정 바꾸기
$ vi /etc/ssh/sshd_config
그리고 다음 부분을
Subsystem sftp /usr/lib/openssh/sftp-server
다음과 같이 바꾼다
Subsystem sftp internal-sftp
그리고 파일의 마지막 부분에 다음 코드를 넣는다
Match Group filetransfer
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
그리고 ssh 데몬을 재시작한다
$ service ssh restart
계정에 대한 권한 설정하기
제한을 걸 유저를 포함시킬 그룹을 생성한다
$ sudo addgroup --system filetransfer
그리고 그 그룹안에 넣자
usermod -G filetransfer guest
chown root:root /home/guest
chmod 755 /home/guest
여기서 guest부분을 당신이 정한 유저명으로 바꾸면 된다.
이제 생성한 폴더(request)에 대해 이 계정이 쓰기 권한을 갖게 해보자!
cd /home/guest
mkdir request respond
chown guest:filetransfer request
이렇게 하면 /, /respond 두 폴더는 쓰기권한이 없고 보기권한만 있는 상태가 되고 /request 폴더에 쓰기 권한이 주어진다. 아래 코드 부분이 filetranfer 그룹에 권하는 주는 부분이기 때문에 꼭 이해하자
chown guest
:filetransfer request
출처: https://itncode.tistory.com/95 [IT & CODE 이야기]
반응형
'IT기술 관련 > 리눅스' 카테고리의 다른 글
[Ubuntu] .deb 파일 설치 그리고 삭제 방법 (0) | 2019.11.13 |
---|---|
우분트에 프록시 설정하기 (0) | 2019.11.13 |
php 로 localhost의 real IP 가져오기 (0) | 2019.08.12 |
php + mysql 파일 업로드 구현하기 (0) | 2019.08.12 |
리눅스 서버 60초안에 상황파악하기 -서버관리자가 필수로 알아야하는 내용 (1) | 2019.06.26 |