全面分析RHCE7(红帽认证工程师)考试题目之 ----Samba文件共享篇

简介:

samba 文件共享(共享文件夹)

完成了windows和linux的文件共享


配置SMB共享

   Samba软件项目

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

协议:SMB(TCP 139),CIFS(TCP 445)

    所需软件包:samba

    系统服务:smb


在RHCE7 中有这样一道题:

搭建基本的samba服务 

通过 Samba 发布共享目录

在 system1 通过 SMB 共享/common 目录:

您的 SMB 服务器必须是 STAFF 工作组的一个成员

共享名必须为 common

只有 example.com 域内的客户端可以访问 common 共享

common 必须是可以浏览的

用户 harry 必须能够读取共享中的内容,如果需要的话,验证的密码是 migwhisk


     1.安装samba软件包

[root@system1 ~]# yum -y install samba

     2.创建samba的共享帐号 与系统用户名相同 但有独立密码

使用pdbedit管理工具

添加用户:pdbedit -a 用户名

查询用户:pdbedit -L [用户名]

删除用户:pdbedit -x 用户名

[root@system1 ~]# useradd -s /sbin/nologin harry#防止用户直接登陆操作系统

[root@system1 ~]# grep 'harry' /etc/passwd

harry:x:1003:1004::/home/harry:/sbin/nologin

[root@system1 ~]# pdbedit -a harry#添加Samba用户

[root@system1 ~]# pdbedit -L#查询所以Samba用户

harry:1003:



     3.修改配置文件及参数

文件路径:/etc/samba/smb.conf

[root@system1 ~]# vim /etc/samba/smb.conf 

...

workgroup = STAFF#89行 选改工作组 现在都不用了

...

[common]#321行 共享名

 path = /common# 共享的实际路径

...

[root@system1 ~]# mkdir /common

[root@system1 ~]# echo 'test' > /common/tset.txt

     4.重启服务,并设置开机自启

[root@system1 ~]# systemctl restart smb

[root@system1 ~]# systemctl enable smb.service 


      5.测试并访问

使用smbclient测试(一般直接挂载 不用装包)

所需软件包:samba-client

列出共享资源

smbclient -L 服务器地址

连接到共享文件夹

smbclient -U 用户名 //服务器地址/共享名



[root@system2 ~]# yum -y install samba-client.x86_64 


[root@system2 ~]# smbclient -L //172.25.0.11

 Enter root's password: 

 Anonymous login successful

 Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]


    Sharename       Type      Comment

---------       ----      -------

common #共享名    Disk #共享类型      

IPC$            IPC       IPC Service (Samba Server Version 4.1.1)

 Anonymous login successful

 Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]


Server               Comment

---------            -------


Workgroup            Master

---------            -------


[root@system2 ~]# smbclient -U harry //172.25.0.11/common

Enter harry's password:  #这里输入密码

Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]

smb: \> ls

NT_STATUS_ACCESS_DENIED listing \*#不能访问


    6.SELinux: 布尔值(功能的开关)

            具体关于SELinux的功能介绍 请看 :  http://blog.51cto.com/13558754/2058355


getsebool 查看SELinux开关

setsebool 控制SELinux开关

需要加 -P 选项才能实现永久设置 (内存太小会死机)


[root@system1 ~]# getsebool -a | grep samba  查看

samba_create_home_dirs --> off

samba_domain_controller --> off

samba_enable_home_dirs --> off

samba_export_all_ro --> off     #只读

samba_export_all_rw --> off#

samba_portmapper --> off

samba_run_unconfined --> off

samba_share_fusefs --> off

samba_share_nfs --> off

sanlock_use_samba --> off

use_samba_home_dirs --> off

virt_sandbox_use_samba --> off

virt_use_samba --> off


[root@system1 ~]# setsebool -P samba_export_all_ro=on

[root@system1 ~]#  getsebool -a | grep samba_export_all_ro 

samba_export_all_ro --> on

[root@system2 ~]# smbclient -U harry //172.25.0.11/common

Enter harry's password: 

Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]

smb: \> ls#可以成功显示配置文件

  .                                   D        0  Mon Nov  6 10:43:17 2017

  ..                                  D        0  Mon Nov  6 10:42:56 2017

  tset.txt                            N        5  Mon Nov  6 10:43:17 2017


40913 blocks of size 262144. 28492 blocks available


    7.客户端访问点

安装软件包cifs-utils

[root@system2 ~]# yum -y install cifs-utils.x86_64 

修改/etc/fstab

[root@system2 ~]# mkdir /mnt/samba/

