Linux文件服务器实战详解(匿名用户)
一、进程与线程
二、vsftp服务器
1.文件传输协议(file transfer protocol,FTP)
基于该协议ftp客户端和服务端实现文件共享,上传下载文件
FTP基于TCP协议生成一个虚拟的连接,用于控制ftp连接信息。同时再生成一个TCP连接用于FTP数据传输
2.ftp传输模式
3.FTP安装配置
a.yum方式安装
b.源码便宜安装
1)yum install -y vsftpd*
2)vsftpd安装后的配置文件路径,启动vsftpd服务以及查看进程是否启动
rpm -ql | more
systemctl start vsftpd
ps -ef | grep vsftpd
3)Vsftpd默认配置文件
[xj@www ~] sudo cat /etc/vsftpd/vsftpd.conf |grep -v "^#"|grep -v "^
anonymous_enable=YES 开启匿名用户访问 local_enable=YES 启用本地系统用户访问 write_enable=YES 本地系统用户写入权限 local_umask=022 本地用户创建文件以及目录默认权限掩码 dirmessage_enable=YES 打印目录显示信息,用于用户第一次访问目录时信息提示 xferlog_enable=YES 启用上传/下载日志记录 connect_from_port_20=YES FTP:使用20端口号进行数据传输 xferlog_std_format=YES 日志文件将根据xferlog的保证格式写入 listen=YES vsftp不以独立的服务启动,通过xinetd服务管理,建议改为YES listen_ipv6=NO 启用IPv6监听 pam_service_name=vsftpd 登陆Ftp服务器,依据/etc/pam.dvsftpd中的内容进行认证 userlist_enable=YES vsftp.user_list和ftpusers配置文件里用户禁止访问ftp tcp_wrappers=YES 设置vsftpd和tcp wrapper结合进行主机访问控制,vsftpd服务器检查/etc/hosts.allow和/etc/hosts/deny中的设置来决定请求链接的主机是否允许访问ftp服务器
4)FTP默认为主动模式,设置被动模式的方法如下:
pasv_enable=YES
pasv_main_port=6000
pasv_max_port=60100
5)匿名用户的配置,访问路径为/var/ftp/pub,
默认只有查看权限,如需上传下载删除,需加入以下代码:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
由于默认vsftp匿名用户有anonymous和ftp,所以如需上传删除和修改权限,需要修改/var/ftp/pub有写入权限,(以下任一命令即可)
chown -R ftp pub/
chown o+w pub/
问题区
1.vsftpd.service: control process exited, code=exit…s=2
由于centos7中vsftp的配置文件默认将 listen_ipv6=YES 这一行没有注释掉,而我们目前的网络环境还不支持ipv6,
从而导致出现错误无法启动,
所以解决方法是将 listen_ipv6=YES更改为:listen_ipv6=NO,或将这一行注释掉
按上面的方法注释掉 listen_ipv6=YES后,成功启动vsftp
上传文件时:
2.553 Could not create file. getsebool -a|grep ftp setsebool allow_ftpd_full_access on 3.500 OOPS: vsftpd: refusing to run with writable root inside chroot () chmod a-w /var/ftp
总结
以上所述是小编给大家介绍的Linux文件服务器实战详解(匿名用户),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
- HDUOJ---2152
- nyoj-----D的小L
- HDUOJ---The Moving Points
- HDUOJ---------Kia's Calculation
- HDUOJ----Good Numbers
- DP较为完整的知识
- HDUOJ----The Number Off of FFF
- HDUOJ-------Naive and Silly Muggles
- HDUOJ----A Computer Graphics Problem
- HDUOJ---(4708)Herding
- HDUOJ---(4708)Rotation Lock Puzzle
- HDUOJ---Hamming Distance(4712)
- HDUOJ-----Difference Between Primes
- HDUOJ----(4706)Children's Day
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 聊聊dubbo-go的forkingCluster
- 还在用 map[string]interface{} 处理 JSON?告诉你一个更高效的方法——jsonvalue
- 聊聊dubbo-go的failsafeCluster
- 【HDFS】distcp报错Check0sum mismatch
- ffmpeg转换多媒体文件,真香
- 静态库与动态库的那些事
- 云服务器网络延迟与丢包问题定位(mtr工具)
- Spark UDF1 输入复杂结构
- Qt音视频开发6-ffmpeg解码处理
- MySQL 百万级数据量分页查询方法及其优化
- 教你设计一个超牛逼的本地缓存!
- Flutter延时任务、Flutter通过Future与Timer实现延时任务
- DDIA 笔记
- 工作流和状态机
- CentOS 6.x 搭建:Headless Chrome + ChromeDriver + Selenium的爬虫环境系统