首页 > 系统服务 > 详细

Linux学习笔记之ftp服务

时间:2018-11-17 18:59:19      阅读:206      评论:0      收藏:0      [点我收藏+]
一.介绍
文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。文件传送(file transfer)和文件访问(file access)之间的区别在于:前者由FTP提供,后者由如NFS等应用系统提供。
二.配置ftp服务
1.在服务端
1)安装vsftpd服务
技术分享图片
2)启动vsftpd服务并设置为开机自动启动
技术分享图片
3)关闭防火墙并设置为开机不启动
技术分享图片
4)关闭selinux
vim /etc/sysconfig/selinux 将第7行改为SELINUX=disabled
关闭selinux后,由于修改了配置文件,所以须重启服务,重启之后,输入getenforce指令查看,如果显示Disabled,则设置成功
技术分享图片
技术分享图片
技术分享图片
2.在客户端
1)安装lftp服务 yum install lftp -y
技术分享图片
2)测试
技术分享图片
如果连接后,输入ls命令,可看到图示内容,则表示配置成功
三.四种常见的报错
500报错:权限过大
530报错:认证失败
550报错:服务本身不允许
553报错:文件系统权限过小
四.修改配置文件
在服务端
编辑vsftpd的配置文件:/etc/vsftpd/vsftpd.conf,即vim /etc/vsftpd/vsftpd.conf
因为修改的是配置文件,所以要重启vsftp服务,即systemctl restart vsftpd
在客户端
利用lftp命令进行测试
1)限制匿名用户的登陆
anonymous_enable=YES|NO
YES:允许匿名用户登陆
NO:不允许匿名用户登陆
编辑配置文件
技术分享图片
修改第12行
技术分享图片
重启服务
技术分享图片
在客户端测试,当anonymous_enable=YES时,
技术分享图片
当anonymous_enable=NO时,
技术分享图片
技术分享图片
2)修改配置文件限制匿名用户上传文件
write_enable=YES
技术分享图片
技术分享图片
anono_upload_enable=YES
技术分享图片
技术分享图片
重启服务
技术分享图片
修改匿名用户登陆的默认目录的权限:chmod 775 /var/ftp/pub
修改匿名用户登陆的默认目录的所属组:chgrp ftp /var/ftp/pub
技术分享图片
在客户端测试
技术分享图片
3)匿名用户上传文件默认权限的修改
anono_umask=022 修改umask值
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
4)允许匿名用户下载自己上传的文件
anon_world_readable_only=NO(NO表示匿名用户可以下载自己上传的文件)
技术分享图片
在客户端测试
技术分享图片
下载成功
5)是否允许匿名用户建立目录(在pub目录)
anon_mkdir_write_enable=YES
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
6)是否允许匿名用户删除自己上传的文件及建立的目录
anono_other_write_enable=YES
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
7) 匿名用户使用身份的修改
chown_uploads=YES
chown_username=student(匿名用户以student用户身份登陆)
技术分享图片
重启服务
技术分享图片
在客户端上传文件
技术分享图片
在服务端查看
技术分享图片
8)指定匿名用户登陆后家目录
anon_root=/mnt 指定你名用户的家目录为/mnt
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
9)限制匿名用户最大上传速率
anno_max_rate=102400 限制匿名用户最大上传速率为100M
技术分享图片
为了使匿名用户能够上传文件,具有权限,将家目录改为默认目录/var/ftp/pub
技术分享图片
重启服务
技术分享图片
创建文件
技术分享图片
在客户端测试
技术分享图片
10)服务端最大连接数
max_clients=1 设置服务端最大连接数为1
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
虚拟机连接成功
技术分享图片
物理机连接失败
2.本地用户
1)本地用户家目录的修改
local_root=/jiao
技术分享图片
重启服务
技术分享图片
在/jiao目录下创建三个文件,为测试结果明显
技术分享图片
技术分享图片
在客户端测试
技术分享图片
测试发现在看到文件为/jiao目录下的文件,设置成功
(2)本地用户上传文件默认权限的修改
local_umask=xxx
技术分享图片
重启服务
技术分享图片
为使用户能够上传文件,需要修改目录的权限
技术分享图片
在客户端测试
技术分享图片
(3)限制本地用户浏览根目录
chroot_local_user=YES
技术分享图片
必须修改权限,否则会报500(权限过大)的错误
chmod u-w /home/*
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
4)用户黑名单的建立(黑名单中的用户不能访问根目录)
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
技术分享图片
将xin,chen用户设为黑名单用户
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
student用户能够访问根目录
技术分享图片
xin用户不能访问根目录
技术分享图片
chen用户不能访问根目录
(5)用户白名单的建立(只有白名单中的用户可以访问根目录)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
技术分享图片
将xin,chen用户设置为白名单用户
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
xin用户能够访问根目录
技术分享图片
student用户不能访问根目录
6)限制本地用户登陆
vim /etc/vsftpd/ftpusers 永久黑名单
技术分享图片
技术分享图片
技术分享图片
vim /etc/vsftpd/user_list 临时黑名单
/etc/vsftpd/user_list为临时黑名单,通过设定可以变为白名单
7)用户白名单的设定(只有白名单中出现的用户才能通过lftp远程连接)
userlist_deny=NO
技术分享图片
技术分享图片
vim /etc/vsftpd/user_list 此参数设定,此文件变成用户白名单,名单中出现的用户可以登陆ftp
技术分享图片
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
student用户可以登陆
技术分享图片
xin用户不能登陆
技术分享图片
chenyo用户不能登陆
8)用户黑名单的设定(黑名单中出现的用户不能通过lftp远程连接)
userlist_deny=YES
技术分享图片
技术分享图片
/etc/vsftpd/user_list 此参数设定,此文件变成用户黑名单,名单中出现的用户不可以登陆ftp
技术分享图片
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
student用户不能登陆
技术分享图片
xin用户能够登陆
4.3.虚拟用户
1)虚拟用户创建
服务端:
步骤一:编辑配置文件,用来存放虚拟用户的账户信息
vim /etc/vsftpd/file 文件名任意
user1
123
user2
123
技术分享图片
步骤二:
为了安全,将用户名和密码进行加密
db_load -T -t hash -f /etc/vsftpd/xinfile /etc/vsftpd/xinfile.db
技术分享图片
步骤三:查看是否安装pam ps aux | grep pam
技术分享图片
步骤四:编辑解析文件 vim /etc/pam.d/xin
技术分享图片
步骤五.修改vsftpd的解析文件 vim /etc/vsftpd/vsftpd.conf
133pam_service_name=xin
134guest_enable=YES
为了防止影响,将136userlist_deny=NO注释掉
技术分享图片
重启服务
技术分享图片
在客户端测试:
技术分享图片
技术分享图片
user1,user2登陆成功
2)统一指定虚拟用户家目录
方法同上,步骤五为:修改vsftpd的解析文件 vim /etc/vsftpd/vsftpd.conf
133pam_service_name=xin
134guest_enable=YES
135guest_username=student
为了防止影响,将userlist_deny=NO注释掉
技术分享图片
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
技术分享图片
user1,user2登陆后默认家目录为student
3)虚拟用户家目录单独设定
服务端
为user1和user2创建家目录并修改权限
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p
chmod 775 /ftphome/usr1/user1dir
chmod 775 /ftphome/usr2/user2dir
chgrp ftp /ftphome -R
技术分享图片
vim /etc/vdftpd/vdftpd.conf
技术分享图片
技术分享图片
重启服务
技术分享图片
在客户端测试
技术分享图片
user1登陆后家目录为user1dir
技术分享图片
user2登陆后家目录为user2dir
设置成功

Linux学习笔记之ftp服务

原文:http://blog.51cto.com/14050771/2318208

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!