1 | root@ubuntu:~ # apt-get install proftpd |
1234567 | root@ubuntu:~ # ps -aux|grep ftp Warning: bad ps syntax, perhaps a bogus '-' ? See http: //procps .sf.net /faq .html proftpd 18912 0.0 0.0 93376 2204 ? Ss 11:10 0:00 proftpd: (accepting connections) root 18942 0.0 0.0 8112 940 pts /1 S+ 12:06 0:00 grep --color=auto ftp root@ubuntu:~ # netstat -tulpn | grep :21 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 18912 /proftpd : (acc root@ubuntu:~ # |
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | 關閉ipv6支持 UseIPv6 off # 禁用反向域名解析 UseReverseDNS off #支持的編碼格式 UseEncoding UTF-8 GBK # 不顯示服務器相關信息, 如proftpd版本 ServerIdent off #查找客戶的遠程用戶名,關掉節省連接時間 IdentLookups off #配置服務器名 ServerName "idoall.org FTP server" #設置服務器運行模式,獨立服務,或者被監管 ServerType standalone #關閉歡迎信息顯示 DeferWelcome on #如果顯示歡迎信息,則指定顯示的文件 DisplayLogin /usr/share/proftpd/etc/ftplogin .msg #指定切換文件夾時,顯示的歡迎信息 DisplayChdir .message #FTP安全擴展 MultilineRFC2228 on #設置為默認服務器 DefaultServer on #不顯示鏈接文件的目標文件DefaultRoot ShowSymlinks off #允許root用戶登錄,默認是不允許的,安全起見不推薦此選項。 RootLogin off #登陸后允許IDLE的時間 TimeoutNoTransfer 600 #連接超時的時間 TimeoutStalled 600 #客戶端idle時間設置,默認就是600秒 TimeoutIdle 600 #顯示時顯示詳細信息 ListOptions "-l" #阻止帶.的命令 DenyFilter /*.*/
# 限制lionftp用戶上傳的速率限制在150Kbytes/s TransferRate STOR 150 user lionftp # 限制lionftp用戶下載的速率限制在100Kbytes/s TransferRate RETR 100 user lionftp #端口號 Port 21 # 顯示以MB為單位 QuotaDisplayUnits Mb
#設置被動模式使用的端口范圍 PassivePorts 60000 65535
#FTP SERVER最大連接數 MaxInstances 30
#設置服務器進程運行使用的用戶 User proftpd #設置服務器進程運行使用的組 Group nogroup #設置用戶上傳文件的權限掩碼 Umask 022 022 #設置用戶被chroot鎖定到的各自的Home目錄 DefaultRoot /usr/local/nginx/html # 允許覆蓋文件 AllowOverwrite on #屏蔽服務器版本信息 ServerIdent off
#上傳時,允許斷點續傳 AllowStoreRestart on #下載時,允許斷點續傳 AllowRetrieveRestart on #每個帳戶最多允許來源ip為1個 MaxHostsPerUser 10 #每個帳戶在每個客戶端最多可以同時登陸1次,可以防止多線程軟件下載對服務器的破壞 MaxClientsPerUser 10 #同一個客戶端只能最多1個帳號可以登陸 MaxClientsPerHost 10 #是否要把ftp記錄在日志中,如果不想可以設置成off屏蔽掉log日志。 WtmpLog on #設置日志 TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd .log |
1234567891011121314151617181920 | 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 :是否允許登陸的權限 #limit 中對用戶和群組的控制 AllowUser 針對某個用戶允許的 Limit DenyUser 針對某個用戶禁止的 Limit AllowGroup 針對某個用戶組允許的 Limit DenyGroup 針對某個用戶組禁止的 Limit AllowAll 針對所有用戶組允許的 Limit DenyAll 針對所有用戶禁止的 Limit |
123456789101112 | %T 目前的時間 %F 所在硬盤剩下的容量 %C 目前所在的目錄 %R Client 端的主機名稱 %L Server 端的主機名稱 %U 使用者帳戶名稱 %M 最大允許連接人數 %N 目前的服務器連接人數 %E FTP服務器管理員的 email %i 本次上傳的文件數量 %o 本次下載的文件數量 %t 本次上傳+下載的文件數量 |
1234567 | root@ubuntu:~ # vi /usr/share/proftpd/etc/ftplogin.msg 歡迎您%U, 這是idoall的測試FTP服務器; 目前時間是:%T; 本服務器最多允許%M個用戶連接數; 目前服務器上已有%N個用戶連接數; 目前你所在的目錄是%C; 目錄所在的硬盤還剩下%F字節。 |
123456789 | root@ubuntu:~ # vi /etc/shells # /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash /usr/bin/tmux /usr/bin/screen /usr/sbin/nologin |
12 | /usr/share/nginx/html ----lionftp可以讀寫,chenshuaiftp只讀 /usr/share/nginx/html/a ----lionftp可以讀寫,chenshuaiftp可以讀寫 |
1234567891011 | root@ubuntu:~ # groupadd ftp root@ubuntu:~ # useradd lionftp -g ftp -s /usr/sbin/nologin root@ubuntu:~ # useradd chenshuaiftp -g ftp -s /usr/sbin/nologin root@ubuntu:~ # passwd lionftp Enter new UNIX passWord: Retype new UNIX password: passwd : password updated successfully root@ubuntu:~ # passwd chenshuaiftp Enter new UNIX password: Retype new UNIX password: passwd : password updated successfully |
1 | root@ubuntu:~ # chown lionftp /usr/share/nginx/html |
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 | root@ubuntu:~ # vi /etc/proftpd/proftpd.conf # If set on you can experience a longer connection delay in many cases. # # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes, reload proftpd after modifications, if # it runs in daemon mode. It is not required in inetd/xinetd mode. #
# Includes DSO modules Include /etc/proftpd/modules .conf
關閉IPv6支持 UseIPv6 off # 禁用反向域名解析 UseReverseDNS off #支持的編碼格式 UseEncoding UTF-8 GBK # 不顯示服務器相關信息, 如proftpd版本 ServerIdent off #查找客戶的遠程用戶名,關掉節省連接時間 IdentLookups off #配置服務器名 ServerName "idoall.org FTP server" #設置服務器運行模式,獨立服務,或者被監管 ServerType standalone #關閉歡迎信息顯示 DeferWelcome on #如果顯示歡迎信息,則指定顯示的文件 DisplayLogin /usr/share/proftpd/etc/ftplogin .msg #指定切換文件夾時,顯示的歡迎信息 DisplayChdir .message #FTP安全擴展 MultilineRFC2228 on #設置為默認服務器 DefaultServer on #不顯示鏈接文件的目標文件DefaultRoot ShowSymlinks off #允許root用戶登錄,默認是不允許的,安全起見不推薦此選項。 RootLogin off #登陸后允許IDLE的時間 TimeoutNoTransfer 600 #連接超時的時間 TimeoutStalled 600 #客戶端idle時間設置,默認就是600秒 TimeoutIdle 600 #顯示時顯示詳細信息 ListOptions "-l" #阻止帶.的命令 DenyFilter /*.*/
# 限制lionftp用戶上傳的速率限制在150Kbytes/s TransferRate STOR 150 user lionftp # 限制lionftp用戶下載的速率限制在100Kbytes/s TransferRate RETR 100 user lionftp #端口號 Port 21 # 顯示以MB為單位 QuotaDisplayUnits Mb
#設置被動模式使用的端口范圍 PassivePorts 60000 65535
#FTP SERVER最大連接數 MaxInstances 30
#設置服務器進程運行使用的用戶 User proftpd #設置服務器進程運行使用的組 Group nogroup #設置用戶上傳文件的權限掩碼 Umask 022 022 #設置用戶被chroot鎖定到的各自的Home目錄 DefaultRoot /usr/local/nginx/html # 允許覆蓋文件 AllowOverwrite on #屏蔽服務器版本信息 ServerIdent off
#上傳時,允許斷點續傳 AllowStoreRestart on #下載時,允許斷點續傳 AllowRetrieveRestart on #每個帳戶最多允許來源ip為1個 MaxHostsPerUser 10 #每個帳戶在每個客戶端最多可以同時登陸1次,可以防止多線程軟件下載對服務器的破壞 MaxClientsPerUser 10 #同一個客戶端只能最多1個帳號可以登陸 MaxClientsPerHost 10 #是否要把ftp記錄在日志中,如果不想可以設置成off屏蔽掉log日志。 WtmpLog on #設置日志 TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd .log <Directory "/usr/local/nginx/html/*" >
<Limit ALL>
AllowUser lionftp
DenyAll
< /Limit >
<Limit CWD READ DIRS>
AllowAll
< /Limit > < /Directory > <Directory "/usr/local/nginx/html/a/*" >
<Limit ALL>
AllowUser lionftp
AllowUser chenshuaiftp
DenyAll
< /Limit >
<Limit CWD READ DIRS>
AllowAll
< /Limit > < /Directory > #不允許任何人執行chmod命令(SITE_CHMOD) <Limit SITE_CHMOD>
DenyAll < /Limit >
<IfModule mod_quotatab.c> QuotaEngine off < /IfModule >
<IfModule mod_ratio.c> Ratios off < /IfModule > <IfModule mod_delay.c> DelayEngine on < /IfModule > <IfModule mod_ctrls.c> ControlsEngine off ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls .log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd .sock < /IfModule >
<IfModule mod_ctrls_admin.c> AdminControlsEngine off < /IfModule >
# This is useful for masquerading address with dynamic IPs: # refresh any configured MasqueradeAddress directives every 8 hours <IfModule mod_dynmasq.c> # DynMasqRefresh 28800 < /IfModule > Include /etc/proftpd/conf .d/ |
1 | root@ubuntu:~ # service proftpd restart |
12345678910111213141516171819202122 | C:/Users/Administrator> ftp ftp > open 192.168.1.100 連接到 192.168.1.100。 220 192.168.1.100 FTP server ready 用戶(192.168.1.100:(none)): chenshuaiftp 331 Password required for chenshuaiftp 密碼: 230-歡迎您chenshuaiftp,這是idoall的測試FTP服務器; 230- 目前時間是:Sat Aug 09 03:22:02 2014; 230- 本服務器最多允許0個用戶連接數; 230- 目前服務器上已有2個用戶連接數; 230- 目前你所在的目錄是/; 230- 目錄所在的硬盤還剩下0字節。 230 User chenshuaiftp logged in ftp > dir 200 PORT command successful 150 Opening ASCII mode data connection for file list -rw-r--r-- 1 root root 537 Aug 6 06:38 50x.html drwxrwxrwx 19 root root 4096 Jun 17 05:49 xxx drwxrwxrwx 7 root root 4096 Aug 9 01:19 aaaa 226 Transfer complete ftp : 收到 201 字節,用時 0.01秒 13.40千字節/秒。 |
123456 | # 不要求有合法shell,直接效果是允許nologin用戶和虛擬用戶登錄 RequireValidShell off # AuthOrder指定了權限檢查的順序。這里只使用虛擬用戶 AuthOrder mod_auth_file.c mod_auth_unix.c AuthUserFile /usr/share/proftpd/etc/passwd AuthGroupFile /usr/share/proftpd/etc/group |
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 | root@ubuntu:~ # vi /etc/proftpd/proftpd.conf # If set on you can experience a longer connection delay in many cases. # # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes, reload proftpd after modifications, if # it runs in daemon mode. It is not required in inetd/xinetd mode. #
# Includes DSO modules Include /etc/proftpd/modules .conf
關閉IPv6支持 UseIPv6 off # 禁用反向域名解析 UseReverseDNS off #支持的編碼格式 UseEncoding UTF-8 GBK # 不顯示服務器相關信息, 如proftpd版本 ServerIdent off #查找客戶的遠程用戶名,關掉節省連接時間 IdentLookups off #配置服務器名 ServerName "idoall.org FTP server" #設置服務器運行模式,獨立服務,或者被監管 ServerType standalone #關閉歡迎信息顯示 DeferWelcome on #如果顯示歡迎信息,則指定顯示的文件 DisplayLogin /usr/share/proftpd/etc/ftplogin .msg #指定切換文件夾時,顯示的歡迎信息 DisplayChdir .message #FTP安全擴展 MultilineRFC2228 on #設置為默認服務器 DefaultServer on #不顯示鏈接文件的目標文件DefaultRoot ShowSymlinks off #允許root用戶登錄,默認是不允許的,安全起見不推薦此選項。 RootLogin off #登陸后允許IDLE的時間 TimeoutNoTransfer 600 #連接超時的時間 TimeoutStalled 600 #客戶端idle時間設置,默認就是600秒 TimeoutIdle 600 #顯示時顯示詳細信息 ListOptions "-l" #阻止帶.的命令 DenyFilter /*.*/
# 限制lionftp用戶上傳的速率限制在150Kbytes/s TransferRate STOR 150 user lionftp # 限制lionftp用戶下載的速率限制在100Kbytes/s TransferRate RETR 100 user lionftp #端口號 Port 21 # 顯示以MB為單位 QuotaDisplayUnits Mb
#設置被動模式使用的端口范圍 PassivePorts 60000 65535
#FTP SERVER最大連接數 MaxInstances 30
#設置服務器進程運行使用的用戶 User proftpd #設置服務器進程運行使用的組 Group nogroup #設置用戶上傳文件的權限掩碼 Umask 022 022 #設置用戶被chroot鎖定到的各自的Home目錄 DefaultRoot /usr/local/nginx/html # 允許覆蓋文件 AllowOverwrite on #屏蔽服務器版本信息 ServerIdent off
#上傳時,允許斷點續傳 AllowStoreRestart on #下載時,允許斷點續傳 AllowRetrieveRestart on #每個帳戶最多允許來源ip為1個 MaxHostsPerUser 10 #每個帳戶在每個客戶端最多可以同時登陸1次,可以防止多線程軟件下載對服務器的破壞 MaxClientsPerUser 10 #同一個客戶端只能最多1個帳號可以登陸 MaxClientsPerHost 10 #是否要把ftp記錄在日志中,如果不想可以設置成off屏蔽掉log日志。 WtmpLog on #設置日志 TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd .log # 不要求有合法shell,直接效果是允許nologin用戶和虛擬用戶登錄 RequireValidShell off # AuthOrder指定了權限檢查的順序。這里只使用虛擬用戶 AuthOrder mod_auth_file.c mod_auth_unix.c AuthUserFile /usr/share/proftpd/etc/passwd AuthGroupFile /usr/share/proftpd/etc/group
<Dire |