ubuntu12.04+proftpd1.3.4a的系统用户+虚拟用户权限应用实践

时间:2023-03-09 13:40:14
ubuntu12.04+proftpd1.3.4a的系统用户+虚拟用户权限应用实践
目录:
  一、什么是Proftpd?
  二、Proftpd的官方网站在哪里?
  三、在哪里下载?
  四、如何安装?
    1)系统用户的配置+权限控制
    2)虚拟用户的配置+权限控制
  一、什么是Proftpd?
  ProFTPd是一套可配置性强的开放源代码的FTP伺服器软件,名称最後的d字是因为在Linux中是用daemon来称呼。ProFTPd与Apache的配置方式类似,因此十分容易配置和管理。
  项目开始时,Unix或类Unix平台上 FTP Server十分有限,最常使用的恐怕就是wu-ftpd了。虽然wu-ftpd有着极佳的效能同时也是一套很好的软件,然而它却欠缺了许多Win32平台上FTP Server的一些特色,同时wu-ftpd过去也有不少的安全漏洞陆续被发现。ProFTPD的原创者本身就曾经花非常多的时间寻找wu-ftpd 的漏洞加以改进并且增加许多功能。然而十分不幸的是,他很快地发现显然wu-ftpd需要全部重新的改写才能补足欠缺的设定能力以及缺乏的一些功能。
  除了wu-ftpd的,也有一些其他的FTP服务器可被设计成重量轻,安全而牺牲的可配置性。例如,Troll FTP是一个很好的FTP程序,比wu-ftpd更为安全而且资源占用更少。不幸的是,它是非常适合于基本的FTP服务,但不适合需要更复杂功能的FTP站点. 
  ProFTPD不是由其它FTP Server的源代码修改而产生的,相反的,它是完全独立而完整、重新改写的FTP Server。许多著名的,访问量大的网站使用ProFTPD的。ProFTPD有两种运行方式,独立服务器与超级服务器的子服务器。无论从安全性和稳定性,还是可配置性来说都是非常好的选择。
  二、Proftpd的官方网站在哪里?
  三、在哪里下载?
  四、如何安装?
  标题中介绍了我的系统是ubuntu12.04,所以就直接使用apt-get的方式安装了,安装过程中会弹出个窗口让你选择运行模式,这里我们选择的是“standalone”
1
root@ubuntu:~# apt-get install proftpd

  安装后,proftpd会自动启动,可以查看下进程是否存在"ps -aux|grep ftp"或用"netstat -tulpn | grep :21"查看下ftp的默认21端口是否有内容

1
2
3
4
5
6
7
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:~#
  proftpd基本配置说明:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
关闭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
  Limit权限说明:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
  关于欢迎文件的设置包含如下参数:
1
2
3
4
5
6
7
8
9
10
11
12
%T 目前的时间
%F 所在硬盘剩下的容量
%C 目前所在的目录
%R Client 端的主机名称
%L Server 端的主机名称
%U 使用者帐户名称
%M 最大允许连接人数
%N 目前的服务器连接人数
%E FTP服务器管理员的 email
%i 本次上传的文件数量
%o 本次下载的文件数量
%t 本次上传+下载的文件数量
  知道这些参数,我们就可以写出一个友好的欢迎语:
1
2
3
4
5
6
7
root@ubuntu:~# vi /usr/share/proftpd/etc/ftplogin.msg
欢迎您%U, 这是idoall的测试FTP服务器;
目前时间是:%T;
本服务器最多允许%M个用户连接数;
目前服务器上已有%N个用户连接数;
目前你所在的目录是%C;
目录所在的硬盘还剩下%F字节。
    1)系统用户的配置+权限控制
      a)Ubuntu系统配置nologin,与其他Linux稍有不同,最后一行增加/usr/sbin/nologin
1
2
3
4
5
6
7
8
9
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
      b)用户操作权限说明
1
2
/usr/share/nginx/html    ----lionftp可以读写,chenshuaiftp只读
/usr/share/nginx/html/a    ----lionftp可以读写,chenshuaiftp可以读写
      c)先创建一个ftp用户组,再创建两个测试用户lionftp和chenshuaiftp,并且禁止ftp用户使用终端登录,将用户lionftp和chenshuaiftp加入到ftp用户组中
