pureftpd基础:安装、配置、实现匿名登录
pureftpd基础:安装、配置、实现匿名登录
摘要:详细讲解了Unix系统下如何安装配置pureftpd。特别是解决了很多人提到的匿名用户无法登录的问题。
目录:
一、安装
二、启动
三、匿名登录
------------------------------------------------------------------分 割 线-----------------------------------------------------------------
一、安装
我是以FreeBSD为平台的,其它Unix/Linux平台请参考相关shell命令。在shell提示符下输入:
1 # cd /usr/ports/ftp/pure-ftpd
2
3 # make install clean
4
5 # rehash
FreeBSD会以ports方式安装pureftpd。其它平台的安装方法参看相关文章。
二、启动
将pureftpd配置文件的样例文件复制为配置文件:
1# cp /usr/local/etc/pure-ftpd.conf.sample /usr/local/etc/pure-ftpd.conf
用配置文件启动 PureFTPd :
1# /usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf
注意:如果是其它平台,或者采用编译方式安装,路径可能与上面的不同。
三、匿名登录
经过上面的步骤,pureftpd已经启动。用 flashfxp 连接,只能系统用户连接(用“/etc/passwd”文本文件中的用户认证)。 这是因为默认的配置文件中是允许匿名用户和系统用户(根帐号 root 除外)都可以访问的。但这时匿名用户还无法访问,出现“421 无法建立安全匿名 FTP”错误。还需要几个步骤才能实现匿名登录。
pureftpd 的官方文件(http://download.pureftpd.org/pub/pure-ftpd/doc/README)说:
------------------------ SETTING UP AN ANONYMOUS FTP ------------------------
If a 'ftp' user exists and its home directory is reachable, Pure-FTPd will
accept anonymous login, as 'ftp' or 'anonymous'. Files have to be located in
the home FTP directory. There's no need for 'bin', 'lib', 'etc' and 'dev'
directories, nor any external program. Don't chown the public files to
'ftp', just writable directories ('incoming') .
就是说需要存在一个名称必须为“ftp”的系统用户,并且它的主目录可用。就可以实现匿名用户登录了。
心得:很多人在问为什么不能匿名登录,原因就在于没有“ftp”系统帐号,以及没有创建主目录()这里。
1、为匿名用户添加系统帐号和组。
增加一个“ftp”组:
1# pw groupadd ftp
如果组存在,直接添加用户即可。
添加“ftp”系统用户:
1# pw useradd ftp -g 14 -d /var/ftp -s /sbin/nologin
其中的 “/var/ftp”就是匿名用户的主目录,你可以指定为其它目录,比如“/home/ftp”等。
14是“ftp”组的组id 。其它的,比如 www 系统用户的 uid/gid 是:“80/80”,等等(见 /etc/passwd )。
如果发现帐号是存在的,那么请检查帐号的主目录是否存在,如果不存在,也会提示上述错误。
2、建立匿名用户的主目录。
1# mkdir /var/ftp
2# mkdir /var/ftp/readme
其中“mkdir /var/ftp/readme”是给个参照,因为“/var/ftp”是空的。
3、测试。
马上用 flashfxp 匿名登录,见到 readme 文件夹了,成功,激动!但是上传、下载、建目录什么的都不允许,要实现这些功能需要进一步修改配置文件,这个在我用shell用户或虚拟用户登录pureftpd 文章中有详细讲解。
评论暂时关闭