VSFTPD配置(匿名――本地用户――虚拟用户)
2024-09-09 20:57:54
供稿:网友
 
						1,下载VSFTPD.TAR.GZ 
程序下载地址:ftp://vsftpd.beasts.org/users/cevans/ 
2,检查和建立相应账户和目录 
1,nobody用户 
[root@main vsftpd-2.1.0]# cat /etc/passwd |grep nobody 
nobody:x:99:99:Nobody:/:/sbin/nologin 
如不存在请建立相关账户。 
2,/usr/share/empty 目录, 如不存在请创建 
3,如允许匿名访问,需创建Ftp用户,家目录为/var/ftp(一般ftp用户存在而家目录不存在) 
[root@main vsftpd-2.1.0]# mkdir /var/ftp/ 
[root@main vsftpd-2.1.0]# chown root.root /var/ftp 
[root@main vsftpd-2.1.0]# chmod 755 /var/ftp 
3,解压、编译、安装程序(其实vsftpd用rpm和用源码安装差不多,编译安装反而不方便,推荐各位RPM安装,呵呵) 
[root@main ~]# tar xzfv vsftpd-2.1.0.tar.gz 
[root@main ~]# cd vsftpd-2.1.0 
[root@main vsftpd-2.1.0]# make && make install 
4,复制相关文件 
如果是用RPM安装,可能会和源码安装的文件路径略有不同,如/etc/vsftpd.conf变成了/etc/vsftpd/vsftpd.conf,这类变动请自行 find相关文件。 
主配置文件 
[root@main vsftpd-2.1.0]# cp vsftpd.conf /etc/vsftpd.conf 
PAM身份验证用文件 
[root@main vsftpd-2.1.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp 
5,配置vsftpd.conf 
启用/禁止匿名用户访问。 
anonymous_enable=YES/NO 
允许本地用户登录并允许其上传文件。 
local_enable=YES 
write_enable=YES 
将本地用户锁定在主目录中,不允许切换到上一级目录中 
chroot_local_user=YES 
匿名和本地用户限速(单位byte) 
anon_max_rate=数字 
local_max_rate=数字 
禁止某些用户通过ftp登录服务器。如果设置了local_enable=YES,那么所有的用户包括root也能通过ftp登录服务器,出于安全考虑,需要对某些用户进行限制。在vsftpd.conf中有三个选项控制: 
userlist_deny=YES/NO 
userlist_enalbe=YES 
userlist_file=/etc/vsftpd.user_list 
如果userlist_deny=YES,/etc/vsftpd.user_list中列出的用户名就不允许登录ftp服务器;如果userlist_deny=NO,/etc/vsftpd.user_list中列出的用户名允许登录ftp服务器。我们只要在/etc目录下创建vsftpd.user_list文件,文件内容为允许登录或禁止登录的用户名,每个用户一行。 
禁止用户通过FTP修改文件或文件夹的权限。 
chmod_enable=NO( 
设置本地用户上传的文件或文件夹的umask值(默认为077) 
local_umask=022 
最多同时允许100个客户连接 
max_clients=100 
每个ip地址最多允许开3个线程 
max_per_ip=3 
只监听来访问192.168.0.2(适用本机多网卡、多IP的情况)的FTP服务请求 
listen_address=192.168.0.2 
6,安装完成后使用vsftpd命令即可启动vsftpd服务。保证防火墙开放相关端口后尝试下匿名登陆吧,注意所有匿名用户都登录到相同的目录中/var/ftp。 
我们可以通过pgrep vsftpd 来查看vsftpd是否运行起来,可以用pkill vsftpd 来杀死vsftpd进程,把vsFTPd关闭。所以上文说更推荐用rpm安装,那样就可以用service vsftpd start|stop|restart来控制了。 
[root@main ~]# pgrep vsftpd 
2745 
[root@main ~]# pkill vsftpd 
7,设置pub目录,允许匿名用户上传、下载文件。 
更改配置文件,确保有这几项: 
anonymous_enable=YES 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES 
anon_umask=022 
新建文件夹,并更改权限。 
[root@main ~]# mkdir /var/ftp/pub 
[root@main ~]# chmod 777 /var/ftp/pub 
尝试一下匿名上传下载吧,应该没问题。 
8,设置使用本地用户登陆FTP服务器,并进行权限设置。