⼀、rsync托管xinetd
1 、为什么要进⾏服务托管
独⽴服务:独⽴启动脚本 ssh ftp nfs dns ...
依赖服务 : 没有独⽴的启动脚本 rsync telnet 依赖 xinetd 服务(独⽴服务)
2 、如何将 rsync 托管给 xinetd 服务去管理?
第⼀步:在系统中安装 xinetd 服务
# yum -y install xinetd
# rpm -ql xinetd
第⼆步:编写 xinetd.conf ⽂件( /etc/xinetd.conf )
# man 5 xinetd.conf
defaults
{
only_from 只允许访问
no_access 拒绝访问
access_times 控制访问服务的时间段
log_type 指定⽇志类型
interface 并发连接数
per_source 每个IP的最⼤连接数
}
includedir /etc/xinetd.d ⼦配置⽂件⽬录(追加rsync、telnet)
第三步:⼿⼯创建 /etc/xinetd.d/rsync
# vim /etc/xinetd.d/rsync
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
备注:disable = no //开关;no表示开启该服务;yes表示关闭服务
第四步:重启 xinetd 服务( xinetd 服务重启后, rsync 服务也会随之重启,检查端⼝占⽤)
# pkill rsync
# systemctl restart xinetd
# ss -naltp |grep 873
LISTEN :::873 users:(("xinetd",pid=45079,fd=5))
在查询 873 端⼝占⽤时,发现只有 xinetd 服务,没有 rsync 服务,原因: rsync =>
xinetd
常见问题
如果我们在启动 xinetd 服务时,发现系统中的 873 端⼝⼀直没有被占⽤,只能有⼀个问题:配置⽂件有错误!
解决⽅案: cat /var/log/messages
⼀定要注意颜⾊的变化,有颜⾊变化代表是正确选项,没有,就肯定你在复制时惨咋了⼀些看不⻅
的字符。
⼆、FTP服务概述 统信os
⼀个⽂件在同⼀时间内,⽆论有多少⼈在r,但是只能有⼀个w权限,x其实r权限
1 、 FTP 服务介绍
FTP ( File Transfer Protocol )是⼀种应⽤⾮常⼴泛并且古⽼的⼀个互联⽹⽂件传输协议。
⽂件传输:⽂件上传与⽂件下载
主要⽤于互联⽹中 == ⽂件的双向传输 == (上传 / 下载)、⽂件共享
跨平台 Linux 、 Windows
FTP 是 ==C/S== 架构,拥有⼀个客户端和服务端,使⽤ ==TCP 协议 == 作为底层传输协议,
提供可靠的数据传输
FTP 的默认端⼝ ==21 号 == (命令端⼝) ==20 号 == (数据端⼝,主动模式下) 默认被
动模式 下
FTP 程序(软件) ==vsftpd==
FTP 软件名称 => vsftpd =>
2 、 FTP 服务的客户端⼯具
Linux : ftp 、 lftp (客户端程序)
Windows : FlashFXP( 虚拟主机 ) 、 FileZilla 、 IE 、 Chrome 、 Firefox
lftp 和 ftp ⼯具区别:
lftp :默认是以 == 匿名⽤户 == 访问
ftp :默认是以 == ⽤户名 / 密码 == ⽅式访问
lftp 可以批量并且下载⽬录
3 、 FTP 的两种运⾏模式(了解)
在 FTP 服务中,其⼀共拥有两种模式(主动模式 + 被动模式)
参考点, FTP 的服务器端。如果是 FTP 服务器端主动连接客户端 => 主动模式,如果是
客户端主动连接 FTP 服务器端 => 被动模式。
主动模式
cmd :命令端⼝(发送 FTP 请求)
data :数据端⼝(后期⽤于传输数据) ☆ 被动模式
FTP 默认使⽤的就是被动模式!
1. 客户端打开⼤于 1023 的随机命令端⼝和⼤于 1023 的随机数据端⼝向服务的的 21 号端⼝发起请
求
2. 服务端的 21 号命令端⼝响应客户端的随机命令端⼝
3. 服务端的 20 号端⼝主动请求连接客户端的随机数据端⼝
4. 客户端的随机数据端⼝进⾏确认
FTP默认使⽤的就是被动模式!
4 、搭建 FTP 服务(重要)
1. 关闭防⽕墙和 selinux
2. 配置 yum 源 ( mount /dev/sr0 /mnt)
3. 软件三部曲
4. 了解配置⽂件
5. 根据需求修改配置⽂件来完成服务的搭建
6. 启动服务,开机⾃启动
7. 测试验证
第⼀步:关闭防⽕墙与 SELinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vim /etc/selinux/config
SELINUX=disabled
第⼆步:配置 YUM 源
有⽹配置公⽹YUM源(阿⾥、清华、华为),没⽹就配置本地YUM源
# mount /dev/sr0 /mnt
# yum clean all
# yum makecache
第三步:安装 vsftpd 软件( FTP => vsftpd )
# yum install vsftpd -y
第四步:启动 ftp 服务并添加到开机启动项中
# systemctl start vsftpd
# systemctl enable vsftpd
第五步:测试 FTP 是否安装成功
# ifconfig ens33
inet 10.1.1.10 netmask 255.255.255.0 broadcast 10.1.1.255
☆ 基于浏览器的访问
☆ 基于 Windows 资源管理器的访问☆ 基于 FlashFxp 、 FileZilla 软件
☆ 基于 ftp 以及 lftp 命令进⾏连接( Linux 与 Linux 之间的 FTP ⽂件传输)
yum install ftp lftp -y
# ftp 10.1.1.10
5 、 FTP 的配置⽂件详解(重要)
在 Server 服务器端,使⽤ rpm -ql vsftpd
# rpm -ql vsftpd
/usr/lib/systemd/system/vsftpd.service 启动脚本
/etc/vsftpd 配置⽂件的⽬录
/etc/vsftpd/ftpusers ⽤户列表⽂件,⿊名单
/etc/vsftpd/user_list ⽤户列表⽂件,可⿊可⽩(默认是⿊名单)
/etc/vsftpd/vsftpd.conf 配置⽂件(主配置⽂件)
/usr/sbin/vsftpd 程序本身(⼆进制的命令)
/var/ftp 匿名⽤户的默认数据根⽬录
/var/ftp/pub 匿名⽤户的扩展数据⽬录
vsftpd 配置⽂件详解:
# grep -v ^# /etc/vsftpd/vsftpd.conf
anonymous_enable=YES ⽀持匿名⽤户访问
local_enable=YES ⽀持⾮匿名⽤户,普通账号登录,默认进⼊到⾃⼰家⽬录
write_enable=YES 写总开关
local_umask=022 反掩码 file:644 rw- r-- r-- dir:755
dirmessage_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限速操作)
# man 5 vsftpd.conf