首页 > 编程知识 正文

文件服务器枚举功能的作用是什么?,文件服务器搭建教程

时间:2023-05-04 17:23:29 阅读:279956 作者:2156

文件服务——FTP 一、FTP服务 1.1 FTP服务介绍

FTP(File Transfer Protocol)是一种应用非常广泛并且古老的一个互联网文件传输协议。

主要用于互联网中文件的双向传输(上传/下载)、文件共享跨平台 Linux、WindowsFTP是C/S架构,拥有一个客户端和服务端,使用TCP协议作为底层传输协议,提供可靠的数据传输FTP的默认端口 21号(命令端口) 20号(数据端口) 默认被动模式下FTP程序(软件)vsftpd 1.2 FTP服务客户端工具

Linux:ftp、lftp(客户端程序)

Windows:FileZilla、IE、Chrome、Firefox

lftp和ftp工具区别:

lftp可以批量并且下载目录 lftp localhost:~> mirror remote local 下载整个目录到本地lftp localhost:~> mirror -R local remote rename 上传整个目录到远程同时可以重命名 1.3 FTP的两种工作模式

主动模式

客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务的的21号端口发起请求服务端的21号命令端口响应客户端的随机命令端口服务端的20号端口主动请求连接客户端的随机数据端口客户端的随机数据端口进行确认

被动模式

客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务的的21号端口发起请求服务端的21号命令端口响应客户端的随机命令端口客户端主动连接服务端打开的大于1023的随机端口服务端进行确认

注:

①ftp服务端口分为数据端口20和命令端口21。

②21号端口是服务器的命令端口,客户端端口一般为大于1023的随机命令端口和数据端口。

1.4 FTP服务的基本配置 ftp文件列表 /etc/logrotate.d/vsftpd //日志轮转的文件/etc/pam.d/vsftpd //安全认证/etc/rc.d/init.d/vsftpd //启动脚本/etc/vsftpd //配置文件的主目录/etc/vsftpd/ftpusers //用户列表(黑名单)/etc/vsftpd/user_list //用户列表(默认黑名单|可黑可白)/etc/vsftpd/vsftpd.conf //主配置文件/usr/sbin/vsftpd //二进制命令/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS/README //虚拟主机/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS /usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README //虚拟用户/usr/share/man/man5/vsftpd.conf.5.gz //man文档/var/ftp //匿名用户的默认数据的根目录/var/ftp/pub //匿名用户的默认数据目录的扩展目录 ftp配置文件 [root@review1 ~]# grep -v ^# /etc/vsftpd/vsftpd.conf anonymous_enable=YES //支持匿名用户访问 local_enable=YES //非匿名用户write_enable=YES //写总开关local_umask=022 //反掩码 file:644 dir:755dirmessage_enable=YES //启用消息功能xferlog_enable=YES //开启或启用xferlog日志connect_from_port_20=YES //支持主动模式(默认被动模式)xferlog_std_format=YES //xferlog日志格式listen=YES //ftp服务独立模式下的监听pam_service_name=vsftpd //指定认证文件userlist_enable=YES //启用用户列表tcp_wrappers=YES //支持tcp_wrappers功能 启动测试ftp服务 //启动[root@review1 ~]# service vsftpd startStarting vsftpd for vsftpd: [ OK ][root@review1 ~]# netstat -ntpl|grep vsftptcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1390/vsftpd //测试[root@client ~]# lftp root@192.168.221.129Password: lftp root@192.168.221.129:~> ? !<shell-command> (commands) alias [<name> [<value>]] bookmark [SUBCMD] cache [SUBCMD] cat [-b] <files> cd <rdir> chmod [OPTS] mode file... close [-a] [re]cls [opts] [path/][pattern] debug [<level>|off] [-o <file>] du [options] <dirs>[root@client ~]# ftp 192.168.221.129Connected to 192.168.221.129 (192.168.221.129).220 (vsFTPd 2.2.2)Name (192.168.221.129:root): test331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> //登陆成功!

注意:

​ ① 为了安全考虑,ftp默认阻止root登录。

​ ② SELinux会阻止ftp用本地用户登录,关闭SELinux后,需要重启vsftp才能生效。

​ ③ ftp登录用的本地用户是 vsftp服务器的用户,而不是客户端的用户。

二、 FTP常用选项配置 2.1 允许匿名用户上传、下载文件,创建文件夹

默认情况下,ftp服务器只允许匿名用户下载本人文件,不允许上传

[root@review1 ~]# vim /etc/vsftpd/vsftpd.conf 26 obviously need to create a directory writable by the FTP user. 27 #anon_upload_enable=YES 28 # 29 # Uncomment this if you want the anonymous FTP user to be able to create 30 # new directories. 31 #anon_mkdir_write_enable=YES //默认关闭ftp> put install.loglocal: install.log remote: install.log227 Entering Passive Mode (192,168,221,129,173,140).550 Permission denied.//无法上传//在配置文件中加入以下三个选项anon_upload_enable=YES //允许匿名用户上传anon_mkdir_write_enable=YES //允许匿名用户创建文件夹anon_other_write_enable=YES //允许更改其他匿名用户的文件和文件夹

