一、NFS(用于linux之间文件共享)

1.服务端安装

yum install nfs-utils -y  这个步骤在所有需要用nfs服务的机器都要安装,但是下面的操作只需要在作为nfs服务的机器上操作就行
启动服务并设置开机启动:
systemctl start nfs 
systemctl enable nfs

1.2编辑/etc/exports文件

```

mkdir -p /mnt/zwzc/test #创建共享目录

chmod 777 /mnt/zwzc/test#开放权限

vi /etc/exports #进入编辑

/mnt/zwzc/test 192.168.0.0/24(rw,sync,all_squash)

exportfs -rv #刷新nfs加载共享目录列表

service nfs restart #重启nfs

```

![image-1676703601119](https://zmzycc.top/upload/2023/02/image-1676703601119.png)

至此服务端安装完成

2.客户端安装/挂载

```

yum install -y nfs-utils

systemctl stop firewalld 关闭防火墙

setenforce 0

showmount -e 192.168.0.135

```

![image-1676703757648](https://zmzycc.top/upload/2023/02/image-1676703757648.png)

```

mkdir /mnt/web

chmod 777 /mnt/test #文件夹赋权限

mount -t nfs 192.168.0.135:/mnt/zwzc/test /mnt/test #绑定服务端共享文件,指定格式是nfs

开机自动挂载

vi /etc/fstab

192.168.0.135:/mnt/zwzc/test /mnt/test nfs defaults 0 0

卸载挂载文件夹

umount /mnt/test

```

查看如图,则成功

![image-1676704570853](https://zmzycc.top/upload/2023/02/image-1676704570853.png)

二、Samba(用于linux与windows文件共享)

server上

准备好后,我们要在server端开始创建两个用户,注意这两个用户是系统无法登录用户

```

useradd -s /bin/nologin user01

useradd -s /bin/nologin user01

```

我们做这个服务是为了能够实现文件共享,为此,我们还要准备一个共享的文件 /share,并且设置其文件权限为777

```

mkdir /share

chmod -R 777 /share/

```

现在就在server上通过yum来安装samba服务测序

```

yum -y install samba

```

创建samba账号,用我们最开始创建的user01和user02用户,密码设置为123456

```

smbpasswd -a user01

smbpasswd -a user02

```

也可以用

```

pdbedit -a -u user01

pdbedit -a -u user02

```

先进入到samba的配置文件中

```

vim /etc/samba/smb.conf

[myshare] # 自定义共享名

comment = public document # 描述符,是给系统管理员看的

path = /share # 共享的路径

public = no # 是否公开,也就是是否能在网上邻居看到该共享

browseable = Yes # 共享的目录是否让所有人可见

writable = Yes # 是否可写

```

重启一下smb服务

systemctl restart smb

让后我们还有去将firewalld防火墙和seLinux也要配置,因为默认情况下的话,防火墙是不允许samba服务进行的。

```

firewall-cmd --add-service=samba --permanent

firewall-cmd --reload

```

但是有一点要要注意了,防火墙是同意了,seLinux可没有允许啊,为此,我们还要去设置selinux安全上下文。

```

chcon -R -t samba_share_t /share

```

到这里基本上是够了,但是如果需要samba服务程序访问普通用户家目录或者是共享用户的家目录,我们需要打开sebool设置,

```

setsebool -P samba_enable_home_dirs on

```

我们可以通过getsebool 命令筛选出有关samba服务程序相关的SELinux域策略,但是还是需要策略的名称(经验)选择出正确的策略开启就行了或者直接关闭SELinux也可

```

[共享文件夹] # 自定义共享名

comment = Home Directories # 描述符,是给系统管理员看的

path = /home/share # 共享的路径

public = yes # 是否公开,也就是是否能在网上邻居看到该共享

browseable = yes # 共享的目录是否让所有人可见

writable = yes # 是否可写

guest ok = no # 是否拒绝匿名访问,仅当安全级别为 share 时才生效

workgroup = WORKGROUP # 工作组,要设置成跟 Windows 的工作组一致

server string = Samba Server Version %v # 其他 Linux 主机查看共享时的提示符

netbios name = MYSERVER # 用于在 Windows 网上邻居上显示的主机名

hosts allow = 127. 192.168.12. 192.168.13. EXCEPT 192.168.13.13 # 指定允许访问 samba 服务器的主机

security = share # 定义安全级别

log file = /var/log/samba/log.%m # 定义日志文件,每个访问的主机会产生独立的日志文件,%m 是客户端主机名

max log size = 50 # 定义单个日志的最大容量(KB)

passdb backend = tdbsam # Samba 用户的存储方式,smbpasswd 表示明文存储,tdbsam 表示密文存储

deadtime = 10 # 客户端在10分钟内没有打开任何 Samba 资源,服务器将自动关闭会话,在大量的并发访问环境中,这样的设置可以提高服务器性能

display charset = UTF8 # 设置显示的字符集

max connections = 0 # 设置最大连接数,0表示无限制,如果超过最大连接数则拒绝连接

guest account = nobody # 设置匿名账户为nobody

load printers = yes # 是否在启动 Samba 时就共享打印机

cups options = raw # 设置打印机使用的方式

valid users = user1 user2 user3 # 指定哪些用户可以访问,如果不指定则所有用户都可访问

invalid users = user1 user2 # 指定哪些用户不可以访问

create mask = 0775 # 客户端上传文件的默认权限

directory mask = 0775 # 客户端创建目录的默认权限

write list = user1 user2 user3 # 设置可对文件进行写操作的用户

admin users = user1 # 设置共享目录的管理员,具有完全权限

```

可使用以下命令断掉已有连接(开始 -> cmd)

```

net use * /del /y #回车后显示一下内容

```