网络文件传输协议
Vsftp (非常安全的ftp) FTP > file transfer protocal (文件传输协议)
ftp:不支持shell
lftp:Linux下的ftp 支持shell 可补全
FTP端口:
20:数据端口 > 控制传输
21:控制端口 > 控制连接
主动:
请求 21
Client ------- > server
<--------
返回 20
-------->
>1024(随机)
<--------
返回 20
被动:
请求 21
Client ------- > server
< --------
20
---------------- >
>1024(随机)假设为x
<--------
x+1 响应
工作原理
1 -------TCP comection-------- >
<--------------->20-----------------
2 ---------------user name------->
< ---------------响应331------------
3 ------------passwd--------------->
< -----------------230----------------
4 --------pwd(当前路径)---------->
<----------------257----------------
安装:
yum install vsftpd -y
配置文件:/etc/vsftpd/vsftpd.conf
默认参数配置:vsftpd.conf.5
anonymous_enable=YES #允许匿名访问
local_anable=YES #允许本地用户登录
write_enable=YES #写开启
local_umask=022 #创建文件默认权限
#anon_upload_enable=YES #开启匿名用户写功能
#anon_mkdir_write_enable=YES #开启FTP匿名用户可以创建新的目录
dirmessage_enable=YES #开启目录提示功能
xferlog_ebable=YES #开启上传下载的日志
connect_from_port_20=YES #开主动模式的20号端口
chown_uploads=YES #指定所属用户
chown_username=whoever #指定所属用户
xferlog_file=/var/log/xferlog #日志开启并指定储存
xferlog_std_format=YES #开启标准的日志格式
idle_session_timeout=300 #默认超时时间,超时就自动断开
ftpd_banner=wecome to linhut #ftp欢迎信息
listen=NO #不启动IPv6的侦听,YES是V4.V6都侦听
listen_IPv6=YES #开启侦听v6
userlist_enable=yes #支持白名单
默认共享目录是ftp的用户主目录
/var/ftp
修改工作路径
anon_root=/opt/joinlabs #修改匿名用户的工作目录
系统用户下载
local_anable=YES #允许本地用户登录
发现ftp用户主目录关闭
打开ftp用户主目录
lftp 192.168.0.43 -u kangwei #用户登录
#需要给用户主目录读权限
限制下载,以及垮目录
/etc/vsftpd/vsftpd.conf
红帽7需要额外加一条:
allow_writeable_chroot=YES
限制普通用户工作目录
local_root=/opt/joinlabs
黑白名单
/etc/vsftpd/chroot_list #跨目录列表
当为NO为白名单
当YES为黑名单,不配置就是默认黑名单
/etc/vftpd/ftpusers #彻彻底底黑名单
lftp:
lftp 192.168.0.22
cd pob/
ls
#下载
lcd /opt 指定下载目录
get xxx 下载文件
mget xxxxx xxxxxx xxxxx 批量下载
#上传
put /tmp/crontab 上传
mput /tmp/crontab 批量上传
#上传发现,权限拒绝
权限排除,第一个排除大权限然后再排除小用户
selinux .conf配置文件
1。解决:
ftp默认关闭匿名用户写功能 #anon_upload_enable=YES
2.selinux权限问题
selinux关闭了匿名用户的写
开启selinux的写功能
评论