配置vsftpd服务
FTP服务器默认匿名能够访问。
1.搭建yum仓库
[root@accp~]# vim /etc/yum.repos.d/dvd.repo
[server]
name=redhat6
baseurl=file:///mnt/rheldvd 为本地光盘路径
enabled=1
gpgcheck=0html
[root@accp~]# yum install -y vsftpd* yum安装vsftpd服务
[root@accp~]# service vsftpd restart 重启完服务后,默承认以匿名用户访问shell
[root@accp~]# vim /etc/vsftpd/vsftpd.conf
chown_uploads=YES 设置匿名上传内容的属主为"tom"
chown_username=tom
********************************************************
2.创建用户验证访问
创建一个用户并设置密码
[root@accp~]# useradd harry
[root@accp~]# passwd harry
[root@accp~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enabl=NO/YES 控制匿名用户访问 注释掉匿名访问不能关闭匿名,注释匿名是设置为默认设置,默认设置是能够匿名访问
ftp_username=ftp 此参数用来设置匿名用户的用户名
anon_root=/var/ftp 设定匿名访问的根目录
anon_world_readable_only=NO 控制是否容许用户下载可阅读的文件,YES为能够下载,NO为不能够下载但可浏览。
anon_upload_enable=NO 容许匿名ftp用户访问并上传文件
anon_mkdir_write_enable=NO 是否容许匿名用户有建立目录的权利
anon_other_write_enable=NO 匿名用户是有除上传以外的其它权限
local_enable=YES 本地用户访问
write_enable=YES 本地用户写入
local_umask=022 写入的权限为755
chroot_local_user=YES 全部用户禁锢在家目录中,提升安全性,本地用户在访问时只能访问本身家目录。
chroot_list_enable=YES 指定用户访问限止在本身的home目录下
chroot_list_file=/etc/vsftpd/chroot_list 在/etc/vsftpd/chroot_list文件中列出的是被限制的用户的列表。
dirmessage_enable=YES 访问某用户的FTP时显示的欢迎信息,在用户的家目录中编辑“vim .message”,方可显示效果
data_connection_timeout=120 数据传输时间为120秒
pam_service_name=vsftpd 可插拔模块 "vim /etc/pam.d/vsftpd" 控制 "vim /etc/vsftpd/ftpusers"中的用户denny与allow
默认为denny
userlist_enable=YES YES与NO 决定"vim /etc/vsftpd/user_list" 中的用户可否被访问
tcp_wrappers=YES 是否启用tcp_wrappers主机访问控制防护设置,"vim /etc/hosts.deny" "vim /etc/hosts.allow"
ftpd_banner=welcome to ftp service 定制FTP欢迎信息
banner_file=/etc/vsftpd/banner 使用欢迎文件
dirmessage_enable=YES 当用户切换到一个目录时,是否显示目录切换信息
xferlog_enable=YES 是否记录ftp传输过程
xferlog_file=/var/log/vsftpd.logftp 传输日志的路径和名字默认是/var/log/vsftpd.log
xferlog_std_format=YES 是否使用标准的ftp xferlog模式
connet_from_port_20=YES 是否确信商品传输来自20
chown_uploads=YES 设定是否改变匿名上传的文件的拥有者
chown_username=username 设定匿名上传的文件的的拥有者
idle_session_timeout=600 设置默认的断开不活跃session的时间
data_connection_timeout=120 设置数据传输超时时间
ascil_upload_enable=YES
ascil_download_enable=YES 是否使用ascil码方式上传和下载文件
userlist_enable=YES 在/etc/vsftpd/user_list 文件中列表出用户不能访问FTP服务器
tcp_wrappers=YES 是否支持tcp_wrappers
数据库
[root@accp~]# service vsftpd restart 每当修改完配置,就重启一次vim
********************************************************
3.创建虚拟用户访问
以上vsftpd 已经安装完毕,在此不作详细说明
安装yum install -y db4-utils-4.7.25-16.el6.x86_64 数据库文件,须要将虚拟用户转换为数据库文件,(这里为RHEL6.0的db4版本文件)
或 yum install -y db4* 所有安装
[root@accp~]# yum install -y db4*
创建帐户文件(vim /etc/vsftpd/virtual.file)
[root@accp~]# vim /etc/vsftpd/virtual.file
tom 奇数为用户名,偶数为密码
tigerzhang
john
tigerzhang
将virtual.file 文本内容加载到db数据库
[root@accp~]# cd /etc/vsftpd
[root@accp vsftpd]# db_load -T -t hash -f virtual.file virtual.db
注:在db_load命令中,"-T"选项容许应用程序可以将文本文件转译载入进数据库。因为咱们以后是将虚拟用户的信息以文件方式存储在centos
文件里的,为了让vsftpd这个应用程序可以经过文原本载入用户数据,必需要使用-T。
"-t " 用来指定转译载入的数据库类型。能够指定的数据类型有Btree、Hash、Queue、Recon数据库,这里选Hash。
"-f"用于指定用户名/密码列表文件,如:virtual.file。参考:"/usr/share/doc/db4-utils-4.3.29/utility/db_load.html"
[root@accp~]# chmod 600 /etc/vsftpd/virtual.* 下降文件权限加强安全性安全
采用pam验证模块,若是没有能够进行"yum install -y pam*"安装,
[root@accp~]# vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/virtual
account required pam_userdb.so db=/etc/vsftpd/virtual
若是是32位系统则须要把lib64换成lib,不然会报530错误没法登陆,也可加"/lib64/security/pam_userdb.so"。
创建系统账户
[root@accp~]# useradd -d /var/ftp -s /sbin/nologin luce
vsftpd虚拟用户须要有一个对应的系统用户账号,该账号无需登陆shell,该用户账号的宿主目录做为全部虚拟用户登陆后共同的FTP棣目录,即服务器
luce做为virtual.file文件内的用户映射。
[root@accp~]# chmod 755 /var/ftp 给虚拟用户目录一个权限
修改配置文件
[root@accp~]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES 禁锢在家目录中,加强安全性
guest_enable=YES 启用用户映射功能
virtual_use_local_privs=YES
pam_service_name=vsftpd.vu 修改使用的PAM文件位置(与指定的PAM验证文件名一致)
user_config_dir=/etc/vsftpd/virt_dir给虚拟用户我的vsftp的配置文件一个存放路径,/etc/vsftpd/virt_dir里面的文件都是虚拟用户的专用session
配置文件,注意:配置文件名必须和虚拟用户名相同
[root@accp~]# service vsftpd restart 重启服务
[root@accp~]# mkdir /etc/vsftpd/virt_dir
[root@accp~]# cd /etc/vsftpd/virt_dir
[root@accp~]# vim luce 此文件里的配置能够根据须要配置项目
guest_enable=YES (在centos下yes必须为小写字母)
guest_username=luce
local_root=/var/ftp/
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=100000app
1.创建虚拟用户访问
以上vsftpd 已经安装完毕,在此不作详细说明
安装yum install -y db4-utils-4.7.25-16.el6.x86_64 数据库文件,须要将虚拟用户转换为数据库文件,(这里为RHEL6.0的db4版本文件)
或 yum install -y db4* 所有安装
[root@accp~]# yum install -y db4*
创建帐户文件(vim /etc/vsftpd/virtual.file)
[root@accp~]# vim /etc/vsftpd/virtual.file
tom 奇数为用户名,偶数为密码
tigerzhang
john
tigerzhang
将virtual.file 文本内容加载到db数据库
[root@accp~]# cd /etc/vsftpd
[root@accp vsftpd]# db_load -T -t hash -f virtual.file virtual.db
注:在db_load命令中,"-T"选项容许应用程序可以将文本文件转译载入进数据库。因为咱们以后是将虚拟用户的信息以文件方式存储在tcp
文件里的,为了让vsftpd这个应用程序可以经过文原本载入用户数据,必需要使用-T。
"-t " 用来指定转译载入的数据库类型。能够指定的数据类型有Btree、Hash、Queue、Recon数据库,这里选Hash。
"-f"用于指定用户名/密码列表文件,如:virtual.file。参考:"/usr/share/doc/db4-utils-4.3.29/utility/db_load.html"
[root@accp~]# chmod 600 /etc/vsftpd/virtual.* 下降文件权限加强安全性
采用pam验证模块,若是没有能够进行"yum install -y pam*"安装,
[root@accp~]# vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/virtual
account required pam_userdb.so db=/etc/vsftpd/virtual
若是是32位系统则须要把lib64换成lib,不然会报530错误没法登陆,也可加"/lib64/security/pam_userdb.so"。
创建系统账户
[root@accp~]# useradd -d /var/ftp -s /sbin/nologin luce
vsftpd虚拟用户须要有一个对应的系统用户账号,该账号无需登陆shell,该用户账号的宿主目录做为全部虚拟用户登陆后共同的FTP棣目录,即
luce做为virtual.file文件内的用户映射。
[root@accp~]# chmod 755 /var/ftp 给虚拟用户目录一个权限
修改配置文件
[root@accp~]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES 禁锢在家目录中,加强安全性
guest_enable=YES 启用用户映射功能
virtual_use_local_privs=YES
pam_service_name=vsftpd.vu 修改使用的PAM文件位置(与指定的PAM验证文件名一致)
user_config_dir=/etc/vsftpd/virt_dir给虚拟用户我的vsftp的配置文件一个存放路径,/etc/vsftpd/virt_dir里面的文件都是虚拟用户的专用
配置文件,注意:配置文件名必须和虚拟用户名相同
[root@accp~]# service vsftpd restart 重启服务
[root@accp~]# mkdir /etc/vsftpd/virt_dir
[root@accp~]# cd /etc/vsftpd/virt_dir
[root@accp~]# vim luce 此文件里的配置能够根据须要配置项目
guest_enable=YES (在centos下yes必须为小写字母)
guest_username=luce
local_root=/var/ftp/
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=100000
********************************************************
注意:
1.搭建完服务器后,要注意查看iptables 防火墙 和 setsebool
iptables -F
iptables -X
getsebool -a 查看全部的bool信息
setsebool -P 修改bool信息 将某一个条目改成 "on" 开启。
setsebool -P allow_ftpd_anon_write on
chcon -t public_content_rw_t /var/ftp/mydir 设置上下文
chcon -t public_content_rw_t/var/ftp/mydir 更改目录的条目
特此声明,因为在下是一个刚出道的学生,以上实验是本身在VMware里搭建的服务,而且运行正常。若有问题望君能及时分享提出宝贵修改意见,以供
可以学习参考,谢谢!!!