NFS,Samba文件共享目录
一、NFS(用于linux之间文件共享)
1.服务端安装
yum install nfs-utils -y 这个步骤在所有需要用nfs服务的机器都要安装,但是下面的操作只需要在作为nfs服务的机器上操作就行
启动服务并设置开机启动:
systemctl start nfs
systemctl enable nfs1.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
```

至此服务端安装完成
2.客户端安装/挂载
```
yum install -y nfs-utils
systemctl stop firewalld 关闭防火墙
setenforce 0
showmount -e 192.168.0.135
```

```
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
```
查看如图,则成功

二、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 #回车后显示一下内容
```