nfs服务
首先下载nfs-utils ,
接着在防火墙中加入服务
服务器中
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload
firewall-cmd --list-all
systemctl start nfs ##启动服务
vim /etc/exports
/mnt/ *(async)
exportfs -rv #读取文件中的配置
客户端中
showmount -e ip
若没问题会显示Export list for ip:
/mnt *
mount ip:/mnt/ /mnt/ ##将文件挂载 ,两个就同步了
自动挂载卸载
将上一步实验挂载的全部卸载掉,在客户端中下载autofs.x86_64,
systemctl start autofs ##将服务开启
开启服务将自动生成一个/net/目录,进入之后 cd ip ##进入输入ip的特定目录中,
ls可以查看到有东西,cd继续进入目录中,其他主机的文件就可以看到。
退出这个目录,等待一段时间使用df查看,文件没有被挂载,但是进入/net/后又会被挂载了,这个时间也是可以进行设置的,配置文件在/etc/sysconfig/autofs中。
如果我们想让其特定的进行挂载,可以对主策略文件进行更改/etc/auto.master
添加一行 /在服务器上挂载的文件 /etc/auto.在服务器上挂载的文件名
/mnt /etc/auto.mnt
再配置/etc/auto.mnt(这个文件没有,自己建立)
里面文件内容
名目录 -rw ip:/mnt ##文件挂载位置 文件权限 源地址
设置好了以后自己建立文件挂载位置。
这样配置完成,进入设置的目录,ls是看不到任何东西的,但是使用cd是可以进入的,进入之后就能看到共享文件。
让远程可以进行写入等操作,
在服务器上首先启动nfs服务,更改权限在/etc/exports文件中,
/mnt/ *(async,rw,no_root_squash) ##使远程主机可以以root身份进行写入,
exportfs -rv ##读取文件是生效,
在客户端
启动autofs服务,在设定的目录中就可以建立删除。
一次性设定多个权限
在/etc/exports文件中,
/mnt/ *(ro) 172.25.254.166(async,rw,anonuid=1000,anongid=1000) ##让其他用户只读
,让特定ip的用户可以有读写权力,并且建立的文件以ugid为1000的用户和组出现。
samba共享
服务器安装
yum install samba samba-common samba-client -y
systemctl start smb
systemctl stop firewalld.service
smbclient -L //本机ip ##连接自己的主机
smbpasswd -a 用户名 ##在本机服务添加用户但是用户必须存在
pdbedit -L ##查看用户
在客户端
yum install samba-client.x86_64 -y
smbclient -L //服务器ip ##查看服务器共享文件
挂载共享
在服务端
建立用户
smbpasswd -a 用户 ##用户需真实存在
pdbedit -L 查看用户是否添加
在客户端
配置/etc/auto.master文件
添加/samba /etc/auto.samba
配置/etc/auto.samba文件
用户 -fstype=cifs,username=用户名,password=密码 ://ip/用户目录
再将起挂载上去
mount //ip/用户 /mnt/ -o username=用户名,password=密码
如果没有权限将服务器的selinux关闭。
共享文件的主配置文件
/etc/samba/smb.conf ,修改里面的参数修改里面的数据
本来客户端使用smbclient -L //服务器地址 命令
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
--------- -------
Workgroup Master
--------- -------
其中Domain=[MYGROUP]这个工作站名的修改在修改这一行workgroup = 设置工作站名
在这一行下面可以设置hosts deny=;hosts allow=;用户黑白名单。
在最后可以设置共享目录
[名字]
comment = 名字解释
path = /共享的目录 ##这个目录需要真实存在
设置匿名用户可以登陆共享
加入
```bash
`guest ok = yes ##允许匿名登陆`
在前面加上
map to guest = bad user ##定义匿名用户
正确登陆后为
Domain=[PASSAGE] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
. D 0 Tue Nov 5 22:55:22 2019
.. D 0 Tue Nov 5 22:55:22 2019
40913 blocks of size 262144. 28513 blocks available
在/etc/samba/smb.conf文件中,
writable = yes ##所有人可写能力。
write list= 用户 ##指定用户可以写 在用户前面加上@或者+代表这个用户组可写
valid users = 用户 ##指定用户可以挂载
browseable = no|yes ##使用命令smbclient -L //服务器ip 后是否可以显示出信息。
selinux设定
两种情况
1,自己建立的目录
打开selinux在客户端不能操作,原因为安全上下文,在主配置文件中,最上面给了解决方法,将设定目录的安全上下文设置为samba_share_t。
semanage fcontext -a -t samba_share_t '/westos(/.*)?'
restorecon -RvvF /westos/
设置完成,在客户端进行挂载ls就能看到里面的文件内容。
2,分享系统文件
系统文件不能随便更改安全上下文,需要修改布尔值。
getsebool -a | grep samba ##查看布尔值
setsebool -P xxxxxxxx##修改布尔值
多用户挂载
yum install cifs-utils.x86_64 #下载插件
建立/root/smbpassfile文件,文件中写入用户和密码
username=aaa
password=qwe
chmod 600 /root/smbpassfile ##将这个文件权限修改
mount -o credentials=/root/smbpassfile,sec=ntlmssp,multiuser //172.25.254.66/passy /mnt/ ##读取哪个文件 sec=认证方式 开启多用户
su - 用户 ##更改到其他用户
一般访问被拒绝,若要访问,需要使用已知的samba用户登陆
cifscreds add -u westos 172.25.254.66
输入密码