一、文件服务器简介
FTP:在内网和公网使用。服务器:windows,Linux
客户端:windows,Linux
samba:只能在内网使用
(文件共享服务)
服务器:windows,Linux
客户端:windows(Linux)
NFS:Linux中的常用的文件服务器(运行级别3)
声明:Apache是web服务器,和文件服务器没半毛钱关系。
Linux打的完整防护:SELinux(没有selinux服务,是由内核直接调用的)(由美国国家安全局开发的)安全等级在B1-B2左右
[root@localhost ~]# vi /etc/selinux/config
SELINUX=enforcing
改为
SELINUX=disabled
重启Linux(修改的是内核)
目前学习难度较大,所以暂时关闭,容易报错。
1、FTP软件
Linux:wu-ftp
早期,不太安全
proftp
增强ftp工具
vsftp
安全,强大
RedHat是行业的风向标,它更改一个功能,各企业都向其靠拢。使用基数大,这就是为什么要学RedHat系列的Linux,而不学Unbunto的原因(虽然它很火)
windows:IIS
windows下网页搭建服务,可以搭建ftp服务
serv-U
专用ftp服务器
2、原理
开启
21
命令传输端口
20
数据传输端口
3、FTP的用户
1、ftp允许登录用户
就是系统用户,使用的密码也是系统密码
上传位置:/home/家目录
2、匿名用户(不要用户名,不要密码(权限太大))
anonymous
密码:空
或者
邮箱地址
11@aa
上传位置:/var/ftp/
二、安装
rpm
-ivh
vsftpd...........(....包全名的意思,按tab键)
yum
install
vsftpd
-y
三、相关文件
/etc/vsftpd/vsftpd.conf
配置文件
/etc/vsftpd/ftpusers
用户访问控制文件
写入此文件的用户都不能访问ftp服务器(黑名单文件)
/etc/vsftpd/chroot_list
需要手工建立(默认没有)
定义是否把用户限制在家目录
四、配置文件配置
/etc/vsftpd/vsftpd.conf
1
主机相关配置
listen_port=21
监听端口
connect_from_port_20=YES
数据传输端口
ftpd_banner=
欢迎信息(默认是注释的)
2
匿名用户登录
在Linux下识别为
ftp
用户
anonymous_enable=YES
允许匿名用户登录
必须修改为NO
3
本地用户
local_enable=YES
允许系统用户登录
write_enable=YES
允许上传
local_umask=022
默认上传权限
local_max_rate=300
上传限速
4
限制用户访问目录(这三句话默认是注释的)
chroot_local_user=YES
只有此句,所有用户限制在家目录下
(257 "/" 实际是我的家目录)
chroot_local_user=YES
如有三句话,只有文件chroot_list中的用户可以访问任何目录,其他用户限制在家目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list(白名单:随便访问)
5
修改完配置文件,要想生效就必须将该服务重启
service
vsftpd
restart
6
!ser
命令行中的!是指:执行最后一个以ser开头的命令
如:!ser
执行的效果和
service vsftpd restart
的效果是相同的
五
ftp客户端使用
1
使用命令登录
ftp
ip
get
文件名
下载
put
文件名
上传
注意:不能上传和下载目录,只能是文件
2
使用windows窗口
ftp://用户名@IP
注意:不支持断点续传
3
使用第三方工具登录
flashFXP
winscp
总结:两件事:关闭匿名用户、把所有用户限制到家目录。
实验时出现的错误:
C:\>ftp 192.168.20.128
连接到 192.168.20.128。
220 (vsFTPd 2.2.2)
用户(192.168.20.128:(none)): zc
331 Please specify the password.
密码:
500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list
500 OOPS: priv_sock_get_result
远程主机关闭连接。
解决:是因为没有这个文件。在/
etc/
下面新建一个
chroot_list文件即可