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