今天是: 收藏本站 设为主页
网站首页 >  技术专栏  >  linux  > 

ubuntu Pure-ftpd服务安装设置

日期:2011-03-14  点击率:1475


快速,高质量,功能齐全的ftp服务器,最重要的是可以支持设置客户端默认编码,这样windows和linux之间用这个ftp就解决了乱码的问题了。这个功能vsftpd和proftpd都不具备,proftpd倒可以打补丁来支持,但传说是不安全,最后那个补丁没有更新了,貌似。

安装 sudo apt-get install pure-ftpd


配置

ubuntu 的 pure-ftpd 的配置文件很特别,都是放到 “/etc/pure-ftpd/conf” 目录下,而且是以选项为文件名,选项值为文件内容。譬如你需要启用--trustedgid选项,你只需要在该目录下建立一个名为:TrustedGID的文件,并且把信任的GID写入到文件中即可。
下面介绍的配置请把选项名作为文件名在 “/etc/pure-ftpd/conf” 下新建一个文本文件,然后内容就写选项的值。

匿名登录功能

默认情况下不开启匿名登录功能的,把 /etc/pure-ftpd/conf/NoAnonymous 的内容改为 no 在“系统->系统管理->用户名和组”新建一个叫“ftp”的用户名(一定要是这个名字),“高级”里面的主组的话可以新建一个叫“ftpgroup”的组来方便管理,如果不想“ftp”具备登录本地系统的功能,可以在账户属性的“高级”里的“高级设置”的“Shell”里选“/bin/false”,主目录就选一个你想要匿名用户登录是所在的目录就可以了,我是设置了“/var/ftp/public”。
到这里设置完毕后,重启 ftp 服务(最好重启系统)

sudo /etc/init.d/pure-ftpd restart

匿名用户应该就能登录了

虚拟用户设置

在“系统->系统管理->用户名和组”新建一个叫“ftpuser”的用户名(ftpuser可以是你自己喜欢的一个名字),主组的话可以推荐选“ftpgroup”来方便管理,如果不想“ftpuser”具备登录本地系统的功能,可以在账户属性的“高级”里的“高级设置”的“Shell”里选“/bin/false”,主目录就选一个你想要该用户登录是所在的目录就可以了(其实是我没有测试如果虚拟用户和实际用户的主目录设置了不同的目录的结果),我是设置了“/var/www/site”。
然后

sudo pure-pw useradd ftpuser -u ftpuser -d /var/www/site

会提示你设置一个密码的。
这个命令就是用本地系统中的 “ftpuser” 用户登录,虚拟用户名为“ftpuser”,“ftpuser” 的主目录在 “/var/ftp”
虚拟用户和本地用户的名字可以不一样的,自己改,其实ftpuser不建立也行,可以直接用“ftp”这个用户的。用户登录 ftp 后的主目录是以这条命令所指定的主目录为准的。
添加完之后,让 pure-ftpd 建立虚拟用户数据

sudo pure-pw mkdb

生成的文件在 “/etc/pure-ftpd/pureftpd.pdb”

在/etc/pure-ftpd/auth下,创建一个软链接ln -s /etc/pure-ftpd/conf/PureDB 60puredb
不然会出现530错误。




下一篇:OpenSSH 高级教程   上一篇:Linux下使用SFTP命令