Samba服务 NFS服务

Top

NSD ENGINEER DAY05

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

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账号管理工具:

  • pdbedit -a 用户名
  • pdbedit -L [用户名]
  • pdbedit -x 用户名

测试Samba共享资源:

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

1.3 步骤

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

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

1)安装软件包samba

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

2)创建共享账号

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

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

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

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

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

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

确认共享账号:

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

3)准备共享文件夹

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

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

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

5)配置共享目录

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

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

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

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

1)安装软件包samba-client

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

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

  1. [[email protected] ~]# smbclient -L server0.example.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. [[email protected] ~]# smbclient -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] ~]#

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. [[email protected] ~]# mkdir /mnt/dev

2)安装cifs-utils软件包

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

3)配置开机挂载

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

4)测试挂载配置

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

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

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

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

2)验证多用户访问

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

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

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

  1. [[email protected] ~]$ cifscreds -u chihiro add server0.example.com
  2. Password:                                         //输入共享账号chihiro的密码
  3. [[email protected] ~]$ touch /mnt/dev/a.txt
  4. [[email protected] ~]$ ls /mnt/dev/a.txt
  5. /mnt/dev/a.txt

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(ro或rw等控制参数) 客户地址2(ro或rw等控制参数) .. ..

3.3 步骤

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

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

1)准备需要共享的文件夹

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

2)建立NFS共享配置

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

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

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

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

1)创建挂载点

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

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

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

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

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

4)测试挂载配置

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

原文地址:https://www.cnblogs.com/tiki/p/10783174.html

时间: 2024-10-08 20:27:18

Samba服务 NFS服务的相关文章

linux-nginx服务nfs服务nginx反向代理三台web

一:nginx服务 1.二进制安装nginx包 [[email protected] ~]# systemctl disable firewalld  #关闭Firewalls自启动 Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service. [[ema

Linux服务部署:nginx服务 Samba服务 nfs服务

nginx服务 源码安装: yum install gcc-* glibc-* openssl openssl-devel pcre pcre-devel zlib zlib-devel -y ls tar xvf nginx-1.10.3.tar.gz cd nginx-1.10.3 ls ./configure ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pi

Linux(ubuntu12.04)基本服务(网络服务,samba,nfs)及vim编辑器的配置总结

一,网络服务的配置: 1.1配置文件的位置:/etc/network/interfaces 1.2配置文件的内容: auto lo iface lo inet loopback #以下是新添加的内容,设置为静态获取ip地址 auto eth1  iface eth1 inet static  #ip地址设置成与主机Windows同一网段,其它的与windows相同  address 192.168.1.30  netmask 255.255.255.0 gateway 192.168.1.1 1

[转载]SELinux 环境下网络服务设置,配置 Apache 、Samba、NFS

原文地址:http://www.ibm.com/developerworks/cn/linux/l-cn-selinux-services1/index.html?ca=drs- 引言 SELinux 的安全防护措施主要集中在各种网络服务的访问控制.对于像 Apache .Samba.NFS.vsftp .MySQL.Bind dns 等服务来说,SELinux 仅仅开放了最基本的运行需求.至于连接外部网络.运行脚本.访问用户目录.共享文件等,必须经过一定的 SELinux 策略调整才能充分发挥

基于Samba和NFS简单实现Mariadb服务示例

一.使用NFS服务实现远程数据库存储 NFS服务需要使用nfs-utils程序,所以首先要安装该程序包:(yum install -y  nfs-utils) 此处我以两台分别为Centos6.9和Centos7.4的虚拟机实现该实验过程:Centos6.9作为服务器端,Centos7.4作为客户端: 首先:在Centos6.9服务器上安装好nfs-utils程序包,启动该服务: 第二步:我们修改NFS的配置文件/etc/exports,文件中的顺序为:要共享的文件目录    允许挂载该目录的主

Ubuntu下配置tftp服务和NFS服务

Ubuntu下配置tftp服务和NFS服务 配置tftp 方法一:(推荐方法)Ubuntu10.04 测试通过 1.安装TFTP软件 sudo apt-get install tftp-hpa tftpd-hpa tftp-hpa是客户端,tftpd-hpa是服务器端 2.建立tftpboot目录,作为服务器的目录sudo mkdir ~/tftpboot释放权限:(服务器目录,需要设置权限为777,chomd 777)sudo chmod 777 ~/tftpboot 3.配置TFTP服务器

redhat enterprixe 5.0 NFS服务配置与管理

一.了解NFS Samba 是主要用于实现Linux和Windows操作系统之间文件共享的协议,而NFS则是实现UNIX和Linux操作系统之间文件共享的协议. NFS可以把网络上远程的文件挂载到本机机器上. 二.安装 需要安装 portmap和nfs-utils这两个包,用rpm安装或者直接用yum安装都可以.好像一般都默认安好了...贴心~ rpm -ivh portmap-4.0-65.2.2.1.i386.rpm rpm -ivh nfs-utils-1.0.9-50.el5.i386.

Samba网络文件共享服务介绍

Samba网络文件共享服务 一.samba简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件.后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一

RHEL7上配置NFS服务

1.课程目标 了解什么是NFS及其功能: 掌握NFS的配置: 掌握NFS的验证: 能够单独熟练.灵活运用NFS. 2.NFS概述 NFS(Network Files System),网络文件系统是1980年由SUN发展出来在UNIX&Linux系统间实现磁盘文件共享的一种方法.它是一种文件系统协议:支持应用程序在客户端通过网络存取位于服务器磁盘中的数据.NFS的基本原则是让不同的客户端及服务器通过一组RPCs共享相同的文件系统,它独立于操作系统,允许不同硬件及操作系统的系统共同进行文件的共享.