目录:
  一、什么是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配置简单比较方便一些。
 
---------------------------------------
博文作者:迦壹
转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作!
---------------------------------------

ubuntu12.04+proftpd1.3.4a的系统用户+虚拟用户权限应用实践的更多相关文章

  1. 虚拟机系统ubuntu12.04(内网环境下的虚拟主机)开启远程连接访问

    一.工具准备: 1.内网虚拟机Ubuntu12.04系统主机一台,开放端口为:29999 2.远程连接软件:mobaxterm 二.开启步骤: 1.查看端口状态信息: netstat -antl | ...

  2. rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份

    一.服务环境 (1),WEBserver(192.168.10.130) : BACKserver(192.168.10.129) (2),BACKserver服务器部署,安装所需软件,并启动 (3) ...

  3. (转)linux 系统下虚拟用户的作用

    原文:http://blog.csdn.net/luoshao20120430/article/details/16900653            http://blog.csdn.net/u01 ...

  4. FTP(虚拟用户,并且每个虚拟用户可以具有独立的属性配置)

               VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 首先安装   主配置文件:/etc/vsftpd/vsftpd. ...

  5. 007.FTP虚拟用户访问

    一 虚拟用户优点 可对每个用户进行单独设定权限. 每个用户单独配置文件,单独指定主目录,而不能访问系统的其它资源. 注意:虚拟用户目录和本地用户访问目录不冲突. 二 配置虚拟用户步骤 添加虚拟用户口令 ...

  6. Ubuntu12.04 root用户登录设置

    ubuntu12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录.以普通身份登录Ubuntu后我们需要做一些修改. 1.普通用户登录后,修改系统配置文件需要切换到超级用户模式,在 ...

  7. Win7&Ubuntu12.04 双系统引导问题

    周末的时候手贱,重装系统,导致原来的ubuntu12.04和win7双系统的引导不见了,所以在此进行一下说明,如何修复. 1. win7和ubuntu12.04双系统引导修复 问题描述:    在重装 ...

  8. Ubuntu12.04安装64位系统出现编译错误error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or dir

    问题: Ubuntu12.04安装64位系统出现编译错误error while loading shared libraries: libz.so.1: cannot open shared obje ...

  9. 在电脑上装ubuntu12.04系统,内核文件是那个?

    在电脑上装ubuntu12.04系统,我们能看到的是根文件系统,那么内核文件(zlmage)是那个? ???

随机推荐

  1. nginx 缓存机制

    nginx 缓存机制   Nginx缓存的基本思路 利用请求的局部性原理,将请求过的内容在本地建立一个副本,下次访问时不再连接到后端服务器,直接响应本地内容 Nginx服务器启动后,会对本地磁盘上的缓 ...

  2. 如何解决EditText使用时,点击外侧系统键盘不消失的bug

    在使用viewPager和EditText一起使用的时候,突然出现了一个bug,在点击EditText(此EditText是在ViewPager的Fragment中) 我在切换ViewPager的时候 ...

  3. hdu 3518 (后缀数组)

    题目描述: 找出一个字符串中至少重复出现两次的字串的个数(重复出现时不能重叠). code: 后缀数组处理,对于得到height 进行查找...  参考http://blog.csdn.net/mis ...

  4. 用JDBC访问MySQL

    /* 在数据库中创建一个Employee的类 create table Employee( id int primary key, name varchar(20), age int); */ imp ...

  5. 计算机网络http,https,tcp,udp,get,post

    一.HTTP 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文, ...

  6. 二分图最大权最小权完美匹配模板KM

    在网上找了一份挺好的模板,先标一下哦~链接君:http://blog.csdn.net/abcjennifer/article/details/5844579 #include <iostrea ...

  7. 回车键转tab键

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head ...

  8. [双连通分量] POJ 3694 Network

    Network Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 9434   Accepted: 3511 Descripti ...

  9. DTO概念

    在开发过程中用到了DTO,简单了解了一下. DTO:数据传输对象,用来连接表现层和应用层之间的数据交互.数据传输对象是没有行为的POJO对象,它的目的只是为了对领域对象进行数据封装,实现层与层之间的数 ...

  10. WP8.1 Study17:网络之后台下载/上传及HttpClient

    一.后台下载/上传 1.简介 使用BackgroundTransferGroup可以十分方便操作上传及下载文件,BackgroundDownloader和BackgroundUploader类中的方法 ...