学习任务
- FTP 服务器部署
- FTP 服务器配置
(一)部署 FTP 服务器
FTP ( 文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议
之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法
在 RED HAT ENTREPRISE LINUX 6 中。 FTP 服务器包的名
称为 VSFTPD , 它代表 Very Secure File TransferProtocol
Damon 服务器名称也叫做 vsftpd
默认配置文件让 ANONYMOUS 用户只能下载位于 CHROOT 目
录中的内容。 /var/ftp/ 这意味着远程 FTP 客户端能以用户
anonymous 或 ftp 身份连接到服务器 ( 无需密码 ), 并从 ftp
服务器上的 /var/ftp/ 目录下载文件 ( 其本地 ftp 用户可以读取这
些文件 )
(二)
部署网络服务的四个步骤
1安装服务软件
2启动服务
3启用服务
4测试服务
(三)安装 vsftpd 包并启动服务
1 修改yum源,更改配置文件:
下载软件,启动服务;
[root@client ~]# yum install vsftpd -y
[root@python ~]# which vsftpd
/usr/sbin/vsftpd
开启vsftpd之前,
开启软件:
[root@client ~]# systemctl start vsftpd
[root@client ~]# systemctl status vsftpd
vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled)
Active: active (running) since 二 2017-11-07 07:49:55 EST; 8s ago
Process: 23351 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 23352 (vsftpd)
CGroup: /system.slice/vsftpd.service
└─23352 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
11月 07 07:49:55 client systemd[1]: Started Vsftpd ftp daemon.
[root@client ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
开启后查看端口:
对火墙进行设置:
(四)ftp服务基本信息:
软件安装包:vsftpd(very secure FTP Daemon),以安全为中心的FTP服务器!
默认发布目录:/var/ftp
协议接口:21
服务配置文件:
查一下配置文件:
[root@client ~]# vim /etc/vsftpd/vsftpd.conf
(五)FTP服务器的基本设置:
TP 服务器在预设的情况下,依据使用者登入的情况而分为三种不同的身份,分别是: (1)实体账号,real user;(2)访客, guest;(3)匿名登录者, anonymous 这三种。这三种身份的用户在系统上面的权限差异很大喔!例如实体用户取得系统的权限比较完整, 所以可以进行比较多的动作;至于匿名登录者,大概我们就仅提供他下载资源的能力而已,并不许匿名者使用太多主机的资源啊! 当然,这三种人物能够使用的『在线指令』自然也就不相同啰!
1 匿名者登入的设定值
1)
anonymous_enable=YES (NO)
##设定为允许 anonymous 登入我们的 vsftpd 主机!预设是 YES
当设为NO时,效果如下;
2)
anon_upload_enable=YES (NO)
是否让 anonymous 具有上传数据的功能,默认是 NO,如果要设定为 YES ,则 anon_other_write_enable=YES 必须设定。
当我们试着上传文件时会发现:
文件权限过小,此时更改文件权限:
在试一次,可以了:
3)匿名用户家目录修改:
4)匿名用户上传文件默认权限修改:
注意:#anon_umask=022 默认没有这一项,匿名用户上传后的权限是-rw——-。匿名用户上传的默认权限为600,即anon_umask=066,匿名用户上传最大权限是666,这里权限是用666-022=644方法得来的-rw-r–r–
5)匿名用户建立目录:
anon_mkdir_write_enable=YES (NO)
是否让 anonymous 具有建立目录的权限?默认值是 NO!如果要设定为 YES, 那么 anony_other_write_enable 必须设定为 YES !
6)
anon_world_readable_only=YES (NO)
仅允许 anonymous 具有下载可读档案的权限,预设是 YES。
7)匿名用户删除:
anon_other_write_enable=YES (NO)
是否允许 anonymous 具有除了写入之外的权限?包括删除与改写服务器上的档案及档名等权限。预设当然是 NO!如果要设定为 YES,那么开放给 anonymous 写入的目录亦需要调整权限,让 vsftpd 的 PID 拥有者可以写入才行!
8)匿名用户使用的用户身份修改,最大上传速率,最大链接数修改:
2 实体用户
本地用户设定
1)
local_enable=YES (NO)
这个设定值必须要为 YES 时,在 /etc/passwd 内的账号才能以实体用户的方式登入我们的 vsftpd 服务器喔!
记住每一次改完配置文件。都要重启服务:
[root@client ~]# vim /etc/vsftpd/vsftpd.conf
[root@client ~]# systemctl restart vsftpd.service
当改为NO时:
2)ftp是否对登陆用户可写(上传文件之类)
上传文件,下载文件先要考虑selinux,然后再考虑具体的细节权限,我们的配置文件中,local——umask为002,则对niub用户来说,有如下权限:(在/home/niub中建目录,目录默认为755,文件644)
若改为NO时:
3)因为/目录的重要性,所以限制本地用户浏览/目录:
所有用户被锁定到自己的家目录内:
无法进入/目录:
如果我们现在添加帐号不要被chroot,可以建立文件:
写入不要被chroot的用户:
查看效果,student没有被chroot:
接下来可以建立用户黑名单:
只有黑名单里的用户被chroot!
4)限制本地用户登陆:
用户黑名单:
[root@client vbird]# vim /etc/vsftpd/ftpusers
用户临时黑名单;
[root@client vbird]# vim /vsftpd/user_list
用户白名单设定;
userlist_deny=NO
[root@client vbird]# vim /vsftpd/user_list
##此时该文件变为白名单。只有在该名单上的用户可以登陆FTP
5)FTP虚拟用户的设定:
首先,得创建虚拟用户身份:
[root@client vbird]# vim /etc/vsftpd/westosfiles
[root@client vbird]# cat /etc/vsftpd/westosfiles
westos ##用户名
123 ##密码
westos
123
创建用户数据库
[root@client vbird]# db_load -T -t hash -f /etc/vsftpd/westosfiles /etc/vsftpd/westosfiles.db
### 前提就是在linux下配置好Vsftp环境确保db_load命令可以使用就是将用户文本信息文件转换为db数据库并使用hash加密。
改完之后,查看文件类型:
创建PAM认证文件:
《二》TFTP服务器
udp协议,69端口。
安装服务端 tfto-server
客户端:tftp
在安装tftp后,要在xinted服务中将其开启:
tftp描述:
disable 改为 no
重启xinetd,但重启失败,因为没有xinetd,下载:
重启xinetd,并开机自己启动:
TFTP的默认根目录: