FTP文件的上传与下载和DNS域名解析

FTP与DNS

一,FTP

1,FTP的使用场合:用于文件的传输
2,作用:用于文件的上传和下载
3, ftp属于tcp,端口号:20.21
 + 21: 控制层面,用于账户密码验证,权限的验证
 + 20:数据层面,用于文件上传和下载
4,ftp的用户账号
  • 匿名账户:登录名为ftp,anonymous,不验证密码即可登录,一般用于提供公共文件的下载,如提供一些免费软件,学习资料下载的站点
  • 系统账户:本身系统已经存在的账户,密码作验证。默认root账户不允许登录
    验证方式:
    1,验证的/etc/passwd和/etc/shadow
    2,验证的用户列表(用户必须是系统创建),相当于白名单。
  • 虚拟账户:预定义的列表账户(以前系统未创建过的),位于独立数据库文件的FTP账号,通过虚拟账户将ftp账户与linux系统账户的关联性降至最低,可以为系统提供更好的安全性。

实操
关闭防火墙
关闭核心防护
rpm -ivh /mnt/Packages/vsftpd-3.0.2-10.el7.x86,-64.rpm
匿名账户
chown -R ftp.ftp /var/ftp/pub/
chmod -R 755 /var/ftp/pub/
ls -l /var/ftp/pub/
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //允许匿名账户登录
anon_upload_enable=YES //允许匿名账户上传
anon_mkdir_write_enable=YES //允许匿名还在那规划新建文件或目录
anon_other_write-enable=YES //允许匿名账户的其他写权限
anon_umask=022 //设置匿名账户的权限为755
local_enable=YES //允许本地账户登录
local_max_rate=102400 //本地账户限速
chroot_local_user=yes //锁定宿主目录,此配置针对本地账户
write_enable=YES //写权限的开启,如果想让用户上传文件,此权限也需要有
local_umask=022//本地账户的权限为755
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
Listen=YES//监听IPV4地址请求
listen_ipv6=NO //不监听IPV6地址请求

systemctl start vsftp开启ftp服务
验证用户权限:若出现500 OOPS: vsftpd:refusing to run with writable root inside chroot ()报错
得在配置文件中加一条 : allow_writeable_chroot=YES
查看端口:netstat -anpt | grep vsftpd
验证用户权限
只允许系统账户liming上传下载文件,其他账户不允许访问

本地账户
设置本地用户的可登录用户列表
vi /etc/vsftpd/user_list
liming
vi /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES //宿主目录的锁定
listen=YES
allow_writeable_chroot=YES //允许宿主目录的写权限
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES //启用账户列表
userlist_deny=NO //只允许用户列表里的用户登录
tcp_wrappers=YES
local_root=/opt/liming //指定用户的宿主目录路径
普通账户的宿主目录是它的家目录

systemctl restart vsftpd 重新开启ftp服务

二,samba服务

1,作用:
  • 实现 linux与微软系统之间的互访问题
2, SMB的工作原理

让netbios与smb这两种协议运行在tcp/ip的通信协议上,使用netbios name server让用户的linux机器可以在windows的网络邻居里被看到,所以就可以和windows主机在网络上相互沟通,共享文件与服务了

3, 组成samba运行的两个服务

一个是smb,另一个是nmb,smb是samba的核心启动服务,主要负责建立linux samba服务器与samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问,只有smb服务启动,才能实现文件的共享,监听tcp 139 和445 端口,而nmb服务是负责解析用的,类似与dns实现的功能,nmb可以吧linux系统共享的工作名称与其ip对应起来,如果,nmb服务没有启动,就只能通过ip来访问共享文件,监听udp 137和138端口。

2,配置过程:

1,防火墙关闭
systemctl stop firewalld
setenforce 0
2, 安装samba软件
3,创建共享目录并设置权限
mkdir /share
echo "aaa">/share/a.txt
chmod -R 777 /share

4,创建用户,将用户加入samba服务,并设置samba账户的密码
在将用户加进samba服务前,samba服务必须先开启
systemctl start smb
systemctl start nmb
netstst -anptu | greo mbd

useradd lisi
useradd tom

pdbedit -a -u lisi //用户设置为samba用户,并设置密码
pdbedit -a -u tom //用户设置文samba用户,并设置密码
5,配置samba主配置文件
vi /etc/samba/smb.conf
[share] # 共享目录名称
comment = this is a share directory //共享描述
path = / share
read only = yes //是否设置为只读
valid users =lisi,tom //授权用户
write list =lisi # lisi是可写的
hosts allow = 192.168.1. # 只允许192.168.1.0-192.168.1.255地址段访问
6,重启服务 (每次配置文件被修改之后一定要重启配置文件)
systemctl restart smb
systemctl restart nmb
netstat -anptu | grep mbd
7,客户机权限的验证
微软:\samba服务器ip
linux: smbclient //samba服务器ip/share -U lisi 以lisi身份验证权限
ls
get 文件 # 下载文件
put 文件 # 上传文件
8,挂载共享目录到本地使用
mkdir /myfile
mount -o username=lisi //samba服务器ip/share /myfile
df -Th
cd /myfile
ls

三,DNS(域名解析服务)

1,作用:将域名解析成ip地址
2,原因: 我们对数字不敏感,及布置ip地址,所以才有域名解析
3,解析方式:

正向解析: 域名解析出ip地址
反向解析 : ip地址解析出域名
dns 服务器中存储着大量的ip 和域名映射记录,他的记录文件也分为正向解析文件和反向解析文件
正向解析文件中存储的记录称为A记录,A记录记录着域名和ip的映射关系
反向解析文件中存储的记录称为PRT指针,PTR记录着IP和域名的映射关系
DNS服务即属于TCP协议也属于UDP协议,端口号为53号

4,域
  • .域 :
  • 国家域:cn中国,hk香港,uk 英国 ,au澳大利亚
  • 顶级域:(领域):com商业用途 net 网络组织 edu 教育
  • 二级域:个性化的名称,每个域的二级域都不一样
  • 主机名(用途):www(网页),mail(邮件)
5,dns 的解析过程

DNS的解析过程是分层解析的,一般客户机将解析的请求发送给它的DNS服务器,DNS服务器首先是从DNS服务器(.)开始改送域名解析请求,根将COM域的IP反馈给客户机的本地DNS服务器,本地DNS服务器访问COM域服务器,COM域服务器反馈baidu域的IP给本地 DNS服务器,本地DNS服务器访问baidu域服务器询问www域服务器的ip,baidu域服务器给dns服务器反馈ww域的ip,这时本地DNS服务器得到www.baidu.com的精确IP之后,直接将这个映射记录反馈给客户机,客户机直接访问www.baidu.com服务器,服务器反馈相应的数据。

6,DNS缓存

其中一台DNS服务器可以上网去获取DNS映射记录,客户机将dns服务器地址指向这台可以上网的DNS服务器,从而获取到相应的映射记录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KDrvpMFx-1599984488058)(en-resource://database/807:1)]

7,服务器开启路由的命令:
  • 永久开启 : vi /etc/sysctl.conf
    net. ipv4. ip_forward=1
    sysctl -p 加载配置
  • 临时开启 :echo “1”>/proc/sys/net/ipv4/ip forward

你可能感兴趣的:(linux系统管理,linux,ftp,大数据)