vsftpd(代表"very secure FTP daemon")是fedora默认安装的FTP服务器,下面以此为例进行介绍。
详细的说明参考:http://www.linuxsir.org/main/?q=node/152#8.1
这里只总结一下一些简单的配置,以免遗忘。
一、vsftp的配置
[root@localhost ~]#
gedit /etc/vsftpd/vsftpd.conf
具体的配置下面会涉及。
二、vsftpd启动
方式1:#
service vsftpd start
方式2:# /etc/init.d/vsftpd restart
(或# /etc/init.d/vsftpd start)
方式3:# /usr/sbin/vsftpd &
# /usr/local/sbin/vsftpd &
其中方式3中的第一步可以执行,但是第二行执行不了。都是在网上看到的。所以用前两种方式足矣。
如果允许用户匿名登录,需要创建用户ftp和目录/var/ftp
# mkdir /var/ftp
# useradd -d /var/ftp/ftp
三、检查vsftpd是否启动
方式1:
[root@localhost ~]# pgrep vsftpd
4759
方式2:
[root@localhost ~]# ps -ef
root 4759 1 0 20:33 ? 00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
四、vsftpd服务关闭
方式1:
[root@localhost ~]# kill 4759
方式2:
[root@localhost ~]# pkill vsftpd
方式3:
[root@localhost ~]# /etc/init.d/vsftpd stop
五、注意事项
(1)防火墙
(2)SELinux
输入如下命令:
[root@localhost ~]# vi /etc/selinux/config
下面为文件的具体内容:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing #该行原始的配置
SELINUX=disabled #此处为手工输入
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
六、匿名用户上传下载的实现
关于匿名上传,首先我们要修改一下vsftpd.conf ,此文件位于 /etc/目录下,可能是/etc/vsftpd.conf,也可能是/etc/vsftpd/vsftpd.conf文件。以您的系统环境为准;
首先:我们要改一下vsftpd.conf,确保有以下几行;
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022
其次:在ftp用户家目录的下建一个文件夹,并修改其权限为完全开放;
ftp用户的家目录在哪?我们前面已经说了,要通过/etc/passwd来查看;也可以通过
finger ftp来查看;
[root@localhost beinan]# finger ftp
Login: ftp Name: FTP User
Directory: /var/ftp Shell: /sbin/nologin
这说明ftp用户的家目录在/var/ftp ,我们要在这个目录下建一个目录,然后把他的权限设置为任何用户可读可写可执行就行了;一般的情况下,在发行版中,有一个/var/ftp/pub的目录,如果没有,您也可以自己建一个;把配置文件改好后,只要把/var/ftp下的任何一个目录的权限打开,都可以用来匿名上传和下载;
比如您想让匿名用户上传和下载都在/var/ftp/pub,就可以把/var/ftp/pub的权限打开,如果没有这个目录,您要自己建一个;
[root@localhost ~]# mkdir /var/ftp/pub
[root@localhost ~]# chmod 777 /var/ftp/pub