[root@system2 ~]# vim /etc/fstab

//172.25.0.11/common /mnt/samba cifs username=harry,password=123,_netdev 0 0

#_netdev 先启动网络 在完成挂载

验证 

[root@system2 ~]# mount -a

[root@system2 ~]# df -h

文件系统              容量  已用  可用 已用% 挂载点

/dev/vda1              10G  3.1G  7.0G   31% /

devtmpfs              906M     0  906M    0% /dev

tmpfs                 921M   80K  921M    1% /dev/shm

tmpfs                 921M   17M  904M    2% /run

tmpfs                 921M     0  921M    0% /sys/fs/cgroup

//172.25.0.11/common   10G  3.1G  7.0G   31% /mnt/samba


在RHCE7中还有这样的一道题

配置多用户Samba挂载

在 system1 通过 SMB 共享目录/devops,并满足以下要求:

共享名为 devops

共享目录 devops 只能被 example.com 域中的客户端使用

共享目录 devops 必须可以被浏览

用户 kenji 必须能以读的方式访问此共享,该问密码是 atenorth

用户 chihiro 必须能以读写的方式访问此共享,访问密码是 atenorth

此共享永久挂载在 system2.example.com 上的/mnt/dev 目录,并使用用户 kenji 作为认证。任何用户可以通过用户 chihiro 来临时获取写的权限

为了方便理解 将这到题目分成两部分进行实验



1) chihiro 读写的方式访问此共享

1.创建samba的共享帐号

[root@system1 ~]# useradd -s /sbin/nologin kenji

[root@system1 ~]# useradd -s /sbin/nologin chihiro

[root@system1 ~]# pdbedit -a kenji

[root@system1 ~]# pdbedit -a chihiro

[root@system1 ~]# pdbedit -L#查询所以Samba用户

harry:1003:

chihiro:1005:

kenji:1004:

2.修改配置文件

 [root@system1 ~]# vim /etc/samba/smb.conf 

   ...

  [devops]

    path = /devops

    write list = chihiro

   ...

 [root@system1 ~]# mkdir /devops

   [root@system1 ~]# echo dasfasd > /devops/123.txt

3.重启smb服务

   [root@system1 ~]# systemctl restart smb.service 

4.客户端验证

 [root@system2 ~]# smbclient -L //172.25.0.11

  Enter root's password: 

  Anonymous login successful

  Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]


Sharename       Type      Comment

 ---------       ----          -------

common          Disk      

devops          Disk      

IPC$            IPC       IPC Service (Samba Server Version 4.1.1)

 Anonymous login successful

 Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]


 Server               Comment

  ---------                  -------


 Workgroup            Master

  ---------                  -------

 

5.客户端挂载

 [root@system2 ~]# vim /etc/fstab

   ...

  //172.25.0.11/devops /mnt/dev cifs username=chihiro,password=atenorth,_netdev 0 0

   ...

 [root@system2 ~]# mkdir /mnt/dev

 [root@system2 ~]# mount -a

 [root@system2 ~]# df -h

  文件系统              容量  已用  可用 已用% 挂载点

 /dev/vda1              10G  3.1G  7.0G   31% /

 devtmpfs              906M     0  906M    0% /dev

 tmpfs                 921M   80K  921M    1% /dev/shm

 tmpfs                 921M   17M  904M    2% /run

 tmpfs                 921M     0  921M    0% /sys/fs/cgroup

 //172.25.0.11/common   10G  3.1G  7.0G   31% /mnt/samba

 //172.25.0.11/devops   10G  3.1G  7.0G   31% /mnt/dev


实现读写操作

 [root@system1 ~]# setfacl -m u:chihiro:rwx /devops/#开启目录本地权限

 [root@system1 ~]# getfacl /devops/

  getfacl: Removing leading '/' from absolute path names

  # file: devops/

  # owner: root

  # group: root

  user::rwx

  user:chihiro:rwx

  group::r-x

  mask::rwx

  other::r-x

 [root@system1 ~]# setsebool samba_export_all_rw=on#开启SELinux samba 读写功能

 [root@system1 ~]# getsebool -a | grep 'samba_export_all_rw'

  samba_export_all_rw --> on

 [root@system1 ~]# systemctl restart smb.service 




2) multiuser 多用户访问

管理员只需要作一次挂载

客户端在访问挂载点时,若需要不同权限,可以临时切换为新的共享用户

multiuser  ,提供对客户端多个用户身份的区分支持

sec=ntlmssp ,提供NT局域网管理安区支持

[root@system2 ~]# vim /etc/fstab 

//172.25.0.11/devops /mnt/dev cifs username=kenji,password=123,_netdev,multiuser,sec=ntlmssp 0 0

[root@system2 ~]# umount /mnt/dev/

[root@system2 ~]# mount -a

[root@system2 ~]# df -h

文件系统              容量  已用  可用 已用% 挂载点

/dev/vda1              10G  3.1G  7.0G   31% /

devtmpfs              906M     0  906M    0% /dev

tmpfs                 921M   80K  921M    1% /dev/shm

tmpfs                 921M   17M  904M    2% /run

tmpfs                 921M     0  921M    0% /sys/fs/cgroup

//172.25.0.11/common   10G  3.1G  7.0G   31% /mnt/samba

//172.25.0.11/devops   10G  3.1G  7.0G   31% /mnt/dev

 

[student@system2 /]$ cifscreds add -u chihiro 172.25.0.11

[student@system2 /]$ cd /mnt/dev/

[student@system2 dev]$ touch abc.txt

[student@system2 dev]$ ls

123.txt  abc.txt


扩展 

在windows操作系统中如果想要使用samba

关闭防火墙

运行----> 输入\\172.25.0.11 ----->输入上面建立的用户名和密码-----> 进入 从而实现windows 和Linux 文件共享










本文转自 Xuenqlve 51CTO博客,原文链接:http://blog.51cto.com/13558754/2058701,如需转载请自行联系原作者
目录
相关文章
|
应用服务中间件 nginx
『Nginx』Nginx实现同端口代理多项目 及 同项目多端口配置
📣读完这篇文章里你能收获到 - Nginx实现同端口代理多项目 - Nginx实现同项目多端口配置
1905 0
『Nginx』Nginx实现同端口代理多项目 及 同项目多端口配置
|
Python
matplotlib 按指定的时间间隔生成坐标轴
matplotlib 提供了自定义生成时间轴的库,而当我们需要按照自己定义的时间间隔去生成时间轴时,时间轴并没有正常显示,只是按照一个时间跨度更大的方式显示,本文强制 matplotlib 严格按照要求自定义的时间间隔来坐标轴,并对每一行代码做了详细的说明。
7459 0
matplotlib 按指定的时间间隔生成坐标轴
|
11月前
|
存储 监控 关系型数据库
深入解析 Hologres Table Group 与 Shard Count
Hologres 是一款强大的实时数仓,支持海量数据的高效存储与快速查询。Table Group 和 Shard Count 是其核心概念,前者管理数据分片,后者指定分片数量。合理配置二者可显著提升性能。Table Group 实现资源共享与协同管理,Shard Count 根据数据量和读写模式优化分片,确保高效处理。结合业务需求进行动态调整,可充分发挥 Hologres 的潜力,助力企业数字化转型。
423 60
|
Oracle 关系型数据库 数据库连接
实时计算 Flink版操作报错之遇到Unable to register metrics as an,该怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
SQL 关系型数据库 MySQL
【超全整理】SQL日期与时间函数大汇总会:MySQL与SQL Server双轨对比教学,助你轻松搞定时间数据处理难题!
【8月更文挑战第31天】本文介绍了在不同SQL数据库系统(如MySQL、SQL Server、Oracle)中常用的日期与时间函数,包括DATE、NOW()、EXTRACT()、DATE_ADD()、TIMESTAMPDIFF()及日期格式化等,并提供了具体示例。通过对比这些函数在各系统中的使用方法,帮助开发者更高效地处理日期时间数据,满足多种应用场景需求。
1811 1
|
SQL XML Java
【MyBatis】 MyBatis框架下的高效数据操作:深入理解增删查改(CRUD)
【MyBatis】 MyBatis框架下的高效数据操作:深入理解增删查改(CRUD)
217 1
|
JSON JavaScript 前端开发
以太坊 – 部署智能合约到Ganache
将编译好的智能合约部署到本地的Ganache区块链网络。步骤如下:更新项目的配置文件,修改网络配置连接到本地区块链网络(Ganache)。创建迁移脚本,告诉Truffle如何部署智能合约。运行新创建的迁移脚本,部署智能合约。...
2335 0
以太坊 – 部署智能合约到Ganache
|
前端开发 JavaScript NoSQL
软件开发常见流程之若依项目修改,前后端本地启动,本地必须有Redis+Navicate启动数据库
软件开发常见流程之若依项目修改,前后端本地启动,本地必须有Redis+Navicate启动数据库