NFS是Network File System的缩写,即网络文件系统。客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下。
SMB是Server Messages Block(信息服务块)的缩写,是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
NFS服务安装与配置
查看是否安装NFS
rpm -qa nfs-utils rpcbind
yum install nfs-utils rpcbind
启动rpcbind服务
查看服务状态
systemctl status rpcbind.service
如果不知道rpcbind命令在哪
which rpcbind
启动rpc服务
systemctl restart rpcbind.service
查看rpc
lsof -i :111
netstat -lntup|grep rpcbind
如果出现-bash未找到命令可执行下面命令
yum install net-tools lsof
查看nfs服务向rpc注册的端口信息
rpcinfo -p localhost
检查rpcbind是否开机启动
chkconfig --list rpcbind
启动NFS服务
systemctl start nfs.service
查看状态
systemctl status nfs.service
再次查看rpc注册的端口信息
rpcinfo -p localhost
配置NFS开机自启动
chkconfig rpcbind on
chkconfig nfs on
chkconfig --list rpcbind
chkconfig --list nfs
NFS服务端配置
vi /etc/exports
exports文件配置格式:
NFS共享的目录 NFS客户端地址1(参数1,参数2,...) 客户端地址2(参数1,参数2,...)
说明:
NFS共享目录:
要用绝对路径,可被nfsnobody读写。
NFS客户端地址:
指定IP: 192.168.0.1
指定子网所有主机: 192.168.0.0/24
指定域名的主机: test.com
指定域名所有主机: *.test.com
所有主机: *
参数:
ro:目录只读
rw:目录读写
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:与rootsquash取反
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户
例如:
/data/tmp 192.168.1.0/24(rw,sync,all_squash)
创建需要共享的目录
mkdir -p /data/tmp
chown nfsnobody.nfsnobody /data/tmp
重新加载nfs配置
exportfs -rv
查看nfs服务器挂载情况
showmount -e localhost
SMB服务安装与配置
准备一台windows系统的电脑,确保windows的工作组和samba的工作组一致,比如我的电脑工作组是WORDGROUP
net config workstations
安装
yum install samba samba-client samba-common
配置
samba的配置文件路径/etc/samba/smb.conf
cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak
然后清空smb.conf,cat /dev/null比一条条删除快很多。
cat /dev/null > /etc/samba/smb.conf
用户配置
创建组
groupadd smbgrp
添加用户
useradd admin -G smbgrp
设置密码
smbpasswd -a admin
给予权限
mkdir -p /samba/secured
cd /samba
chown -R admin:smbgrp secured/
然后再编辑/etc/samba/smb.conf,添加如下内容到文件末尾。
[secured]
path = /samba/secured
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes
重启samba服务
systemctl restart smb.service
systemctl restart nmb.service
防火墙
firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload
相关内容:win10如何开启电脑的smb功能?