本文共 3431 字,大约阅读时间需要 11 分钟。
软件安装
服务端
#yum -y install vsftpd //安装软件 客户端#yum -y install lftp //安装客户端软件 注意:关闭服务端和客户端防火墙和selinux #systemctl stop firewalld#setenforce 0
服务端
#systemctl start vsftpd 关闭防火墙 #systemctl stop firewalld #setenforce 0
3.使用
客户端
#lftp 10.18.44.209 //服务端ip
简单的使用,ls、cd、都可以使用,如下
help //查看帮助 help lsls //查看文件 dir //同上cd publcd /root/Desktop //切换本地目录get 文件 -o /root/Desktop //下载文件,-o指定下载路径get 文件一 文件二 文件三 //下载多个文件用空格隔开,mirror 目录 指定的下载目录 //下载目录此时已经学会了vsftpd的基本使用
vsftpd的配置文件在/etc/vsftpd/vsftpd.conf
1. 开启上传功能#vim /etc/vsftpd/vsftpd.confanon_upload_enable=YESanon_mkdir_write_enable=YES
此时已经开启了上传功能
使用以下命令上传put 文件 //上传文件mirror -R 目录 //上传目录mkdir 目录rmdir 目录mget -c aaa.txt
2.使用用户登陆
之前的简单应用是使用匿名账户登陆的(匿名账户的家目录)
/var/ftp //注意:ftp跟目录权限不可以超过755
#lftp 10.18.44.209 -u tigerfive使用用户登陆时,共享的目录是默认用户的家目录
vsftpd的配置文件在/etc/vsftpd/vsftpd.con
1. 常用全局配置
listen_address=10.18.44.1 //设置监听的ipdizhilisten_port=21 //设置监听FTP的服务端口号write_enable-YES //是否允许下载文件userlist_enable=YES //是否启用user_list列表文件(文件在/etc/vsftpd目录下)
userlist_deny=YES //是否禁用user_list中的用户max_client=0 //限制并发客户端连接数max_per_ip=0 //限制同一IP地址的并发连接数
2. 常用匿名FTP配置项
anonymous_enable=YES //启用匿名访问anon_umask=022 //匿名用户上传文件的权限掩码anon_root=/var/ftp //匿名用户根目录anon_upload_enable=YES //允许上传文件anon_mkdir_write_enable=YES //允许创建目录anon_other_write_enable=YES //开放其他解入权anon_max_rate=0 //限制最大传输速度,字节
3. 常用的本地用户FTP配置项
local_enable=YES //是否启用本地系统用户local_umask=022 //本地用户所上传文件的权限掩码local_root=/var/ftp //本地账户ftp根目录local_max_rate=0 //限制最大传输速率(字节/秒)chroot_local_user=YES //限制所有本地用户在家目录里!!!注意本地用户的根目录,不能有写权限,否则不能登陆。详细信息参看(四)章节的ftp设置
用户限制和黑白名单是针对本地用户更完善的设置
在第三块中如果不使用chroot_local_user=YES来限制本地用户只能在自己家目录,那么他就可以在好多目录里随便移动,这样及其不安全。但是这个设置又是针对所有人的,会带来一些不便。
所以通过以下几个配置文件来对对用户作更加详细的权限限制/etc/vsftpd/ftpusers/etc/vsftpd/user_list/etc/vsftpd/chroot_list1. /etc/vsftpd/ftpusers该文件不受任何配置文件限制,它总是有效,这是一个黑名单,这是为了防止权限过大的用户登陆FTP,以免通过权限过大的用户登陆FTP上传或者下载敏感位置的信息,造成不必要的损失。2. /etc/vsftpd/user_listuser_list则是和vsftpd.conf中的userlist_enable和userlist_deny两个配置项紧密相关的,关于这两个文件配置的关系,据以下例子` --- 为了说明这个问题,我们来建立两个测试用户:tom: 在user_list中
jim:不在user_list中然后我们分别给两个配置项取不同的值,分4种Case进行测试:
Case 1: userlist_enable=YES, userlist_deny=YES
tom: 拒绝登入
jim: 允许登录Case 2: userlist_enable=YES, userlist_deny=NO
tom: 允许登录
jim:拒绝登录(如user_list文件开头的注释所述,甚至不会提示输入密码,即无登入提示框,直接拒绝连接)Case 3: userlist_enable=NO,userlist_deny=NO
tom: 允许登录
jim: 允许登录Case 4: userlist_enable=NO,userlist_deny=YES
tom: 允许登录
jim: 允许登录 `
3. /etc/chroot_list
另一种指定用户限制,非限制用户依旧可以畅通无阻黑名单:chroot_local_user=NOchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list 凡是名单中的人不允许离开HOME 目录建立黑名单文件.# cat chroot_listtigerfiveuser1白名单:
chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list 凡是名单中的人允许离开HOME 目录建立白名单文件.#cat chroot_listtigerfiveuser1!!!注意:如过在黑名单中,那么家目录就必须或者指定的chroot_root就不能对黑名单的用户有w(读)权限,就是(三)最后的注意事项。4.给单个用户设置ftp权限如果上边的还能解决,那就用下面的方式,给单个用户设置ftp权限单独对某一个账户设置ftp权限#vim /etc/vsftpd/vsftpd.confuser_config_dir=/etc/vsftpd/peruser //单个用户的ftp配置文件放在那#cd /etc/vsftpd/
#mkdir peruser#cd preuser#vim ftpuser1 //配置文件名称和用户同名
local_root=/ftpuser1 //设置某个用户的ftp根目录在哪
ftp的安全:
1.关闭匿名用户除下载权限之外的一切权限2.hide_ids=YES 隐藏文件夹和目录属主,都以 FTP 代替3.开启监控,也就是打开日志4.禁用 ASCII 模式下载ascii_upload_enable=NOascii_download_enable=NO5.禁用危险的 ls –R 命令,这个命令消耗大量系统资源 ls_recurse_enable=NO6.限制并发也比较有必要 max_client=0 max_per_ip=0
转载于:https://blog.51cto.com/12419955/2052697