Pureftpd是一款快速,高质量,功能齐全的ftp服务器,最重要的是可以支持设置客户端默认编码,Pureftpd非常强大非常好用,那怎么用用shell用户或虚拟用户登录pureftpd呢,请看下文。
默认的存储用户信息的文件存放在“./etc/pureftpd.passwd”,我用 ports 方式安装的 pureftpd ,其存放位置在“/usr/local/etc/pureftpd.passwd”。
我们看下这个文本文件的内容。
默认的存储用户信息的文件存放在“./etc/pureftpd.passwd”,我用 ports 方式安装的 pureftpd ,其存放位置在“/usr/local/etc/pureftpd.passwd”。
我们看下这个文本文件的内容。
- # cat /usr/local/etc/pureftpd.passwd
- tim:$1$LX/3.F60$bYdYwsQOYIaWq.Ko.hfI3.:500:101::/home/ftp/tim/./:::::::::::::
密码是系统自己加密的。
(2)更改用户。
与 pure-pw adduser 不同的是,使用 pure-pw usermod 不是创建一个用户,而是更改已存在用户的某些属性。
例如,我们给 joe 用户添加一个限额,限制 joe 用户最多拥有1000个文件,最大10 Megabytes 空间。命令如下:
- # pure-pw usermod joe -n 1000 -N 10
重置某些属性的语法如下:
pure-pw usermod -n '' :禁用文件配额
pure-pw usermod -N '' :禁用文件大小配额
pure-pw usermod -q '' -Q '' :禁用 ratio
pure-pw usermod -t '' :禁用下载带宽限制
pure-pw usermod -T '' :禁用上传带宽限制
pure-pw usermod <-i,-I,-r or -R> '' :禁用 IP 过滤
pure-pw usermod -z '' :禁用时间段约束
pure-pw usermod -y '' :禁用并发数限制
(3)删除用户。
删除一个用户的命令语法是:
- # pure-pw userdel [-f ] [-m]
这时,用户的信息会被从指定的 passwd 文件中删除,但是用户的 home 目录会被保留,需要手工删除。
(4)修改口令。
更改一个用户口令的语法是:
- # pure-pw passwd [-f ] [-m]
(5)显示用户信息。
“ ./etc/pureftpd.passwd” 文件中记录的信息不方便用户的阅读,因此 pure-ftpd 提供了显示用户信息的命令。其语法是
- # pure-pw show [-f ]
例如:
1# pure-pw show joe
2
3Login : joe
4Password : $1$LX/3.F60$bYdYwsQOYIaWq.Ko.hfI3.
5UID : 500 (ftpuser)
6GID : 101 (ftpgroup)
7Directory : /home/ftpusers/joe/./
8Full name :
9Download bandwidth : 0 Kb (unlimited)
10Upload bandwidth : 0 Kb (unlimited)
11Max files : 1000 (enabled)
12Max size : 10 Mb (enabled)
13Ratio : 0:0 (unlimited:unlimited)
14Allowed local IPs :
15Denied local IPs :
16Allowed client IPs : 192.168.0.0/16
17Denied client IPs : 192.168.1.1,blah.verybadhost.com
18Time restrictions : 0900-1800 (enabled)
19Max sim sessions : 0 (unlimited)
主目录后面的“/./”表示用户目录是被锁定的。
3、提交更改。
重要:
通过上面提到的命令,你可以创建、修改和删除虚拟用户,甚至可以手工方式编辑“/usr/local/etc/pureftpd.passwd”文件。但是,只有提交这些更改,pure-ftpd 访问才能生效。类似数据库中的事务处理。
提交更改,意味着系统会根据(或者指定的其它文件)来创建一个 pure-ftpd 可读的二进制格式的文件。 该二进制文件中的帐号是分类存储并索引优化了的,可以加快访问速度。
创建 PureDB 文件的命令如下:
- # pure-pw mkdb
运行命令后,系统会在“/usr/local/etc/pureftpd.passwd”文件所在目录自动生成“/usr/local/etc/pureftpd.pdb”索引文件。
如果你想从你指定的 passwd 文本文件中生成PureDB 文件,用“-f”选项。
- # pure-pw mkdb /etc/accounts/ftpusers.pdb -f /etc/accounts/ftpusers.txt
创建了 PureDB 文件(也就是提交)后,不必重启 pure-ftpd 服务,对虚拟用户进行的创建、修改和删除等操作立即生效。
同时,也可以通过“-m”选项,让“/usr/local/etc/pureftpd.passwd”文本文件在修改(如添加用户、修改密码、删除用户等等)后自动提交。命令格式如下:
- # pure-pw passwd joe –m
这个命令将修改“/usr/local/etc/pureftpd.passwd”文本文件中的用户密码,并将更改提交给“/usr/local/etc/pureftpd.pdb”。
4、更改配置文件让虚拟用户生效
将配置文件中的 PureDB 文件路径改为你的PureDB 文件路径。
- # ee /usr/local/etc/pure-ftpd.conf
PureDB /usr/local/etc/pureftpd.pdb //Puredb路径
通过以上建立的用户,可上传,可下载,可删除,拥有全部权限。可以通过对目录的限制来达到对用户权限的限制,以后再讲解。
开启虚拟用户后,如果在配置文件中设置“UnixAuthentication no”,pureftpd就只支持虚拟用户登录,不支持系统真实用户登录。如果设置“UnixAuthentication yes”,pureftpd只支持虚拟用户登录,同时支持系统真实用户登录。
通过文章的描述和代码的分析,我们知道了用shell用户或虚拟用户登录pureftpd的方法,希望对你们有所帮助!
【编辑推荐】