用shell用户或虚拟用户登录pureftpd


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”。

我们看下这个文本文件的内容。

  1. # cat /usr/local/etc/pureftpd.passwd  
  2.  
  3. 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 空间。命令如下:

  1. # 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)删除用户。

删除一个用户的命令语法是:

  1. # pure-pw userdel [-f ] [-m]  

这时,用户的信息会被从指定的 passwd 文件中删除,但是用户的 home 目录会被保留,需要手工删除。

(4)修改口令。

更改一个用户口令的语法是:

  1. # pure-pw passwd [-f ] [-m]  

(5)显示用户信息。

“ ./etc/pureftpd.passwd” 文件中记录的信息不方便用户的阅读,因此 pure-ftpd 提供了显示用户信息的命令。其语法是

  1. # 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 文件的命令如下:

  1. # pure-pw mkdb  

运行命令后,系统会在“/usr/local/etc/pureftpd.passwd”文件所在目录自动生成“/usr/local/etc/pureftpd.pdb”索引文件。

如果你想从你指定的 passwd 文本文件中生成PureDB 文件,用“-f”选项。

  1. # pure-pw mkdb /etc/accounts/ftpusers.pdb -f /etc/accounts/ftpusers.txt  

创建了 PureDB 文件(也就是提交)后,不必重启 pure-ftpd 服务,对虚拟用户进行的创建、修改和删除等操作立即生效。

同时,也可以通过“-m”选项,让“/usr/local/etc/pureftpd.passwd”文本文件在修改(如添加用户、修改密码、删除用户等等)后自动提交。命令格式如下:

  1. # pure-pw passwd joe –m  

这个命令将修改“/usr/local/etc/pureftpd.passwd”文本文件中的用户密码,并将更改提交给“/usr/local/etc/pureftpd.pdb”。

4、更改配置文件让虚拟用户生效

将配置文件中的 PureDB 文件路径改为你的PureDB 文件路径。

  1. # ee /usr/local/etc/pure-ftpd.conf  

PureDB /usr/local/etc/pureftpd.pdb //Puredb路径

通过以上建立的用户,可上传,可下载,可删除,拥有全部权限。可以通过对目录的限制来达到对用户权限的限制,以后再讲解。

开启虚拟用户后,如果在配置文件中设置“UnixAuthentication no”,pureftpd就只支持虚拟用户登录,不支持系统真实用户登录。如果设置“UnixAuthentication yes”,pureftpd只支持虚拟用户登录,同时支持系统真实用户登录。

通过文章的描述和代码的分析,我们知道了用shell用户或虚拟用户登录pureftpd的方法,希望对你们有所帮助!

相关内容