2018年7月9日 星期一

Proftpd架設 (虛擬主機sftp部份) 包括proftpd參數設定


yum install -y proftpd  

vim /etc/proftpd.conf

ServerName                      "testsftp"
ServerIdent                     on "xxxx-FTP Server ready."
ServerAdmin                     root@localhost
DefaultServer                   on
Port                                   21
PassivePorts                    65400  65420
AllowStoreRestart               on
SyslogLevel                   emerg
SystemLog                     /var/log/proftpd/proftpd.log
# Put the user into /pub right after login
DefaultChdir         /data/ftp



# Support for the SSH2, SFTP, and SCP protocols, for secure file transfer over
# an SSH2 connection (http://www.castaglia.org/proftpd/modules/mod_sftp.html)
    LoadModule mod_sftp.c   ß去註解
#
# Use PAM to provide a 'keyboard-interactive' SSH2 authentication method for
# mod_sftp (http://www.castaglia.org/proftpd/modules/mod_sftp_pam.html)
    LoadModule mod_sftp_pam.c   ß去註解


<VirtualHost 192.168.11.190>   #設定主機ip
  Port 2222                                  #設定port
  DeferWelcome  on
  TransferRate  STOR  800       #上傳限制kb
  TransferRate  RETR  1000     #下載限制kb
  MaxHostsPerUser 1               #設定同用戶主機連線數量
  MaxConnectionsPerHost 1    #設定同一主機連線數
  DefaultRoot   /data/ftp      #預設 ftp home目錄
  DefaultRoot   ~!testadmin   #除了某user之外預設
  
<IfModule mod_sftp.c>
     SFTPEngine on
     SFTPLog /var/log/proftpd/sftp.log
     SFTPHostKey /etc/ssh/ssh_host_rsa_key  #權限必須為600否則會出現錯誤
     SFTPCompression delayed
</IfModule>
      <Directory /data/ftp> #針對自設home目錄權限設定
         <Limit ALL>
            AllowAll
         </Limit>
      </Directory>

      <Directory />   #針對根目錄"/"所有權限禁止,可以防止帳號除了default home之外目錄使用
         <Limit ALL>
            DenyAll
         </Limit>
      </Directory>
</VirtualHost>

============================================================
#設定參數(如上紅字)參考:
 CMD:    Change Working Directory 改變目錄
 MKD:    MaKe Directory建立目錄的權限
 RNFR:   ReName FRom 更改目錄名的權限
 DELE:    DELEte 刪除文件的權限
 RMD:     ReMove Directory 刪除目錄的權限
 RETR:    RETRieve 從服務端下載到客戶端的權限
 STOR:    STORe 從客戶端上傳到服務端的權限
 READ:   可讀的權限,不包括列目錄的權限,相當於RETR,STAT等
 WRITE:  寫文件或者目錄的權限,包括MKD和RMD
 DIRS:     是否允許列目錄,相當於LIST,NLST等權限,還是比較實用的
 ALL:      所有權限
 LOGIN: 是否允許登陸的權限

#針對權限的應用對象,可用下列方式設定。
 AllowUser       針對某個用戶允許的Limit
 DenyUser        針對某個用戶禁止的Limit
 AllowGroup    針對某個用戶組允許的Limit
 DenyGroup     針對某個用戶組禁止的Limit
 AllowAll          針對所有用戶組允許的Limit
 DenyAll           針對所有用戶禁止的Limit


==========================================================
chmod 600 /etc/ssh/ssh_host_rsa_key   #權限設為600


vim /etc/hosts

192.168.xx.xx testsftp


service proftpd start

chkconfig proftpd on


建立測試者帳號
useradd ftpuser1 -s /sbin/nologin
passwd ftpuser

建立home資料夾mkdir /data/ftp
其它請參考使用者帳號建立文章及資料夾ALC設定。


連線測試sftp -oport=2222 帳號@192.168.XX.XX

設定檔參考:


參考網址:
https://rei92.tian.yam.com/posts/25494499

https://coodie-h.blogspot.com/2017/09/centos-7-proftpd-ftpftpssftp.html

http://result945.pixnet.net/blog/post/28301263-cent-os%E5%AE%89%E8%A3%9Dproftpd

沒有留言:

張貼留言