Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Samba服务 NFS服务大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

Top NSD ENGINEER DAY05 案例1:配置SMB文件夹共享 案例2:多用户Samba挂载 案例3:普通NFS共享的实现 1 案例1:配置SMB文件夹共享 1.1 问题 本例要求在虚拟机 server0 上发布两个共享文件夹,具体要求如下: 此服务器必须是 STAFF 工作组的一个成员 发布目录 /common,共享名为 common 发布目录 /devops,共享名为 devops
Top

NSD ENGINEER DAY05

  1. 案例1:配置SMB文件夹共享
  2. 案例2:多用户Samba挂载
  3. 案例3:普通NFS共享的实现
@H_403_17@1 案例1:配置SMB文件夹共享

1.1 问题

本例要求在虚拟机 server0 上发布两个共享文件夹,具体要求如下:

  1. 此服务器必须是 STAFF 工作组的一个成员
  2. 发布目录 /common,共享名为 common
  3. 发布目录 /devops,共享名为 devops
  4. 这两个共享必须是可浏览的,只有 example.com 域内的客户端可以访问
  5. 用户 harry 对共享 common 只读,密码是 migwhisk
  6. 用户 kenji 对共享 devops 只读,密码是 atenorth
  7. 用户 chihiro 对共享 devops 可读写,密码是atenorth

1.2 方案

Samba的用途:为多个客户机提供共享使用的文件夹。

Samba服务端:软件包samba、系统服务smb

Samba客户端:软件包samba-client和cifs-utils、客户端工具smbclient

传输协议及端口:TCP 139、TCP 445

Samba服务端配置文件:/etc/samba/smb.conf

Samba共享账号:存在独立的账号数据文件里,必须有同名系统账号(方便给权限)

Samba账号管理工具:

测试Samba共享资源:

  • smbclient -L 服务器地址 【密码为空(直接回车)】
  • smbclient -U 用户名 //服务器地址/共享名 【需要密码】

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:在服务器server0发布Samba共享文件

1)安装软件包samba

  1. @H_616_93@[[email protected] @H_616_93@~]# yum @H_616_93@-y install samba
  2. @H_616_93@.. @H_616_93@..

2)创建共享账号

添加共享账号harry,密码为migwhisk:

  1. @H_616_93@[[email protected] @H_616_93@~]# useradd harry
  2. @H_616_93@[[email protected] @H_616_93@~]# pdbedit @H_616_93@-a harry                 //根据提示设好密码migwhisk
  3. new password@H_616_93@:
  4. retype new password@H_616_93@:

添加共享账号kenji,密码为atenorth:

  1. @H_616_93@[[email protected] @H_616_93@~]# useradd kenji
  2. @H_616_93@[[email protected] @H_616_93@~]# pdbedit @H_616_93@-a kenji                 //根据提示设好密码atenorth
  3. new password@H_616_93@:
  4. retype new password@H_616_93@:

添加共享账号chihiro,密码为atenorth:

  1. @H_616_93@[[email protected] @H_616_93@~]# useradd chihiro
  2. @H_616_93@[[email protected] @H_616_93@~]# pdbedit @H_616_93@-a chihiro             //根据提示设好密码atenorth
  3. new password@H_616_93@:
  4. retype new password@H_616_93@:

确认共享账号:

  1. @H_616_93@[[email protected] @H_616_93@~]# pdbedit @H_616_93@-L
  2. harry@H_616_93@:1003@H_616_93@:
  3. chihiro@H_616_93@:1005@H_616_93@:
  4. kenji@H_616_93@:1004@H_616_93@:

3)准备共享文件

  1. @H_616_93@[[email protected] @H_616_93@~]# @H_600_267@mkdir @H_616_93@/common
  2. @H_616_93@[[email protected] @H_616_93@~]# @H_600_267@mkdir @H_616_93@/devops
  3. @H_616_93@[[email protected] @H_616_93@~]# setfacl @H_616_93@-m u@H_616_93@:chihiro@H_616_93@:rwx @H_616_93@/devops         //配置写入权限