注: 要想上传成功,还要注意文件夹的“写“权限。总之,ftp服务器文件传输过程中遇到的权限问题主要来自于两个方面:①ftp本身权限设置。②传输的文件夹没有权限。

2.2 开启本地用户消息功能 2.2.1 创建.message文件

①本地用户访问——>/home/username

②匿名用户访问——>/var/ftp

服务端:

[root@review1 ~]# echo "welcome to my home" > /home/test/.message[root@review1 ~]# echo "welcome to anon home" > /var/ftp/.message

测试:本地用户

[root@mysql_2 ~]# ftp 192.168.221.129Connected to 192.168.221.129 (192.168.221.129).220 (vsFTPd 2.2.2)Name (192.168.221.129:root): test331 Please specify the password.Password:230-welcome to my home230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.

测试:匿名用户

[root@mysql_2 ~]# ftp 192.168.221.129Connected to 192.168.221.129 (192.168.221.129).220 (vsFTPd 2.2.2)Name (192.168.221.129:root): ftp 331 Please specify the password.Password:230-welcome to anon home230 Login successful.Remote system type is UNIX.Using binary mode to transfer files. 2.2.2 修改配置文件 1. 修改配置文件指定消息文件banner_file=/etc/vsftpd/banner_file2. 创建消息文件vim /etc/vsftpd/banner_file测试:[root@mysql_2 ~]# ftp 192.168.221.129Connected to 192.168.221.129 (192.168.221.129).220-*************220-220-220-220-************220 Name (192.168.221.129:root): test 331 Please specify the password.Password:230-welcome to my home230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp>

注: 配置方式不同显示的位置也不同。

2.3 用户访问目录控制及上传目录设置 禁锢本地用户的家,只能在自己的家中活动

1)禁锢所有的本地用户

chroot_local_user=YES //禁锢所有的本地用户(不能随便跳转)

2)禁锢大部分用户,允许小部分

chroot_local_user=YES

chroot_list_enable=YES //启用用户文件列表

chroot_list_file=/etc/vsftpd/chroot_list //定义用户文件列表

3)允许大部分,禁锢小部分

chroot_local_user=NO 或者 # chroot_local_user=YES

chroot_list_enable=YES //启用用户文件列表

chroot_list_file=/etc/vsftpd/chroot_list //定义用户文件列表

注: chroot_list_enable 的开启与关闭会影响chroot_list_file 文件的作用,前者开启禁用 ,后者就是允许列表;前者关闭禁用,后者就是禁用列表。

指定匿名用户和本地用户上传文件的目录

默认文件夹:/var/ftp (匿名) /home/username(本地)

更改配置文件/etc/vsftpd/vsftpd.conf

anon_root=指定文件夹路径

local_root=指定文件夹

注意: 要对指定文件夹增加权限chmod o+w

禁锢所有用户的家,不能来回跳转

chroot_local_user=YES

2.4 FTP的访问控制 对象访问控制(FTP服务的自身访问控制) ftpusers //黑名单 user_list //默认是黑名单(可以成为白名单)例:需求1:不允许stu1用户访问ftp服务echo stu1 >> /etc/vsftpd/ftpusers需求2:只允许stu2用户访问ftp服务1)修改配置文件将user_list文件变成白名单userlist_deny=NO2)将stu2用户加入到user_list文件中echo stu2 >> user_list

注:

​ 如果user_list文件是白名单,用户即在ftpusers中又在user_list中,那么ftpusers拒绝优先

FTP服务网络访问控制

检查是否支持tcp_wrappers ①对于编译安装的软件:./configure --enable-libwrap 表示支持tcp_wrappers访问控制②对于rpm安装的软件[root@review1 ~]# ldd /usr/sbin/vsftpd |grep libwrap*libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fb2c28eb000)[root@review1 ~]# ldd /usr/sbin/sshd |grep libwrap*libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fa0e6bc1000) tcp-wrappers 写法 /etc/hosts.denyvsftpd:all 全部拒绝vsftpd:all EXCEPT 192.168.0.2 拒绝所有除了192.168.0.2 vsftpd:192.168.0.254 拒绝单个ip地址=hosts.allow文件里增加vsftpd:192.168.0.254:denyvsftpd:192.168.0.0/255.255.255.0 拒绝某个网段vsftpd:192.168.0.0/255.255.255.0 EXCEPT 192.168.0.254 拒绝某个网段,但是除了某个ip地址注意:子网掩码不支持192.168.0.0/24这种写法

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。