메뉴 건너뛰기

XEDITION

Linux

[OS/Linux] vsftp, sftp config on CentOS7

김병수 2019.10.04 11:46 조회 수 : 8

조건 1 : vsftp 계정 상위 디렉토리를 제한

조건 2 : sftp 계정 상위 디렉토리 제한

조건 3 : sftp 계정은 ssh 로그인 불가

조건 4 : ftp upload 계정은 1계정에 한함

 

1. vsftpd 설치, 설정, 실행

1.1 vsftpd 설치

     # yum install vsftpd

1.2 vsftpd 설정

     #vi /etc/vsftpd/vsftpd.conf

       anonymous_enable=NO                 // YES -> NO로 변경         // 익명 사용 금지 설정

       chroot_local=user=YES                   // 주석 제거                    // vsftp 계정 상위 디렉토리 제한 설정 부분

       

1.3 vsftpd 실행

     #systemctl enable vsftpd

     #systemctl start vsftpd

 

 

2. sftp 설정

2.1 sftp 설정

    #vi /etc/ssh/sshd_config

            #Subsystem         sftp         /usr/libexec/openssh/sftp-server        // 주석 처리

              Subsystem         sftp        internal-sftp                                   // 신규 추가      // sftp 계정 상위 디렉토리 제한 설정 부분1

           

      예제1) sftp 계정을 상위 디렉토리 제한 설정하고자 하면 아래 내용 추가 

              Match User test                                                                  // test : sftp 사용 계정

                    ChrootDirectory /home/test                                             // test 계정 홈디렉토리  (위치는 변경 가능)

                    X11Forwarding no

                    AllowTcpForwarding no

                    PermitTTY no

                    ForceCommand internal-sftp                                            // internal-sftp : 위에서 설정한 Subsystem 부분

 

        예제2) sftp 계정 그룹을 상위 디렉토리 제한 설정하고자 하면 아래 내용 추가 

               Match Group testgroup                                                       // testgroup : sftp 사용 계정 그룹

                    ChrootDirectory %h                                                       // %h : 각 sftp 사용 계정의 홈디렉토리를 의미

                    X11Forwarding no

                    AllowTcpForwarding no

                    PermitTTY no

                    ForceCommand internal-sftp                                            // internal-sftp : 위에서 설정한 Subsystem 부분

 

           

        예제3) sftp 계정 그룹을 상위 디렉토리 제한 설정하고, ssh 로그인도 되어야 하는 경우 아래 내용 추가

               Match User bskim                                                              // bskim : sftp 사용 계정 그룹

                    ChrootDirectory /home/bskim                                          // %h : 각 sftp 사용 계정의 홈디렉토리를 의미

                    X11Forwarding no

                    AllowTcpForwarding no

                    PermitTTY no

 

        예제4) ssh 로그인 차단하고자 하는 그룹 설정은 아래 내용 추가

               DenyGroups testgroup                                                         //testgroup : sftp 사용자 계정 차단 설정

 

        예제5) ssh 로그인 허용하고자 하는 계정은 아래 내용 추가

               AllowUsers bskim                                                                // bskim 계정 ssh 접속 허용

 

 

3. vsftp, sftp 계정별 홈 디렉토리 퍼미션 설정

   3.1  vsftp는 특별한 권한 설정을 안해도 상관 없음.

   3.2  sftp  폴더 권한 설정

         기준1) 무조건 root 소유자, 퍼미션 755 설정되어 있어야 sftp 로그인이 가능하다.

         예제)

          sftp 폴더 : /data

          #ls -l 

            drwxr-xr-x   2 root root 4096 Apr 11 2019 11:05 data               // root 소유자, 퍼미션 755 설정

 

         즉, 일반 계정으로는 홈디렉토리를 바로 사용할 수 없으므로, 하위 디렉토리를 만들어 퍼미션 775 등으로 설정하여 사용하면 된다.  

 

   3.3 그래서 root 계정으로 파일 업로드 하는 것으로 설정하여 사용중

 

            

 

 

위로