4)调整SELinux开关策略,允许发布可写的Samba共享资源

  1. @H_616_93@[[email protected] @H_616_93@~]# getsebool @H_616_93@-a @H_616_93@| grep @H_616_93@^samba_exp         //认配置
  2. samba_export_all_ro @H_616_93@--> off
  3. samba_export_all_rw @H_616_93@--> off
  4. @H_616_93@[[email protected] @H_616_93@~]# setsebool @H_616_93@-P samba_export_all_rw@H_616_93@=on         //永久打开设置
  5. @H_616_93@[[email protected] @H_616_93@~]# getsebool @H_616_93@-a @H_616_93@| grep @H_616_93@^samba_exp         //查看结果
  6. samba_export_all_ro @H_616_93@--> off
  7. samba_export_all_rw @H_616_93@--> on

5)配置共享目录

  1. @H_616_93@[[email protected] @H_616_93@~]# vim @H_616_93@/etc@H_616_93@/samba@H_616_93@/smb@H_616_93@.conf
  2. @H_616_93@[global@H_616_93@]
  3. workgroup @H_616_93@= STAFF
  4. @H_616_93@.. @H_616_93@..
  5. @H_616_93@[common@H_616_93@]
  6. path @H_616_93@= @H_616_93@/common
  7. hosts allow @H_616_93@= 172.25.0.0@H_616_93@/24
  8. @H_616_93@[devops@H_616_93@]
  9. path @H_616_93@= @H_616_93@/devops
  10. hosts allow @H_616_93@= 172.25.0.0@H_616_93@/24
  11. write list @H_616_93@= chihiro

6)启动系统服务smb,并设置开机自启

  1. @H_616_93@[[email protected] @H_616_93@~]# systemctl restart smb
  2. @H_616_93@[[email protected] @H_616_93@~]# systemctl enable smb
  3. ln @H_616_93@-s ‘/usr/lib/systemd/system/smb.service‘ ‘/etc/systemd/system/multi-user.target.wants/smb.service‘
  4. @H_616_93@[[email protected] @H_616_93@~]# netstat @H_616_93@-antpu @H_616_93@| grep smb
  5. tcp 0 0 0.0.0.0@H_616_93@:445 0.0.0.0@H_616_93@:* LISTEN 4709@H_616_93@/smbd
  6. tcp 0 0 0.0.0.0@H_616_93@:139 0.0.0.0@H_616_93@:* LISTEN 4709@H_616_93@/smbd

步骤二:在客户机desktop0测试Samba共享资源

1)安装软件包samba-client

  1. @H_616_93@[[email protected] @H_616_93@~]# yum @H_616_93@-y install samba@H_616_93@-client
  2. @H_616_93@.. @H_616_93@..

2)浏览目标主机提供了哪些共享资源

  1. @H_616_93@[[email protected] @H_616_93@~]# smbclient @H_616_93@-L server0@H_616_93@.example@H_616_93@.com
  2. Enter root‘s password:                         //此处无需输入密码,直接回车
  3. Anonymous login successful
  4. Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
  5.     Sharename Type Comment
  6.     --------- ---- -------
  7.     common Disk
  8.     devops Disk
  9.     IPC$ IPC IPC service (Samba Server Version 4.1.1)
  10. Anonymous login successful
  11. Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
  12.     Server Comment
  13.     --------- -------
  14.     Workgroup Master
  15.     --------- -------

3)连接到目标主机的共享目录

  1. @H_616_93@[[email protected] @H_616_93@~]# smbclient @H_616_93@-U harry //server0.example.com/common
  2. Enter harry‘s password:                             //输入harry的密码
  3. Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
  4. smb: \> ls                                         //检查是否可列出目录内容
  5. . D 0 Sun Nov 27 03:07:29 2016
  6. .. D 0 Sun Nov 27 03:07:32 2016
  7.         40913 blocks of size 262144. 27826 blocks available
  8. smb: \> quit                                         //退出smb:\>交互环境
  9. [[email protected] ~]#
@H_403_17@2 案例2:多用户Samba挂载

