一、NFS
(⼀)什么是NFS服务
NFS网络文件系统 主要用于linux系统上实现文件共享的⼀种协议,其客户端主要是Linux 没有⽤户认证机制,且数据在网络上传送的时候是明文传送,⼀般只能在局域网中使用支持多节点同时挂载及并发写入
该服务包括的组件:
RPC:远程过程调用协议,它是⼀种通过网络从远程计算机程序上请求服务,不需要了解 底层网络技术的协议。
rpcbind //负责NFS的数据传输,远程过程调⽤ ==tcp/udp协议 端⼝111
nfs-utils //控制共享哪些⽂件,权限管理
(⼆)NFS服务的依赖
[root@nfs-server ~]# rpm -q rpcbind
rpcbind-0.2.0-11.el6.x86_64
[root@nfs-server ~]# rpm -aq|grep ^nfs
nfs-utils-1.2.3-39.el6.x86_64
nfs-utils-lib-1.1.5-6.el6.x86_64
nfs4-acl-tools-0.3.3-6.el6.x86_64
(三)配置⽂件作用
/etc/exports
/nfs/share *(ro,sync)
# 共享目录 共享选项
共享主机:
* :代表所有主机
共享选项:
ro:只读
rw:读写
sync:实时同步,直接写⼊磁盘
async:异步,先缓存在内存再同步磁盘
anonuid:设置访问nfs服务的⽤户的uid,uid需要在/etc/passwd中存在
1. 搭建NFS-Server 服务
1)创建共享⽬录及⽹站的静态资源⽂件
mkdir /share
echo "hello 来到我的世界" > /share/index.html
2)发布共享⽬录
[root@nfs-server ~]# cat /etc/exports
/share 10.1.1.0/24(ro)
3)启动服务检查端⼝是否监听
[root@nfs-server ~]# netstat -nltpu|grep rpcbind
2. 搭建web服务
1)安装软件
[root@web-server ~]# rpm -q httpd httpd-2.2.15-29.el6.centos.x86_64
2)挂载nfs-server端共享⽬录
[root@web-server ~]# mount -t nfs 10.1.1.12:/share /var/www/html/media
3. 测试验证
Windows: http://10.1.1.2
Linux:
# yum -y install elinks
# elinks http://10.1.1.2
4. 实现nfs-server端的数据文件实时同步
nfs-server服务器上:
关闭防火墙
关闭selinux
# yum -y install inotify-tools
# vim inotify.sh
#!/bin/bash
inotifywait -mrq -e modify,delete,create,attrib,move /share |while read events
do
rsync -av --delete /share/ root@192.168.2.199:/share
done
# ssh-keygen
# ssh-copy-id root@192.168.2.199
# chmod a+x inotify.sh
# ./inotify.sh
# nohup ./inotify.sh&
同步服务器(bak-server)上:
关闭防火墙
关闭selinux
安装async
二、samba
(一)SMB协议实现⽂件共享,
SMB是Windows和类Unix系统之间共享⽂件的⼀种协议
客户端==主要是Windows==;
⽀持多节点同时挂载以及并发写⼊ 主要⽤于windows和Linux下的⽂件共享、打印共享
(二)配置⽂件
/etc/samba/smb.conf
[global] 全局选项
workgroup = MYGROUP 定义samba服务器所在的⼯作组
server string = Samba Server Version %v smb服务的描述
log file = /var/log/samba/log.%m ⽇志⽂件
max log size = 50 ⽇志的最⼤⼤⼩KB
security = user 认证模式:share匿名|user⽤户密
码|server外部服务器⽤户密码
passdb backend = tdbsam 密码格式
load printers = yes 加载打印机
cups options = raw 打印机选项
[homes] 局部选项(共享名称)
comment = Home Directories 描述
browseable = no 隐藏共享名称
writable = yes 可读可写
[printers] 共享名称
comment = All Printers 描述
path = /var/spool/samba 本地的共享⽬录
browseable = no 隐藏
guest ok = no ——> public = no 需要帐号和密码访问
writable = no ——> read only =yes 不可写
printable = yes 打印选项
[share]
path = /dir1
guest ok = no
writable = yes
(三)搭建⼀个SAMBA服务,共享⼀个⽬录/samba/share,客户端使⽤user01/123通过 windows或者Linux可以在该⽬录⾥创建⽂件删除⽂件
1)安装软件
[root@smb-server ~]# yum -y install samba
2)创建⼀个共享⽬录
mkdir /samba/share -p
3) 修改配置⽂件
vim /etc/samba/smb.conf
...
[smb_share]
comment = samba service
path = /samba/share
guest ok = no
writable = yes
或者
[samba_share]
path = /samba/share
public = no
writable = yes
4) 创建⼀个本地⽤户并且加⼊到samba数据库⾥
[root@smb-server samba]# useradd user01
[root@smb-server samba]# id user01
uid=508(user01) gid=510(user01) groups=510(user01)
[root@smb-server samba]# which smbpasswd
/usr/bin/smbpasswd
[root@smb-server samba]# rpm -qf /usr/bin/smbpasswd
samba-common-3.6.23-51.el6.x86_64
[root@smb-server samba]# smbpasswd -a user01
New SMB password:
Retype new SMB password:
Added user user01.
5)启动服务
systemctl start nmb.service
systemctl start smb.service
6)测试验证
Linux下:
yum -y install samba-client
查看samba服务共享资源:
smbclient //192.168.2.199/smb_share -U user01
挂载共享资源
yum -y install cifs-utils
mkdir aaa
mount.cifs -o user=user01,pass=123 //192.168.2.199/smb_share ~/aaa/