Linux文件共享的完美助手:深入探索Samba和NFS

1 samba介绍

1.1 samba基本介绍

作用:网络文件共享

smb(Server Message Block )是 Miscrosoft公司软件。
cifs ( Common Internet File System )是Sum公司开发,是smb的开源版。

1.2 samba基本信息

服务启动脚本:smb.service
主配置目录:/etc/samba
主配置文件:/etc/smb.conf
安全上下文:samba_share_t
端口:139 445
安装包:samba samba-common

1.3 samba的安装与启用

samba的安装:

dnf install samba samba-common samba-client -y

samba服务启动:

systemctl enable --now smb

samba服务启用

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

测试:

smbclient -L //192.168.1.33 # 连接smb服务器

Linux文件共享的完美助手:深入探索Samba和NFS_第1张图片

2 samba的使用

2.1 samba用户的建立

samba用户必须是服务器本地真实存在的用户

smbpasswd -a lee ##添加用户
pdbedit -L ##查看用户列表
pdbedit -x lee ##删除用户

Linux文件共享的完美助手:深入探索Samba和NFS_第2张图片

2.2 samba用户访问加目录

当selinux开启时:

setsebool -P samba_enable_home_dirs on #开启访问权限

windows下

\\172.25.254.20 ##访问

net use ##查看访问记录
net use * /del ##删除访问记录
在linux下:
smbclient //172.25.254.20/westos -U westos
Linux文件共享的完美助手:深入探索Samba和NFS_第3张图片

Linux文件共享的完美助手:深入探索Samba和NFS_第4张图片

2.3 samba服务共享目录

mkdir /westosdir
touch /westosdir/westosfile{1..5}
semanage fcontext -a -t samba_share_t '/westosdir(/.*)?'
restorecon -RvvF /westosdir/
vim /etc/samba/smb.conf
[westosdir] ##共享名称
comment = westosdir ##共享说明
path = /westosdir ##共享路径
systemctl restart smb
测试:
smbclient //172.25.254.20/westosdir -U westos

Linux文件共享的完美助手:深入探索Samba和NFS_第5张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第6张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第7张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第8张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第9张图片

2.4 samba的访问控制

hosts allow 172.25.254.30 172.25.254. ##当写到单独共享时之对此共享生效

Linux文件共享的完美助手:深入探索Samba和NFS_第10张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第11张图片

hosts deny ##当写到【GLOBAL】时对samba整体生效

在这里插入图片描述
Linux文件共享的完美助手:深入探索Samba和NFS_第12张图片

2.5 samba的常用配置参数


browseable = yes|no ##是否隐藏共享
map to guest = bad user ##写到全局设定中
  • writable = yes 可写

Linux文件共享的完美助手:深入探索Samba和NFS_第13张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第14张图片

  • write list = sxl 指定用户可写
    Linux文件共享的完美助手:深入探索Samba和NFS_第15张图片
    Linux文件共享的完美助手:深入探索Samba和NFS_第16张图片

  • write list = @westos指定组可写
    Linux文件共享的完美助手:深入探索Samba和NFS_第17张图片
    Linux文件共享的完美助手:深入探索Samba和NFS_第18张图片

  • valid users = lee 指定访问用户

Linux文件共享的完美助手:深入探索Samba和NFS_第19张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第20张图片

  • valid users = @lee 指定访问组

Linux文件共享的完美助手:深入探索Samba和NFS_第21张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第22张图片

  • admin users = lee 指定此共享的超级用户身份
    Linux文件共享的完美助手:深入探索Samba和NFS_第23张图片

Linux文件共享的完美助手:深入探索Samba和NFS_第24张图片

  • guest ok = yes 允许匿名用户访问
    在这里插入图片描述Linux文件共享的完美助手:深入探索Samba和NFS_第25张图片
    Linux文件共享的完美助手:深入探索Samba和NFS_第26张图片

2.6 samba的多用户挂载

在客户端如果用普通的挂载方式
没有用过用户验证的人也可以访问samba服务

dnf install cifs-utils -y
vim /root/smbpass
username=westos
password=lee
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.20/westosdir /mnt
#credentials=/root/smbpass 指定认证文件
#sec=ntlmssp 指定认证类型
#multiuser 支持多用户

Linux文件共享的完美助手:深入探索Samba和NFS_第27张图片

su - westos
[westos@test /]$ ls /mnt ##客户端主机的wetos用户没有通过认证
ls: cannot access '/mnt': Permission denied
[westos@test ~]$ cifscreds add -u lee 172.25.254.20
Password:
[westos@test ~]$ ls /mnt/ ##通过认证可以显示
file file1111 file2 file22222 
[westos@test /]$ cifscreds add -u lee 172.25.254.20
Key search failed: Key has expired ##当遇到此报错信息
[westos@test /]$ cifscreds add -u lee -d 172.25.254.20
Password:
[westos@test ~]$ cifscreds clearall ##执行以上两条命令解决报错

Linux文件共享的完美助手:深入探索Samba和NFS_第28张图片

3 NFS介绍

3.1 nfs基本介绍

Net File System

3.2 nfs基本信息

nfs-utils ##安装包
nfs-server ##服务脚本
/etc/exports ##共享配置文件

3.3 nfs的安装与启用

systemctl start nfs-server
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
测试:
[root@dns_node1 ~]# showmount -e 172.25.254.20
Export list for 172.25.254.20:

Linux文件共享的完美助手:深入探索Samba和NFS_第29张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第30张图片
在这里插入图片描述

4 NFS使用

4.1 nfs配置

vim /etc/exports ##此文件更改后生效exportfs -rv
共享目录 共享给谁(共享参数)
/westosdir *(ro)
测试:
mount 172.25.254.30:/westosdir /mnt/

Linux文件共享的完美助手:深入探索Samba和NFS_第31张图片

4.2 nfs配置参数

anonuid=1000,anongid=1000 ##指定用户身份
sync ##更改生成后同步数据到服务器
async ##时时同步数据到服务器
rw ##读写
ro ##只读
no_root_squash ##root用户挂载不转换身份

Linux文件共享的完美助手:深入探索Samba和NFS_第32张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第33张图片

4.3 nfs+autofs

vim /etc/auto.nfs
nfs 172.25.254.30:/westosdir

Linux文件共享的完美助手:深入探索Samba和NFS_第34张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第35张图片

4.4 autofs+samba

autofs:

在客户端实现自动挂载卸载的软件

配置方式:

vim /etc/auto.master
最终挂载点的上层目录 自动以子策略文件
/mnt /etc/auto.samba
vim 自动以子策略文件(/etc/auto.samba)
最终挂载点 挂载参数 挂载资源
samba -fstype=cifs,username=westos,password=lee ://172.25.254.20/westosdir
systemctl restart autofs
测试:
cd /mnt/samba
df
cd /root
等待资源闲置超时 ##默认300秒 vim /etc/autofs.conf ---->Timeout=3
df
挂载资源自动卸载

Linux文件共享的完美助手:深入探索Samba和NFS_第36张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第37张图片
Linux文件共享的完美助手:深入探索Samba和NFS_第38张图片

Linux文件共享的完美助手:深入探索Samba和NFS_第39张图片

你可能感兴趣的:(linux,运维,服务器)