Heesung Yang

CentOS/Redhat 7 - ftp 서버 업로드 전용 계정 생성 방법

업로드 전용 계정 만들기

  • ssh 접속은 허용하지 않고 오로지 sftp 접근만 가능하도록 설정
  • ${HOME}/upload 폴더에만 파일 업로드 가능. ${HOME} 에는 업로드 불가
  • ${HOME} 상위 폴더로 이동 불가. 즉, 타계정의 파일 리스트 볼 수 없음
# vsftpd 설치
~$ yum install vsftpd

# uploader 라는 이름으로 계정 생성
~$ sudo useradd uploader
~$ sudo passwd uploader

# 업로드 전용 폴더 생성
~$ sudo mkdir /home/uploader/upload

# 업로드 전용 폴더 권한 변경
~$ sudo chown root:uploader -R /home/uploader
~$ sudo chown uploader:root -R /home/uploader/upload

# 계정의 ${HOME} 폴더 권한 변경
~$ sudo chmod 755 /home/uploader

# sshd 설정 변경
~$ sudo vi /etc/ssh/sshd_config

#Subsystem sftp /usr/libexec/openssh/sftp-server  <-- 주석 처리
Subsystem  sftp  internal-sftp
Match User uploader
    ChrootDirectory %h
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

# sshd 재시작
~$ sudo systemctl restart sshd
  • ssh 접속 시도 시 아래와 같이 접속 불가 메시지 출력됨

    ~$ ssh uploader@12.34.56.78
    
    uploader@12.34.56.78's password:
    This service allows sftp connections only.
    Connection to 12.34.56.78 closed.
    

Previous post

Docker