
SMBserver message block服务器消息块协议。初始目的是为了解决局域网内的文件或打印机等资源共享的问题。支持windows挂载linux挂载下载smbdnf install samba samba-client -ysamba-clientSamba 套件里客户端工具包用于 Linux 系统访问 Windows 共享 / Linux Samba 服务共享格式smbclient -U 用户名 -L //服务端IP参数参数功能-L列出远程主机所有共享资源-U [user]指定 Samba 共享用户名-c cmd执行单条命令非交互模式-N无密码访问匿名共享-p [端口]指定端口默认 445旧环境 139-A authfile使用账号密码文件避免明文输密码smb的主配置文件/etc/samba/smb.conf共享每位登录用户和的家目录内容虽然某些情况下可以方便的共享文件但是这个操作存在危险建议删除用SMB协议共享本地的打印机设备可以方便局域网内的用户远程使用打印机设备。没有打印机设备建议删除共享打印机设备的参数建议删除精简版配置文件security用户登录Samba服务时采用的验证方式。共4总share主机无需验证密码。user登录Samba服务时使用账户密码验证domain通过与服务器进行身份验证用来限制用户的来源域server使用独立的主机验证来访问的用户提供的密码。tdbsam保存Samba服务账户和密码的数据库用户需使用pdbedit命令独立添加账户密码pdbedit管理Samba服务程序的账户信息数据库格式pdbedit 【参数】 账户参数-a 账户名建立Samba账户-x 账户名:删除Samba账户-L列出账户列表-Lv列出账户详细信息的列表配置共享资源/samba用于设置Samba服务程序的格式以及作用加在主配置文件中参数作用[database]共享名称为 databasecomment Do not arbitrarily modify the database file警告用户不要随意修改数据库path /home/database共享目录为 /home/databasepublic no关闭 “所有人可见”writable yes允许写入操作1.创建用于访问共享资源的账户信息用户名是stu密码是1232.创建用于共享资源的文件目录设置正确的安全上下文值为samba_share_t。在修改后执行restorecon命令即可生效新的安全上下文。注意修改目录的其他用户权限改为可读可写所有者权限值设为7目录的可执行权限是能不能进入目录里设置安全上下文3.设置SELinux策略使其允许通过Samba服务程序访问目录必须做否则不能访问文件夹中得目录SELinux 布尔名称核心作用samba_create_home_dirs允许 Samba 服务自动创建用户家目录samba_domain_controller允许 Samba 充当 Windows 域控制器samba_enable_home_dirs允许 Samba 访问 /home/ 下系统原生用户家目录samba_export_all_ro允许 Samba只读导出服务器任意目录samba_export_all_rw允许 Samba读写导出服务器任意目录samba_load_libgfapi允许 Samba 加载 GFAPI 库访问 GlusterFS 存储samba_portmapper允许 Samba 使用端口映射服务samba_run_unconfined允许 Samba 程序运行无限制域的脚本程序samba_share_fusefs允许 Samba 共享 FUSE 挂载的文件系统samba_share_nfs允许 Samba 共享已经被 NFS 挂载的目录sanlock_use_sambasanlock 存储锁服务访问 Sambatmpreaper_use_samba临时文件清理工具访问 Samba 共享use_samba_home_dirs允许其他服务通过 Samba 访问用户家目录virt_use_samba允许 KVM 虚拟机访问 Samba 共享4.修改Samba主配置文件5.重启Samba服务在另一台主机测试Windows挂载共享登录成功创建并写入文件linux挂载在发起共享的一端安装支持文件共享服务的软件包cifs-utils组成部分详细解释mount挂载命令用于将远程共享挂载到本地目录-t cifs-t指定文件系统类型cifs协议Linux 访问 Samba/Windows 共享-o挂载附加选项后面跟随多个逗号分隔参数usernamestuSamba 共享登录用户名password123Samba 共享对应的访问密码//192.168.143.144/database远程共享地址192.168.143.144Samba 服务端 IPdatabasesmb.conf 配置中的共享名/database客户端本地挂载点目录访问此目录等价访问远端共享挂载成功永久自动挂载 linux安装 Samba服务多的账户名、密码、共享域的顺序将相关信息写到一个认证文件中然后让/etc/fstab文件夹中让系统自动加在。为了让信息不被其他人看到最后把这个认证文件的权限修改为仅root可读写。NFS网络文件系统(NFS)允许远程主机通过网络挂载文件系统并像它们挂载在本地那样与这些文件系统进行交互。这可将资源整合到网络的集中服务器中安装dfs服务的所需软件包dnf install dnf-utils -y这里使用master192.168.143.144作为客户端slave192.168.143.145作为服务器端1.在服务端配置防火墙策略2.服务端建立NFS共享文件目录的可执行权限是能不能进入目录3.配置NFS的配置文件/etc/exports默认为空文件参数参数含义备注rw读写权限允许客户端读写共享目录ro只读权限仅浏览读取无法新建 / 修改 / 删除sync同步写入写入数据立刻落盘数据安全生产推荐async异步写入先缓存再写入磁盘速度快断电容易丢数据root_squashroot 压缩默认开启以NFS客户端 root 访问时 → 映射为服务端 nobody 匿名用户安全默认no_root_squash不压缩 root以NFS客户端 root 访问时保持 root 身份危险慎用all_squash全部用户压缩无论NFS客户端用什么账户访问全部映射为 nobodyanonuidxxx指定匿名 UID搭配 all_squash/root_squash自定义匿名用户 IDanongidxxx指定匿名 GID自定义匿名组 IDinsecure允许高位端口连接客户端使用大于 1024 端口挂载时添加实验环境常用secure仅允许 1-1024 端口默认安全限制no_subtree_check关闭子树检查共享目录只是文件系统一部分时开启减少报错subtree_check开启子树检查默认安全校验性能略低4.启动NFS服务由于在使用NFS服务进行文件共享前需使用RPC远程过程调用服务将NFS服务器的ip地址和端口号等信息发送给客户端因此在启动NFS服务前还要先重启rpcbind服务程序。顺序固定5.客户端配置先使用showmount命令查询NFS服务器的远程共享信息。参数-e显示NFS服务器的共享列表-a显示所有已经挂载的NFS的客户端主机名和挂载点-v显示版本号输出的格式共享的目录名称 允许使用的客户端地址6.创建挂载目录挂载格式-t指定挂载的文件系统类型 服务器ip地址/服务器的共享目录 挂载点能够实现创建共享如果希望nfs共享一直有效写入/etc/fstab中autofs自动挂载服务dnf intall autofs无论是 Samba 服务还是 NFS 服务都需要将挂载信息写入/etc/fstab文件中远程共享资源就会自动随服务器开机而挂载。这虽然很方便但如果挂载的远程资源太多会给网络带宽和服务器的硬件资源带来很大负担。如果挂载的资源长期不使用也会造成服务器硬件资源的浪费。由于网络的问题NFS服务器与客户端的连接不会一直存在当我们挂载了NFS服务器之后任何一方脱机都可能造 成另外一方等待超时。为了解决这样的问题就出现了下面的想法当客户端在有使用NFS文件系统的需求时才让系统自动挂载。当NFS文件系统使用完毕后让NFS自动卸载。autofs这个服务是在客户端的上面它会持续的检测某个指定的目录并预先设置当使用到该目录的某个子目录时 将会取得来自服务器端的NFS文件系统资源并进行自动挂载的操作。autofs配置文件/etc/auto.master主配置文件修改格式挂载父目录 子配置文件注意1. 父目录仅填写一级目录autofs启动后接管该目录2. 挂载子目录无需手动预先创建3. 访问触发cd/ls访问子路径时自动创建临时目录并执行挂载4. 闲置超时默认5分钟自动卸载销毁临时子目录5. 子配置文件内只写子目录名不能携带父路径6. 修改配置后执行 systemctl reload autofs 重载生效 ⚠️ 禁止手动提前创建挂载子目录会引发挂载故障对应的子配置文件对这个挂载目录的挂载信息进一步说明。需自己定义通常后缀名为.misc创建挂载目录主配置文件编写内容/misc /etc/auto.misc是一个自动挂载的参考文件去到子配置文件中填写详细信息在子配置文件中应按照格式挂载子目录 挂载文件类型及权限 设备名注意此时nfs-auto1目录为空重启auto服务再次查看在master编写的文件在slave也能看见