vsftp 安装日志

很早的一个日志了,从自家的QQ上,查看总不方便,搬家的。

安装完 centos后

安装vsftpd

yum install vsftpd

安装伯克利数据库工具

yum install db4 db4-utils

进入root目录下,建立文件login.txt

内容类似:奇数行为用户名,偶数行为密码

tralin_user1

123456

tralin_user2

8888

然后产生认证数据库

db_load -T -t hash -f /root/login.txt /etc/vsftpd/login.db

建立pam认证,在/etc/pam.d文件夹中,创建tralinftp文件,在这里输入

auth required pam_userdb.so db=/etc/vsftpd/login
account required pam_userdb.so db=/etc/vsftpd/login

最后的login为刚才的数据库的名字,不带db后缀。

建立ftp目录

如下 /home/ftp

然后改组和用户的所有权属性,

建立虚拟用户及其用户组

useradd virtual

更改目录属性

chown -R virtual:virtual /home/ftp

更改后,通过ls -ld /home/ftp,可以查看验证权限。

修改主配置文件,用vi打开/etc/vsftpd/vsftpd.conf文件,加入

pam_service_name=tralinftp    (去找自定义的认证数据库)
guest_enable=YES
guest_username=virtual     (此处的用户名应和刚才改权限的用户名一致 )

启动服务测试 service vsftpd start

用匿名用户登录一下,测试成功否?
 
如果SElinux开启的话,这里的匿名用户测试,将失败,
 
查看SElinux,是否开启
getenforce
如果为Disable则为关闭,如果为Enforcing 则为开启
 
关闭SElinux的方法为
修改 /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled
重启生效
 
如不重启可以用 setenforce 0 临时测试
 
如果iptables开启,也将导致失败,可以将iptables服务关闭
 
service iptables stop
 
做虚拟用户的权限

改vsftpd.conf文件,

user_config_dir=/etc/vsftpd/vsftpd_user_conf  
 
这说明这个配置文件是在一个文件夹中,这个文件夹的名字是vsftpd_user_conf
在这个vsftpd_user_conf的文件夹下,建立与账号同名的文件,如tralin_staff1,tralin_staff2
再在每个文件中(tralin_staff1,tralin_staff2),分别建立权限定义。
如:
 
local_root=/home/ftp
anon_world_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
anon_other_write_enable=yes
(这个配置为可读写建文件夹的,这里的anon的匿名参数必须带,估计它的配置文件中是把这个虚拟用户当成了匿名的一种了)
 
local_root=/home/ftp
anon_world_readable_only=no
(这个配置为只读的)

 

你可能感兴趣的:(vsftp)