2.1 问题

本例要求在虚拟机 desktop0 上访问 server0 提供的共享 devops,特性如下:

  1. 将此共享永久挂载在 /mnt/dev 目录
  2. 挂载时以用户 kenji 作为认证
  3. 必要的时候,任何普通用户都可以通过用户 chihiro 来临时获取写的权限

2.2 方案

Samba客户端的multiuser挂载:支持切换访问Samba共享的用户身份,但不需要重新挂载共享资源。挂载参数需要添加“multiuser,sec=ntlmssp”,客户机上的普通用户可以通过cifscreds命令提交新的身份凭据。

在客户端挂载Samba共享目录,需要软件包cifs-utils的支持

为访问网络资源配置开机挂载时,注意添加参数“_netdev”,表示等客户机网络配置可用以后才挂载对应资源。

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:挂载Samba共享目录

1)创建挂载点

  1. @H_616_93@[[email protected] @H_616_93@~]# @H_600_267@mkdir @H_616_93@/@H_600_267@mnt@H_616_93@/dev

2)安装cifs-utils软件包

  1. @H_616_93@[[email protected] @H_616_93@~]# yum @H_616_93@-y install cifs@H_616_93@-utils
  2. @H_616_93@.. @H_616_93@..

3)配置开机挂载

  1. @H_616_93@[[email protected] @H_616_93@~]# vim @H_616_93@/etc@H_616_93@/fstab
  2. @H_616_93@.. @H_616_93@..
  3. //server0.example.com/devops /mnt/dev cifs username=kenji,password=atenorth,_netdev     0     0

4)测试挂载配置

  1. @H_616_93@[[email protected] @H_616_93@~]# mount @H_616_93@-a
  2. @H_616_93@[[email protected] @H_616_93@~]# df @H_616_93@-hT @H_616_93@/@H_600_267@mnt@H_616_93@/dev
  3. Filesystem Type Size Used Avail Use@H_616_93@% Mounted on
  4. //server0.example.com/devops cifs 10G 3.2G 6.8G 32% /mnt/dev

步骤二:启用multiuser多用户支持

1)修改挂载配置,添加用户支持

  1. @H_616_93@[[email protected] @H_616_93@~]# vim @H_616_93@/etc@H_616_93@/fstab
  2. @H_616_93@.. @H_616_93@..
  3. //server0.example.com/devops    /mnt/dev    cifs    username=kenji,multiuser,sec=ntlmssp,_netdev 0 0
  4. @H_616_93@[[email protected] @H_616_93@~]# umount @H_616_93@/@H_600_267@mnt@H_616_93@/dev                 //卸载此共享
  5. @H_616_93@[[email protected] @H_616_93@~]# @H_600_267@mount @H_616_93@/@H_600_267@mnt@H_616_93@/dev                 //重新挂载此共享

2)验证多用户访问

切换到普通用户student验证,无权访问挂载点/mnt/dev:

  1. @H_616_93@[[email protected] @H_616_93@~]# su @H_616_93@- student
  2. Last login@H_616_93@: Sun Nov 27 03@H_616_93@:51@H_616_93@:32 CST 2016 on pts@H_616_93@/0
  3. @H_616_93@[[email protected] @H_616_93@~]$ ls @H_616_93@/@H_600_267@mnt@H_616_93@/dev
  4. ls@H_616_93@: cAnnot access @H_616_93@/@H_600_267@mnt@H_616_93@/dev@H_616_93@: Permission denied

以共享用户chihiro身份提交新的访问凭据,再次验证,对挂载点/mnt/dev可读写:

  1. @H_616_93@[[email protected] @H_616_93@~]$ cifscreds @H_616_93@-u chihiro add server0@H_616_93@.example@H_616_93@.com
  2. password@H_616_93@:                                         //输入共享账号chihiro的密码
  3. @H_616_93@[[email protected] @H_616_93@~]$ touch @H_616_93@/@H_600_267@mnt@H_616_93@/dev@H_616_93@/a@H_616_93@.txt
  4. @H_616_93@[[email protected] @H_616_93@~]$ ls @H_616_93@/@H_600_267@mnt@H_616_93@/dev@H_616_93@/a@H_616_93@.txt
  5. /mnt/dev@H_616_93@/a@H_616_93@.txt
