CentOS中vsftp安装

第一步:安装vsftp pam db4

首先判断你服务器上是否安装了vsftpd (rpm -aq vsftpd),如果已安装则先卸载(rpm -e vsftpd-2.0.5-16.el5_5.1)

yum -y install vsftpd

第二步:配置vsftpd服务的宿主

#useradd vsftpd -s /sbin/nologin
这个vsftpd只是用来替换root的,并不需要登录

第三步:建立ftp虚拟宿主帐户

#useradd ftpuser -s /sbin/nologin
这ftpuser只个虚拟帐户的宿主,本身是不用登录的

第四步:配置vsftpd.conf

更改配置前最好备份一下然后再改
vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
#ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

guest_enable=YES
guest_username=vsftpd
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf

max_clients=1
max_per_ip=1
local_max_rate=10000

第五步:建立日志文件

#touch /var/log/vsftpd.log    //日志文件
#chown vsftpd.vsftpd /var/log/vsftpd.log   //属于vsftpd这个宿主

第六步:建立虚拟用户文件

#mkdir /etc/vsftpd/vconf/
#touch /etc/vsftpd/vconf/vir_user

第七步:建立虚拟用户

#vi /etc/vsftpd/vconf/vir_user
virtualuser           //用户名
12345678           //密码

注意:第一行用户名,第二行是上一行用户名的密码,其他人的以此类推

第八步:生成数据库

#db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db
#chmod 600 /etc/vsftpd/vconf/vir_user.db
#chmod 600 /etc/vsftpd/vconf/vir_user

第九步:修改/etc/pam.d/vsftpd内容

#vi /etc/pam.d/vsftpd
# 注释掉其他部分
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vconf/vir_user
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vconf/vir_user

第十步:创建用户的配置文件

注意:用户配置文件的名字要和创建的“虚拟用户”名字对应
#touch /etc/vsftpd/vconf/virtualuser
#vi /etc/vsftpd/vconf/virtualuser
输入:
local_root=/var/ftp/virtualuser
//虚拟用户的个人目录路径
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=1048576     //本地用户的最大传输速度,单位是Byts/s,我设定的是10M

第十一步:建立虚拟用户目录

如果不建立虚拟用户的个人目录,那么所有的虚拟用户登录后所在的目录都是同一个目录下
# mkdir /var/ftp/virtualuser
# chown ftpuser.ftpuser ./virtualuser
# chmod 700 /var/ftp/virtualuser

配置就此完成,如果想增加新的用户,只要按照上面的第七八步、第十步进行就可以了。(重启service
vsftpd restart)

第十二步:ftp防火墙设置

#modprobe nf_conntrack_ftp

iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables   -A INPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT

 

PS:登陆报错500 OOPS: could not open chroot() list
file:/etc/vsftpd/chroot_list
解决

第一是:

限制用户只能访问配置的目录,不能访问其他路径

修改vi /etc/vsftpd/vsftpd.conf

chroot_list_enable=YES //限制访问自身目录将YES改成NO

# (default follows)

第二是:

为了限制在当前目录,但是因为这个配置要去读取vsftpd/chroot_list这个空文件 我没有创建这个文件 就报错了,这个是受限的用户列表.

建立这个用户列表,不需要写内容就可以了

用命令“vi /etc/vsftpd/chroot_list”,新建一个文件,然后随便输入一些文本后,保存退出。

One thought on “CentOS中vsftp安装

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注