商城网站怎么做seo,视频剪辑培训班一般学费多少,wordpress搜索时间间隔,ae有么有做gif的网站章节简述#xff1a; 本章节为读者讲述文件共享系统的作用#xff0c;了解Samba与NFS服务程序的开发背景以及用法。 详细逐条讲解Samba服务配置参数#xff0c;演示安全共享文件的配置策方法#xff0c;并使用autofs服务程序自动挂载设备#xff0c; 学会后即可实现Linux… 章节简述 本章节为读者讲述文件共享系统的作用了解Samba与NFS服务程序的开发背景以及用法。 详细逐条讲解Samba服务配置参数演示安全共享文件的配置策方法并使用autofs服务程序自动挂载设备 学会后即可实现Linux系统之间或与Windows系统之间的文件共享以及在共享文件时如何配置防火墙与SELinux策略规则。 本章目录结构 12.1 了解文件共享服务12.2 Samba服务 12.2.1 安装服务程序12.2.2 安全共享文件12.3 NFS网络文件系统12.4 AutoFs自动挂载服务 12.1 了解文件共享服务 早期网络想要在不同主机之间共享文件大多要用FTP协议来传输但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据这样确实不太方便于是便出现了NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务属于轻量级的文件共享服务不支持Linux与 Windows系统间的文件共享。 随后在1991年时大学生Tridgwell为了解决Linux与Windows系统之间共享文件的问题便开发出了SMB协议与Samba服务程序。 SMB(Server Messages Block)协议:实现局域网内文件或打印机等资源共享服务的协议。 当时Tridgwell想要注册SMBServer这个商标但却被因为SMB是没有意义的字符被拒绝了经过Tridgwell不断翻看词典终于找到了一个拉丁舞蹈的名字——SAMBA而这个热情舞蹈的名字中又恰好包含了SMB(SAMBA)于是这便是Samba程序名字的由来。 Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件实现了Linux与Windows系统间的文件共享。 12.2 Samba服务 12.2.1 安装服务程序 通过安装Samba服务程序后细致的分析其配置文件参数更能够帮助读者们理解Samba服务的安全验证方式。 安装Samba服务软件包 [rootlinuxprobe Desktop]# yum install samba
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:samba x86_64 4.1.1-31.el7 rhel7 527 k
………………省略部分安装过程………………
Complete!浏览Samba配置文件 [rootlinuxprobe ~]# cat/etc/samba/smb.conf配置文件竟然有320行有没有被吓到其实Samba服务配置文件中大部分是注释信息我们可以来筛选过滤下 备份原始的配置文件 [rootlinuxprobe ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak过滤掉无用的内容 先使用cat命令读入Smb配置文件后通过grep命令-v参数反向选择去掉所有注释信息然后分别删选掉包含#号的行(#)包含;号的行(;)以及所有的空白行(^$)最后最后将过滤后的信息覆盖写入到/etc/samba/smb.conf文件中。 cat /etc/samba/smb.conf.bak | grep -v # | grep -v ; | grep -v ^$ /etc/samba/smb.conf让我们来看看过滤后的配置文件吧 编辑[global] #全局参数。 workgroup MYGROUP#工作组名称。 server string Samba Server Version %v#服务器介绍信息,参数%v为显示SMB版本号。 log file /var/log/samba/log.%m#定义日志文件存放位置与名称参数%m为来访的主机名。 max log size 50#定义日志文件最大容量为50Kb。 security user#安全验证的方式,总共有4种。 #share:来访主机无需验证口令更加方便但安全性很差。 #user:需由SMB服务验证来访主机提供的口令后才可建立访问,更加的安全。 #server:使用独立的远程主机验证来访主机提供的口令集中管理帐号。 #domain:使用PDC来完成验证 passdb backend tdbsam#定义用户后台的类型共有3种。 #smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码。 #tdbsam:创建数据库文件并使用pdbedit建立SMB独立的用户。 #ldapsam:基于LDAP服务进行帐户验证。 load printers yes#设置是否当Samba服务启动时共享打印机设备。 cups options raw#打印机的选项[homes] #共享参数 comment Home Directories#描述信息 browseable no#指定共享是否在“网上邻居”中可见。 writable yes#定义是否可写入操作与read only相反。[printers] #打印机共享参数 comment All Printers path /var/spool/samba#共享文件的实际路径(重要)。 browseable no guest ok no#是否所有人可见等同于public参数。 writable no printable yes 标准的Samba共享参数是这样的 编辑参数作用[linuxprobe]共享名称为linuxprobecomment Do not arbitrarily modify the database file警告用户不要随意修改数据库path /home/database共享文件夹在/home/databasepublic no关闭所有人可见writable yes允许写入操作 我们将上面的配置参数直接追加到SMB服务配置文件(/etc/samba/smb.conf)并重启SMB服务程序即可生效。 但此时SMB服务默认的验证模式为user我们需要先创建用户数据库后才可以正常使用现在来学习下如何创建吧~ 12.2.2 安全共享文件 使用Samba服务口令验证方式可以让共享文件更加的安全做到仅让信任的用户访问而且验证过程也很简单要想使用口令验证模式我们需要先需要创建Samba服务独立的数据库。 第1步:检查当前是否为user验证模式。 [rootlinuxprobe ~]# cat /etc/samba/smb.conf第2步:创建共享文件夹 [rootlinuxprobe ~]# mkdir /database第3步:描述共享文件夹信息。 在SMB服务主配置文件的最下面追加共享文件夹的配置参数 [database] comment Do not arbitrarily modify the database file path /database public no writable yes 保存smb.conf文件后重启启动SMB服务 [rootlinuxprobe ~]# systemctl restart smb添加到开机启动项 [rootlinuxprobe ~]# systemctl enable smbln -s /usr/lib/systemd/system/smb.service /etc/systemd/system/multi-user.target.wants/smb.service 第4步使用Windows主机尝试访问 读者按照下表的IP地址规划动手配置下Windows的网卡参数应该都会吧~ 编辑主机名称操作系统IP地址Samba共享服务器红帽RHEL7操作系统192.168.10.10客户端红帽RHEL7操作系统192.168.10.20客户端微软Windows7操作系统192.168.10.30 在Windows主机的运行框中输入远程主机的信息 此时访问Samba服务报错 此时访问Samba服务是报错的如果读者已经看完Apache(httpd)服务程序的章节应该还记得防火墙和SELinux规则吧。 第5步:清空防火墙规则链 Windows访问Samba主机提示报错我们怀疑是Iptables阻止了访问操作于是执行 [rootlinuxprobe ~]# Iptables -F
[rootlinuxprobe ~]# service iptables save因为Windows系统的缓存关系可能需要先重启下Windows主机再尝试访问Samba共享。 Windows系统被要求验证帐户口令 那么这个问题就是出在Iptables防火墙的默认规则中了所以请对SELinux多一点耐心不要直接关闭SELinux。 第6步:创建SMB服务独立的帐号。 现在Windows系统要求先验证后才能访问共享而SMB服务配置文件中密码数据库后台类型为tdbsam所以这个帐户和口令是Samba服务的独立帐号信息我们需要使用pdbedit命令来创建SMB服务的用户数据库。 pdbedit命令用于管理SMB服务的帐户信息数据库格式为“pdbedit [选项] 帐户”。 编辑参数作用-a 用户名建立Samba用户-x 用户名删除Samba用户-L列出用户列表-Lv列出用户详细信息的列表创建系统用户 [rootlinuxprobe ~]# useradd smbuser将此系统用户提升为SMB用户 [rootlinuxprobe ~]# pdbedit -a -u smbuser
new password:设置SMB服务独立的密码
retype new password:
Unix username: smbuser
NT username:
Account Flags: [U ]
User SID: S-1-5-21-4146456071-3435711857-2069708454-1000
Primary Group SID: S-1-5-21-4146456071-3435711857-2069708454-513
Full Name:
Home Directory: \\linuxprobe\smbuser
HomeDir Drive:
Logon Script:
Profile Path: \\linuxprobe\smbuser\profile
Domain: LINUXPROBE
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: Wed, 06 Feb 2036 23:06:39 CST
Kickoff time: Wed, 06 Feb 2036 23:06:39 CST
Password last set: Sat, 11 Jul 2015 18:27:04 CST
Password can change: Sat, 11 Jul 2015 18:27:04 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF第7步:使用Windows主机验证共享结果 请您按照下面的幻灯片逐步操作可点击图片两侧箭头或下方小圆点“○”切换步骤。 Windows验证SMB服务口令 Windows成功访问SMB服务 Windows进入共享目录失败 第8步允许SELinux规则 使用Windows主机访问Samba共享果然可以使用smbuser用户登入但对于共享文件这么重要的事情SELinux一定会强制管理刚刚没有妥当的配置好SELinux现在果然又报错了。 将共享目录的所有者和所有组设置为smbuser用户 [rootlinuxprobe ~]# chown -Rf smbuser:smbuser /database允许SELinux对于SMB用户共享家目录的布尔值 [rootlinuxprobe ~]# setsebool -P samba_enable_home_dirs on将共享目录的SELinux安全上下文设置妥当 [rootlinuxprobe ~]# semanage fcontext -a -t samba_share_t /database使新的安全上下文立即生效 [rootlinuxprobe ~]# restorecon -Rv /database/第9步使用Windows主机验证共享结果 我们配置好Samba服务后又陆续的调整好了Iptables防火墙与SELinux安全规则现在终于可以正常的使用共享了。 使用SMB服务并创建文件 第10步使用Linux主机验证共享结果 刚刚好像让读者产生了一些小误解Samba服务程序并不仅仅是能够实现Linux与Windows系统间的文件共享还可以实现Linux系统之间的文件共享哦先动手配置下客户端主机的IP地址吧 编辑主机名称操作系统IP地址Samba共享服务器红帽RHEL7操作系统192.168.10.10客户端红帽RHEL7操作系统192.168.10.20客户端微软Windows7操作系统192.168.10.30 在客户端安装cifs-utils软件包 [rootlinuxprobe ~]# yum install -y cifs-utils
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
Installing:cifs-utils x86_64 6.2-6.el7 rhel7 83 k
………………省略部分安装过程………………
Complete!创建挂载目录 [rootlinuxprobe ~]# mkdir /database在root家目录创建认证文件(依次为SMB用户名、SMB用户密码、SMB共享域) [rootlinuxprobe ~]# vim auth.smb
usernamesmbuser
passwordredhat
domainMYGROUP此文件太重要了权限应该给小一些 [rootlinuxprobe ~]# chmod -Rf 600 auth.smb配置其挂载信息内容依次为远程共享信息、本地挂载目录、文件系统类型、认证文件以及开机自检选项 [rootlinuxprobe ~]# vim /etc/fstab
//192.168.10.10/database /database cifs credentials/root/auth.smb 0 0使用mount命令的-a参数挂载所有在fstab文件中定义的文件信息 [rootlinuxprobe ~]# mount -a成功挂载Samba的共享目录能够看到共享文件了 [rootlinuxprobe ~]# cat /database/Memo.txt
i can edit it .Samba服务真的是太强大了不仅能够实现Linux系统之间分享数据还能与Windows主机进行文件共享。 出现问题?大胆提问! 因读者们硬件不同或操作错误都可能导致实验配置出错请耐心再仔细看看操作步骤吧不要气馁~ Linux技术交流请加A群560843(满)B群340829(推荐)C群463590推荐点此查看全国群。 *本群特色通过口令验证确保每一个群员都是《Linux就该这么学》的读者答疑更有针对性不定期免费领取定制礼品。 12.3 NFS网络文件系统 NFS(Network Files System)即网络文件系统NFS文件系统协议允许网络中的主机通过TCP/IP协议进行资源共享NFS客户端可以像使用本地资源一样读写远端NFS服务端的资料需要注意NFS服务依赖于RPC服务与外部通信所以必需保证RPC服务能够正常注册服务的端口信息才能正常使用NFS服务。 有个学员问过NFS是不是need for speed的缩写啊哈哈NFS配置和使用都是非常快捷所以这么说也是有道理的。 红帽RHEL7系统已经默认安装NFS服务 [rootlinuxprobe ~]# yum install nfs-utils
Loaded plugins: langpacks, product-id, subscription-manager
(1/2): rhel7/group_gz | 134 kB 00:00
(2/2): rhel7/primary_db | 3.4 MB 00:00
Package 1:nfs-utils-1.3.0-0.el7.x86_64 already installed and latest version
Nothing to do本次的实验需要两台Linux主机网络配置情况 编辑主机名称操作系统IP地址NFS服务端红帽RHEL7操作系统192.168.10.10NFS客户端红帽RHEL7操作系统192.168.10.20第1步:创建NFS服务端的共享目录。 清空iptables默认的规则链 [rootlinuxprobe ~]# iptables -F保存清空后的iptables规则 [rootlinuxprobe ~]# service iptables save创建nfsfile共享目录 [rootlinuxprobe ~]# mkdir /nfsfile为共享目录设置权限让其他人可以有写入权限 [rootlinuxprobe ~]# chmod -Rf 777 /nfsfile写入一个文件用于NFS客户端读取 [rootlinuxprobe ~]# echo welcome to linuxprobe.com /nfsfile/readmeNFS服务端配置文件是/etc/exports用于定义要共享的目录以及相应权限。 [rootlinuxprobe ~]# vim /etc/exports
//格式为:共享目录的绝对路径 允许访问NFS资源的客户端(权限参数)
/nfsfile 192.168.10.* (rw,sync,root_squash)NFS配置共享的参数有 编辑参数作用ro只读默认rw读写模式root_squash当NFS客户端使用root用户访问时映射为NFS服务端的匿名用户。no_root_squash当NFS客户端使用root用户访问时映射为NFS服务端的root用户。all_squash不论NFS客户端使用任何帐户均映射为NFS服务端的匿名用户。sync同时将数据写入到内存与硬盘中保证不丢失数据。async优先将数据保存到内存然后再写入硬盘效率更高但可能造成数据丢失。看完后来分析下/etc/exports文件中参数作用吧“/nfsfile 192.168.10.* (rw,sync,no_root_squash)”答案模式。 答案:将/nfsfile目录共享给192.168.10.0/24网段运行NFS客户端读写数据、同步数据并映射为NFS服务器的root用户。 第2步:启动NFS服务端 刚刚讲到NFS服务是依赖于RPC服务的但在红帽RHEL7系统中RPC服务已经默认运行(active)了所以无需再配置RPC服务啦。 [rootlinuxprobe ~]# systemctl status rpcbind启动nfs-server程序 [rootlinuxprobe ~]# systemctl start nfs-server设置NFS服务端为开机启动 [rootlinuxprobe ~]# systemctl enable nfs-server第3步配置NFS客户端 如果NFS客户端也是红帽RHEL7系统那么软件包nfs-utils一定也是已经默认安装直接挂载共享就可以了。showmount命令用于查询NFS服务端共享信息格式为“showmount [参数] [远程主机]”。 编辑参数作用-e显示NFS服务端的共享列表-a显示本机挂载NFS资源的情况-v显示版本号查询远程NFS服务端中可用的共享资源 [rootlinuxprobe ~]# showmount -e 192.168.10.10
Export list for 192.168.10.10:
/nfsfile (everyone)创建本地挂载目录 [rootlinuxprobe ~]# mkdir /nfsfile
[rootlinuxprobe ~]# mount -t nfs 192.168.10.10:/nfsfile /nfsfile顺利查看到刚刚写入文件内容 [rootlinuxprobe ~]# cat /nfsfile/readme
welcome to linuxprobe.com如果希望开机后自动将NFS资源挂载到本地那么就可以通过修改fstab文件来实现 [rootlinuxprobe ~]# vim /etc/fstab
192.168.10.10:/nfsfile /nfsfile nfs defaults 0 012.4 AutoFs自动挂载服务 AutoFs服务与Mount/Umount命令不同之处在于它是一种守护进程只有检测到用户试图访问一个尚未挂载的文件系统时才自动的检测并挂载该文件系统换句话说将挂载信息填入/etc/fstab文件后系统将在每次开机时都自动将其挂载而运行AutoFs后则是当用户需要使用该文件系统了才会动态的挂载节约网络与系统资源。 模拟训练:每次进入/media/iso目录时都会自动挂载镜像。 编辑主机名称操作系统IP地址NFS服务端红帽RHEL7操作系统192.168.10.10NFS客户端红帽RHEL7操作系统192.168.10.20安装autofs服务 [rootlinuxprobe ~]# yum install autofs
………………省略部分安装过程………………
Installing:
autofs x86_64 1:5.0.7-40.el7 rhel 550 k
Installing for dependencies:
hesiod x86_64 3.2.1-3.el7 rhel 30 k
………………省略部分安装过程………………
Complete!启动autofs服务并加入到开机启动项中 [rootlinuxprobe ~]# systemctl start autofs[rootlinuxprobe ~]# systemctl enable autofsln -s /usr/lib/systemd/system/autofs.service /etc/systemd/system/multi-user.target.wants/autofs.service 修改autofs主配置文件格式为挂载目录 映射配置文件 [rootlinuxprobe ~]# vim /etc/auto.master
/media /etc/iso.misc编辑挂载配置参数文件映射文件 [rootlinuxprobe ~]# vim /etc/iso.misc
iso -fstypeiso9660,ro,nosuid,nodev :/dev/cdrom重新加载启动autofs服务 [rootlinuxprobe ~]# systemctl restart autofs进入自动挂载目录中 [rootlinuxprobe ~]# cd /media/iso查看当前目录下的文件 [rootlinuxprobe iso]# ls
addons images Packages RPM-GPG-KEY-redhat-release
EFI isolinux release-notes TRANS.TBL
EULA LiveOS repodata
GPL media.repo RPM-GPG-KEY-redhat-beta转载于:https://www.cnblogs.com/linux130/p/5759612.html