# 官方提供@yunTaoScripts 文件共享 🔥🔥

loading

# NFS 网络文件系统

实现类unix(linux、unix)系统之间的文件共享

firewall-cmd --get-default-zone  
firewall-cmd --set-default-zone=trusted ## 关闭防火墙
  • vim /etc/exports
/data 192.168.26.0/24(rw,no_root_squash)  ##限制访问网段
/data *192.168.26.0/24*(rw,no_root_squash) ##不限制
  • exportfs -avr

参数解释

  • a: 生效所有/etc/exports配置
  • v:输出结果
  • r:重新加载/etc/exports配置
  • 在另一台机器上 查看 并挂载
showmount -e 192.168.26.129
mount 192.168.26.129:/data /data/

# 永久挂载

cat /etc/fstab

/dev/sdb1	                     /root/xyt               xfs     defaults        0 0
192.168.26.129:/data	         /data                   nfs     defaults        0 0

# samba客户端

类unix 和 windows 之间的共享。

  • 查看windows共享的目录
C:\Users\Yuntao>net share
共享名       资源                            注解
-------------------------------------------------------------------------------
C$           C:\                             默认共享
D$           D:\                             默认共享
IPC$                                         远程 IPC
ADMIN$       C:\WINDOWS                      远程管理
Users        C:\Users
命令成功完成。
  • 查看windows用户
C:\Users\Yuntao Xu>net user
\\DESKTOP-F5PRM04 的用户帐户
-------------------------------------------------------------------------------
__HSKDDNS_USER__         Administrator            DefaultAccount
Guest                    Ling Jin                 WDAGUtilityAccount
命令成功完成。
  • 新增tom 用户
PS C:\WINDOWS\system32> net user tom 123456 /add
命令成功完成。

# 查看服务器共享目录

  • 安装客户端
yum whatprovides smbclient
yum install samba-client -y
  • 查看共享目录
[root@server1 /]# smbclient -L //192.168.26.1 -U tom
Enter SAMBA\tom's password: 
	Sharename       Type      Comment
	---------       ----      -------
	ADMIN$          Disk      远程管理
	C$              Disk      默认共享
	D$              Disk      默认共享
	IPC$            IPC       远程 IPC
	Users           Disk     
[root@server1 /]# smbclient -L //192.168.26.1 -U tom%123456
	Sharename       Type      Comment
	---------       ----      -------
	ADMIN$          Disk      远程管理
	C$              Disk      默认共享
	D$              Disk      默认共享
	IPC$            IPC       远程 IPC
	Users           Disk      

# 访问共享

  • 首先在windows 设置共享文件夹,共享用户。
[root@server1 ~]# smbclient //192.168.26.1/share -U tom%123456
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Mon Jul 25 10:51:25 2022
  ..                                DHS        0  Mon Jul 25 10:51:29 2022

		122096127 blocks of size 4096. 37149381 blocks available
  • 挂载使用
mount -o user=tom //192.168.26.1/share /smb/
mount -o username=tom,password=123456 //192.168.26.1/share /smb/

如果挂载失败可能缺少cifs包

yum install -y cifs-utils
  • 永久挂载 cat /etc/fstab
//192.168.26.1/share   /smb  cifs     defaults,username=tom,password=123456    0 0

# autofs

不用的时候不挂载,需要使用的时候自动挂载。

# 挂载光盘

  • vim /etc/auto.master.d/aa.autofs
  • 实现/111/222/dvd 自动 挂载光盘
/111/222  /etc/auto.aaa
  • vim /etc/auto.aaa
dvd -fstype=iso9660,ro     :/dev/cdrom ##本地设备

注意格式

  • tab隔开
  • name.autofs #必须以autofs结尾,
systemctl enable  autofs.service --now

# 挂载nfs

  • vim /etc/auto.master.d/aa.autofs
  • 实现/333/444/nfs 自动 挂载nfs
/-  /etc/auto.bbb

请注意

  • /-这种方式在挂载后,是可以看见/333/444/文件夹原有的内容的
  • /111/222 这种方式在自动挂载后看不见其目录原有内容
  • vim /etc/auto.bbb
/333/444/nfs -fstype=nfs,rw     192.168.26.129:/data ##nfs 设备
systemctl restart  autofs.service 

# 用户家目录自动挂载 实战

  • 在server1上 执行
[root@server1 ~]# cat /etc/exports
/yhome 192.168.26.0/24(rw,no_root_squash)
[root@server1 ~]# exportfs -avr
[root@server2 ~]# cat user.sh 
#!/bin/bash
declare -i n=0
for i in $(seq 1 10);do
	let n=n+1
	uid=$((2000+i))
	username=user$n
	useradd -d /yhome/${username} -u $uid $username
	echo 123456 |passwd --stdin $username
	echo "$username $uid"	
	
done
  • 在server2 上执行
[root@server2 ~]# cat user.sh 
#!/bin/bash
declare -i n=0
for i in $(seq 1 10);do
	let n=n+1
	uid=$((2000+i))
	username=user$n
	useradd -d /yhome/${username} -u $uid -M $username
	echo 123456 |passwd --stdin $username
	echo "$username $uid"	
	
done
[root@server2 ~]# cat /etc/auto.master.d/yhome.autofs 
/yhome	/etc/auto.yhome
[root@server2 ~]# cat /etc/auto.yhome 
user1	-fstype=nfs,rw	192.168.26.129:/yhome/user1
*	-fstype=nfs,rw	192.168.26.129:/yhome/&
[root@server2 ~]# systemctl restart autofs.service

创建用户脚本有点不一样

  • -M 指定不创建家目录 在server2 su - user2 也不会报错
*	-fstype=nfs,rw	192.168.26.129:/yhome/&
  • *匹配任意用户,&指代匹配到的用户。
最后修改时间: 12/31/2022, 12:00:03 PM