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文件服务器实战详解(匿名用户),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!