@H_403_17@3 案例3:普通NFS共享的实现

3.1 问题

本例要求在虚拟机 server0 上配置NFS服务,完成以下任务:

  1. 只读的方式共享目录 /public,只能被 example.com 域中的系统访问
  2. 可读写共享目录/protected,能被 example.com 域中的系统访问

然后在虚拟机 desktop0 上访问NFS共享目录

  1. 将 server0 的 /public 挂到本地 /mnt/nfsmount
  2. 这些文件系统在系统启动时自动挂载

3.2 方案

对于普通NFS共享来说:

  • 服务端需要运行系统服务 nfs-server.service
  • 客户端不需要运行特定的系统服务

配置NFS共享目录的记录格式:

  1. 文件绝对路径        客户地址1@H_616_93@(ro或rw等控制参数@H_616_93@) 客户地址2@H_616_93@(ro或rw等控制参数@H_616_93@) @H_616_93@.. @H_616_93@..

3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:在server0上发布NFS共享目录

1)准备需要共享的文件

  1. @H_616_93@[[email protected] @H_616_93@~]# @H_600_267@mkdir @H_616_93@/public
  2. @H_616_93@[[email protected] @H_616_93@~]# @H_600_267@mkdir @H_616_93@/protected

2)建立NFS共享配置

  1. @H_616_93@[[email protected] @H_616_93@~]# vim @H_616_93@/etc@H_616_93@/exports
  2. /public 172.25.0.0/24@H_616_93@(ro@H_616_93@)
  3. /protected 172.25.0.0/24@H_616_93@(rw@H_616_93@)

3)启动系统服务nfs-server,并设置开机自启

  1. @H_616_93@[[email protected] @H_616_93@~]# systemctl restart nfs@H_616_93@-server
  2. @H_616_93@[[email protected] @H_616_93@~]# systemctl enable nfs@H_616_93@-server
  3. ln @H_616_93@-s ‘/usr/lib/systemd/system/nfs-server.service‘ ‘/etc/systemd/system/nfs.target.wants/nfs-server.service‘

步骤二:在desktop0上挂载NFS共享目录/public

1)创建挂载点

  1. @H_616_93@[[email protected] @H_616_93@~]# @H_600_267@mkdir @H_616_93@/@H_600_267@mnt@H_616_93@/nfsmount

2)列出server0上提供的NFS共享资源

  1. @H_616_93@[[email protected] @H_616_93@~]# showmount @H_616_93@-e server0@H_616_93@.example@H_616_93@.com
  2. Export list for server0@H_616_93@.example@H_616_93@.com@H_616_93@:
  3. /protected 172.25.0.0/24
  4. /public 172.25.0.0/24

3)配置开机挂载server0的NFS共享目录/public

  1. @H_616_93@[[email protected] @H_616_93@~]# vim @H_616_93@/etc@H_616_93@/fstab
  2. @H_616_93@.. @H_616_93@..
  3. server0@H_616_93@.example@H_616_93@.com@H_616_93@:/public /mnt@H_616_93@/nfsmount nfs _netdev 0 0

4)测试挂载配置

  1. @H_616_93@[[email protected] @H_616_93@~]# mount @H_616_93@-a
  2. @H_616_93@[[email protected] @H_616_93@~]# df @H_616_93@-hT @H_616_93@/@H_600_267@mnt@H_616_93@/nfsmount@H_616_93@/
  3. Filesystem Type Size Used Avail Use@H_616_93@% Mounted on
  4. server0@H_616_93@.example@H_616_93@.com@H_616_93@:/public nfs4 10G 3.2G 6.8G 32% /mnt@H_616_93@/nfsmount

大佬总结

以上是大佬教程为你收集整理的Samba服务 NFS服务全部内容,希望文章能够帮你解决Samba服务 NFS服务所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:服务