1
2
3
4
5
6
7
8
9
10
11
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
      d)设置目录用户权限
1
root@ubuntu:~# chown lionftp /usr/share/nginx/html
      e)修改proftpd的配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
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/

      f)重启ftp服务器

1
root@ubuntu:~# service proftpd restart
      g)在windows上测试连接
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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千字节/秒。
    2)虚拟用户的配置+权限控制
      a)修改配置文件,在刚才的配置文件中增加以下配置,同时在“/usr/local/nginx/html/a/*”权限部分增加一个用户,后面我们用这个虚拟用户“ftpchenshuai”来测试
1
2
3
4
5
6
# 不要求有合法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
      修改后的proftpd的全部配置文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
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
  
<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
        AllowUser ftpchenshuai
        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/
      b)配置文件中的虚拟用户和用户组的文件如果不存在,先创建:
1
2
3
root@ubuntu:~# mkdir -p /usr/share/proftpd/etc/
root@ubuntu:~# touch /usr/share/proftpd/etc/passwd
root@ubuntu:~# touch /usr/share/proftpd/etc/group
      c)创建一个虚拟用户ftpchenshuai,并指定目录
1
root@ubuntu:~# ftpasswd --passwd --file=/usr/share/proftpd/etc/passwd --name=ftpchenshuai --uid=3000 --home=/usr/local/nginx/html/a --shell=/bin/false
      –passwd 指定建立一个新的虚拟用户,–group则建立一个虚拟组;
      –file 指定存储虚拟用户的文件;
      –name 指定此虚拟用户的用户名,密码会在命令执行时要求输入;
      –uid 指定此虚拟用户对应的系统用户UID,此虚拟用户将以此系统UID的身份读写文件
      –home 指定此虚拟用户的根目录,就是其登陆FTP后的根目录;
      –shell 指定此虚拟用户的shell,为了安全当然指定一个不可登陆的shell了
      d)新建一个虚拟用户组
1
root@ubuntu:~# ftpasswd --group --name=testgroup --gid=2014
      e)将虚拟用户添加到虚拟用户组
1
root@ubuntu:~# ftpasswd --group --name=testgroup --gid=2014 --member=ftpchenshuai
      f)如果用户登录后,没有写权限,要使用以下命令增加
1
root@ubuntu:~# chmod 777 -R /usr/local/nginx/html/a
      g)重启ftp服务器
1
root@ubuntu:~# service proftpd restart
      h)在windows上测试连接
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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)): ftpchenshuai
331 Password required for ftpchenshuai
密码:
230-欢迎您ftpchenshuai,这是idoall的测试FTP服务器;
230-   目前时间是:Sat Aug 09 03:30:53 2014;
230-   本服务器最多允许0个用户连接数;
230-   目前服务器上已有2个用户连接数;
230-   目前你所在的目录是/a;
230-   目录所在的硬盘还剩下0字节。
230 User ftpchenshuai logged in
ftp> pwd
257 "/a" is the current directory
ftp> dir
200 PORT command successful
150 Opening ASCII mode data connection for file list
-rw-r--r--   1 ftpchenshuai 3000      1870666 Aug  9 02:13 xxx.apk
226 Transfer complete
ftp: 收到 88 字节,用时 0.01秒 5.87千字节/秒。
ftp> put c:\a.txt
200 PORT command successful
150 Opening ASCII mode data connection for a.txt
226 Transfer complete
ftp: 发送 1 字节,用时 0.06秒 0.02千字节/秒。
ftp> dir
200 PORT command successful
150 Opening ASCII mode data connection for file list
-rw-r--r--   1 ftpchenshuai 3000            1 Aug  9 03:33 a.txt
-rw-r--r--   1 ftpchenshuai 3000      1870666 Aug  9 02:13 xxx.apk
226 Transfer complete
ftp: 收到 154 字节,用时 0.01秒 22.00千字节/秒。
ftp> bye
221 Goodbye.
  之前也尝试过vsftpd等FTP,最后感觉还是Proftpd配置简单比较方便一些。
---------------------------------------
博文作者:迦壹
转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作!
---------------------------------------