【home88一必发】布满式文件系统安装向导,技术员技巧

by admin on 2019年8月8日

home88一必发 1

一、配置SMB文件夹分享

Puppet 聚集安顿管理种类
puppet 是多个布局管理工科具, 标准的, puppet 是叁个 C/S 结构, 当然,这里的 C
能够有好些个,因
此,也足以说是多个星型结构. 全体的 puppet 客户端同三个服务器端的 puppet
通信. 每种
puppet 客户端每半钟头(能够设置)连接三遍服务器端,
下载最新的陈设文件,并且严厉遵照配
置文件来配置服务器. 配置落成之后,puppet
客户端可以上报给服务器端二个音讯. 假若出错,
也会给服务器端反馈三个音讯. 下图呈现了四个超人的 puppet
配置的数码流动情形.
稳定性
puppet 与别的手工业操作工具备几个最大的分别便是 puppet
的配备具有牢固,由此你能够频仍
实行 puppet, 一旦您更新了您的配备文件,puppet
就能依附配置文件来改动你的机器配置,经常
每 30 分钟检查一回. puppet
会让您的体系状态同配置文件所供给的景观保持一致. 诸如你配
置文件之中需求 ssh 服务必须开启. 尽管相当的大心 ssh
服务被关门了,那么下一遍实行 puppet 的
时候,puppet 会发掘这一个可怜,然后会展开 ssh 服务.
以使系统状态和安顿文件保持一
致.puppet 就象贰个魔术师,会令你的混杂的种类未有到 puppet
配置文件所想要的状态.
能够使用 puppet 管理服务器的上上下下生命周期,从初叶化到退役.分裂于守旧的举个例子sun 的
Jumpstart 或然 redhat 的 Kickstart, puppet
能够长寿让服务器保持最新状态.只要一同头就正
确的布局他们,然后再也不用去管他们.平时 puppet 用户只供给给机器安装好
puppet 并让他们
运作,然后剩余的事业都由 puppet 来完毕.
puppet 的细节和规律
puppet
的目标是让您只聚焦于你要管住的对象,而忽视完毕的内幕,比如命令名,参数或然文件
格式. puppet 把系统里面包车型大巴用户,软件包,服务作为是”财富”, puppet
的作用正是管理那个能源
以及能源之间的互相联系.
Puppet 选拔了特别轻松的 C/S 框架结构,全数数据的并行都经过 SSL
进行,以保障安全。它的行事
流程如图所示

概述Overview

home88一必发 2

目标:

  1. 客户端 Puppetd 向 Master 发起认证诉求,或应用带签字的表明。
  2. Master 告诉 Client 你是法定的。
  3. 客户端 Puppetd 调用 Facter,Facter
    探测出主机的一部分变量,例如主机名、内部存款和储蓄器大小、IP 地址
    等。Puppetd 将这几个消息透过 SSL 连接发送到服务器端。
  4. 劳务器端的 Puppet Master 检验客户端的主机名,然后找到 manifest 对应的
    node 配置,并对该
    有的内容实行剖析。Facter 送过来的音讯方可作变量管理,node
    牵涉到的代码才剖析,别的
    没拖累的代码不分析。剖析分多少个阶段,首先是语法检查,假若语法错误就报错;如若语法
    千真万确,就卫冕深入分析,解析的结
    果生成二个中间的“伪代码”(catelog),然后把伪代码发给客
    户端。
  5. 客户端接收到“伪代码”,况且实施。
  6. 客户端在施行时剖断有没有 File 文件,假使有,则向 fileserver
    发起呼吁。
  7. 客户端剖断有未有布署 Report,倘诺已布局,则把施行结果发送给服务器。
  8. 服务器端把客户端的推行结果写入日志,并发送给报告系统。
    .   wikidot.com  中文 wiki
    系统遇到:rhel6.3 selinux and iptables disabled
    sever:192.168.0.201 desktop1.example.com puppet master
    client:192.168.0.202 desktop2.example.com puppet agent
    client:192.168.0.203 desktop3.example.com puppet agent
    重大:server 与所有 client
    之间必要深入分析,以及时光同步,不然会注脚失利。
    server 端:
    # yum localinstall -y rubygems-1.3.7-1.el6.noarch.rpm
    把以下条目款项参预 yum 旅舍:
    [puppet]
    name=puppet
    baseurl=
    gpgcheck=0
    [ruby]
    name=ruby
    baseurl=
    gpgcheck=0
    # yum install puppet-server -y
    /etc/puppet 配置目录:
    团组织结构如下:
    |– puppet.conf  #主配置配置文件,详细内容可举行 puppet –genconfig
    |– fileserver.conf  #文本服务器配置文件
    |– auth.conf  #注脚配置文件
    |– autosign.conf  #自行验证配置文件
    |– tagmail.conf  #邮件配置文件(将错误消息发送)
    |– manifests  #文本存款和储蓄目录(puppet 会先读取该目录的.PP
    文件<site.pp>)
    |–nodes
    | puppetclient.pp
    |– site.pp #概念 puppet 相关的变量和暗许配置。
    |– modules.pp #加载 class 类模块文件(include syslog)
    |– modules  #概念模块
    |– syslog #以 syslog 为例
    |– file
    |– manifests
    |– init.pp #class 类配置
    |– templates #模块配置目录
    |– syslog.erb #erb 模板
    puppet
    的率先个推行的代码是在/etc/puppet/manifest/site.pp,由此这些文件必须存在,而
    且其余的代码也要通过该文件来调用。
    # touch /etc/puppet/manifest/site.pp #并未有此文件 puppet master
    无法运行,配置后边再定义
    # service puppetmaster start #启动 puppet master
    # netstat -antlp |grep ruby
    tcp 0 0 0.0.0.0:8140 0.0.0.0:* LISTEN 1596/ruby
    client 端:
    倘若安装 puppet 就能够,安装情势同 server 端:
    # yum install puppet -y
    puppet 客户端连接到 puppet master:
    # puppet agent –server=puppet.example.com –no-daemonize –verbose
    Info: Creating a new SSL key for desktop2.example.com
    Info: Caching certificate for ca
    Info: Creating a new SSL certificate request for desktop2.example.com
    Info: Certificate Request fingerprint (SHA256):
    5C:72:77:D8:27:DF:5A:DF:34:EF:25:97:5A:CF:25:29:9F:58:83:A2:61:57:D9:20:7B:1E:C0:36:75:9D:
    FB:FC
    client 向 master 发出证书验证须要,然后等待 master 签字并回到证书。
    参数–server 内定了特需接二连三的 puppet master
    的名字大概地址,暗中同意连接名“puppet”的主机
    如要修改暗中同意连接主机能够修改/etc/sysconfig/puppet 文件中的
    PUPPET_SERVER=puppet 选项
    参数–no-daemonize 是 puppet 客户端运维在前台
    参数–verbose 使客户端输出详细的日记
    在 master 端:
    # puppet cert list #呈现全数等待具名的证书
    “desktop2.example.com” (SHA256)
    CD:BD:13:D0:B8:46:07:F2:B7:AE:00:C4:E6:E9:E1:A4:92:F6:A4:F1:AB:F7:FF:8D:BE:B0:B7:90:E1:
    7B:A8:C0
    # puppet cert sign desktop2.example.com #签字证书
    Signed certificate request for desktop2.example.com
    Removing file Puppet::SSL::CertificateRequest desktop2.example.com at
    ‘/var/lib/puppet/ssl/ca/requests/desktop2.example.com.pem’
    如要同时签订契约全数证件,实施以下命令:
    # puppet cert sign –all
    # puppet cert clean desktop2.example.com #剔除签名证书
    在对评释签字后的两秒钟后,在 agent 端上得以看出如下输出:
    Info: Caching certificate for desktop2.example.com
    Starting Puppet client version 3.0.0
    Info: Caching certificate_revocation_list for ca
    Info: Retrieving plugin
    Info: Caching catalog for desktop2.example.com
    Info: Applying configuration version ‘1349536603’
    Finished catalog run in 0.13 seconds
    自行验证:
    在 server 端, 编辑 puppet.conf 文件:
    [main]
    autosign = true #同意具有客户端的辨证
    /etc/puppet 目录下开创 autosign.conf 文件,内容如下:
    *.example.com #表示同意全体 example.com 域的主机
    # service puppetmaster reload
    在 client 端只需进行:
    # puppet agent

    # server puppet start
    在事实上中有时候会修改 client 端的主机名,那样就要求再度生成证书:
    1)在 server 端执行:puppet cert –clean desktop2.example.com
    #你要删减的原 client 端主机名
    2)在 client 端执行:rm -fr /var/lib/puppet/ssl/*
    puppet agent –server=puppet.example.com
    puppet 能源定义
    以下财富均定义在/etc/puppet/manifest/site.pp
    文件中,在尚未点名节点的事态下,对具有
    已经因而认证的 client 都见效。
  9. 创造文件
    file { “/var/www/html/index.html”: content => “www.example.com” }
    mkdir /etc/puppet/files
    echo www.redhat.org > /etc/puppet/files/index.html
    vi /etc/puppet/fileserver.conf
    [files]
    path /etc/puppet/files
    allow *.example.com
    service puppetmaster reload
    file { “/var/www/html/index.html”:
    source => “puppet:///files/index.html”,
    }
  10. 软件包定义
    package { “httpd”: ensure => present;
    “vsftpd”: ensure => absent
    }
  11. 服务概念
    service { “httpd”: ensure => running;
    “vsftpd”: ensure => stopped
    }
  12. 组定义
    group { “wxh”: gid => 600 }
  13. 用户定义
    user { “wxh”:
    uid => 600,
    gid => 600,
    home => “/home/wxh”,
    shell => “/bin/bash” ,
    password => westos
    }
    file { “/home/wxh”:
    owner => wxh,
    group => wxh,
    mode => 700,
    ensure => directory
    }
    file { “/home/wxh/.bash_logout”:
    source => “/etc/skel/.bash_logout”,
    owner => wxh,
    group => wxh
    }
    file { “/home/wxh/.bash_profile”:
    source => “/etc/skel/.bash_profile”,
    owner => wxh,
    group => wxh
    }
    file { “/home/wxh/.bashrc”:
    source => “/etc/skel/.bashrc”,
    owner => wxh,
    group => wxh
    }
    user { “test”: uid => 900,
    home => “/home/test”,
    shell => “/bin/bash”,
    provider => useradd,
    managehome => true,
    ensure => present
    }
    exec { “echo westos | passwd –stdin test”:
    path => “/usr/bin:/usr/sbin:/bin”,
    onlyif => “id test”
    }
  14. 文件系统挂载
    file { “/public”:
    ensure => directory
    }
    mount { “/public”:
    device => “192.168.0.254:/var/ftp/pub”,
    fstype => “nfs”,
    options => “defaults”,
    ensure => mounted
    }
    机关挂载文件系统,并伙同 fstab 文件,假诺需求卸载,改为 absent
  15. crontab 任务
    cron { echo:
    command => “/bin/echo `/bin/date` >> /tmp/echo”,
    user => root,
    hour => [‘2-4’],
    minute => ‘*/10’
    }
    # 任务会在 client 上/var/spool/cron 目录中生成。
    区别节点的概念:
  16. 在 puppetmaster 上编辑 site.pp
    # vi /etc/puppet/manifests/site.pp
    import “nodes.pp”
  17. 成立节点文件
    # vi /etc/puppet/manifests/nodes.pp
    node ‘desktop2.example.com’ {
    file { “/var/www/html/index.html”:
    【home88一必发】布满式文件系统安装向导,技术员技巧。content => “desktop2.example.com”
    }
    }
    node ‘desktop3.example.com’ {
    file { “/var/www/html/index.html”:
    content => “desktop3.example.com”
    }
    }
    编排模块:
    mkdir -p /etc/puppet/modules/httpd/{files,manifests,templates}
    cd /etc/puppet/modules/httpd/manifests
    vi install.pp
    class httpd::install {
    package { “httpd”:
    ensure => present
    }
    }
    vi config.pp
    class httpd::config {
    file { “/etc/httpd/conf/httpd.conf”:
    ensure => present,
    source => “puppet:///modules/httpd/httpd.conf”,
    #其实路线在/etc/puppet/modules/httpd/files/httpd.conf
    require => Class[“httpd::install”],
    notify => Class[“httpd::service”]
    }
    }
    vi service.pp
    class httpd::service {
    service { “httpd”:
    ensure => running,
    require => Class[“httpd::install”,”httpd::config”]
    }
    }
    vi init.pp
    class httpd {
    include httpd::install,httpd::config,httpd::service
    }
    vi nodes.pp
    node ‘server90.example.com’ {
    【home88一必发】布满式文件系统安装向导,技术员技巧。include httpd
    }
    service puppetmaster reload
    Puppet dashboard 安装 (用以 web 格局管理 puppet)
    依赖性:
    * Ruby 1.8.7
    * RubyGems
    * Rake >= 0.8.3
    * MySQL server 5.x
    * Ruby-MySQL bindings 2.7.x or 2.8.x
    # rpm -ivh rubygem-rake-0.8.7-2.1.el6.noarch.rpm
    # yum install puppet-dashboard ruby-mysql mysql mysql-server -y
    #mysql 5.1 境遇的音讯包过大难题用客户端导入数据的时候,境遇错误代码:
    1153 – Got a
    packet bigger than ‘max_allowed_packet’ bytes
    终止了数码导入,能够利用如下参数化解:
    (rhel6.3 上未遭遇)
    # vi /etc/my.cnf
    [mysqld]
    max_allowed_packet = 32M #增进此行
    # server mysqld start
    配置 mysql 数据库:
    mysql> CREATE DATABASE dashboard_production CHARACTER SET utf8;
    Query OK, 1 row affected (0.00 sec)
    mysql> CREATE USER ‘dashboard’@’localhost’ IDENTIFIED BY ‘westos’;
    Query OK, 0 rows affected (0.01 sec)
    mysql> GRANT ALL PRIVILEGES ON dashboard_production.* TO
    ‘dashboard’@’localhost’;
    Query OK, 0 rows affected (0.00 sec)
    mysql>
    # cd /usr/share/puppet-dashboard/
    # vi config/database.yml #只留下生产境遇布署
    production:
    database: dashboard_production
    username: dashboard
    password: westos
    encoding: utf8
    adapter: mysql
    # rake RAILS_ENV=production db:migrate #树立 dashboard
    所需的数据库和表
    puppet-dashboard 暗许时区不科学,必要修改:
    # vi /usr/share/puppet-dashboard/config/settings.yml
    time_zone: ‘Beijing’
    启航服务:
    # service puppet-dashboard start
    Starting Puppet Dashboard: => Booting WEBrick
    => Rails 2.3.14 application starting on [ OK
    ]
    # chmod 0666 /usr/share/puppet-dashboard/log/production.log
    # service puppet-dashboard-workers start
    实时报告汇总:
    设置 server 端:
    # vi /etc/puppet/puppet.conf
    [main] #加上以下两项
    reports = http
    reporturl =
    # service puppetmaster reload
    设置 client 端:
    # vi /etc/puppet/puppet.conf
    [agent] #增加以下行
    report = true
    # service puppet reload
    在客户端安装完 puppet
    后,何况认证完后,大家能够看来效果,那怎么让它自动与服务器同步
    呢?私下认可多少分钟跟服务器同步啊?如何修改同步的时光呢,那时候大家要求配备客户端:
    (1) 配置 puppet 相关参数和协同不经常间间:
    # vi /etc/sysconfig/puppet
    PUPPET_SERVER=puppet.example.com #puppet master 的地址
    PUPPET_PORT=8140 #puppet 监听端口
    PUPPET_LOG=/var/log/puppet/puppet.log #puppet 本地日志
    #home88一必发,PUPPET_EXTRA_OPTS=–waitforcert=500 
    【默承认步的时光,笔者这里不修改那行参数】
    (2)
    暗许配置完成后,客户端会一小时跟服务器同步贰次,大家得以修改那些时刻。
    # vi /etc/puppet/puppet.conf
    [agent]
    runinterval = 60  #表示 60 秒跟服务器同步二次
    # service puppet reload

上面大家以step-by-step 的措施,介绍在linux 平台安装 MooseFS
文件系统的着力历程。大家只要你将以mfs 用户和mfs
组来运营MooseFS。同不常候,大家推荐使用FHS(文件系统档次结构标准Filesystem
Hierarchy
Standard)包容路线,而且把归档文件mfs-1.6.15.tar.gz放置在/usr/src
目录里。本文目的在于向读者介绍如何在几个专项使用服务器安MooseFS
遍布式文件系统以及在单个服务器安装Moosefs 文件系统用于测量检验那样的情景。

主要调节伏务器 Master server: 192.168.0.82 desktop82.example.com

本例须要在设想机 server0
上揭橥两个分享文件夹,具体供给如下:

聚焦布局管理连串 puppet
是多少个配备管理工科具, 标准的, puppet 是多个 C/S 结构, 当然,这里的 C
能够有过多,因 此,也得以说是叁个星型结构…

新颖的MooseFS 牢固发行版本能够从
取得,在装置 MooseFS 系统客户端时,应当确认保障系统已经安装了精确的fuse
版本,若无fuse 被装置,
您能够从

仓库储存块服务器 Chunk servers: 192.168.0.81 and 192.168.0.93

   1> 此服务器必须是
STAFF 工作组的三个成员
   2> 发布目录 /common,共享名叫 common
   3> 发表目录 /devops,分享名叫 devops
   4> 那四个分享必须是可浏览的,独有 example.com
域内的客户端能够访谈
   5> 用户 harry 对共享 common 只读,密码是 migwhisk
   6> 用户 kenji 对共享 devops 只读,密码是 atenorth
   7> 用户 chihiro 对共享 devops 可读写,密码是atenorth

在专用服务器安装MooseFS 基本步骤

客户端主机 (clients): 192.168.0.95

方案:

作者们要是使用的主机ip 地址分配如下:
      主要控制伏务器Master server: 192.168.1.1
      主要调控备份服务器Metalogger server: 192.168.1.2
      存款和储蓄块服务器Chunk servers: 192.168.1.101 and 192.168.1.102
      客户端主机(clients): 192.168.2.x

 

Samba的用途:为多少个客户机提供分享应用的文件夹。

主要控击溃务器Master server 安装

持有节点都须要安装fuse-libs 

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

当大家设置主要调整伏务器时,在安排进程中( ./configure),可以撤销安装chunk
server  (–disable-mfschunkserver)以及MooseFS
客户端(–disable-mfsmount). 安装主要控克制务器master 的具体步骤为:

下载tar包,将它塑造为rpm包实行安装(desktop82.example.com上边)

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

1、添加mfs 组
  #groupadd mfs
2、新扩大系统用户mfs
  #useradd -g mfs mfs
3、切换目录
  #cd /usr/src
4、解包归档文件
  #tar -zxvf mfs-1.6.15.tar.gz
5、步向安装目录
  #cd mfs-1.6.15
6、配置
  #./configure –prefix=/usr –sysconfdir=/etc \
–localstatedir=/var/lib –with-default-user=mfs \
–with-default-group=mfs –disable-mfschunkserver –disable-mfsmount
7、编写翻译并安装
  #make
  #make install

yum install gcc make gcc-c++ rpm-build fuse-devel  zlib-devel openssh-clients  -y rpmbuild -tb mfs-1.6.25.tar.gzcd /root/rpmbuild/RPMS/x86_64lsmfs-cgi-1.6.25-1.x86_64.rpm          mfs-master-1.6.25-1.x86_64.rpm mfs-chunkserver-1.6.25-1.x86_64.rpm  mfs-metalogger-1.6.25-1.x86_64.rpm mfs-client-1.6.25-1.x86_64.rpm

scp mfs-chunkserver-1.6.25-1.x86_64.rpm desktop81.example.com:~ scp mfs-chunkserver-1.6.25-1.x86_64.rpm desktop93.example.com:~ 

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

得逞安装master 以往,系统会在/etc       
目录自动生成样例配置文件,这么些样例文件是以.dist
后缀命名。这里我们将借用那么些样例文件作为MooseFS
主要调整伏务器的靶子安插文件:

生成里那样七个RPM包

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

MooseFS 布满式文件系统安装向导 PDF 下载:

主要控战胜务器 Master server 安装 

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

免费下载地址在

rpm -ivh mfs-master-1.6.25-1.x86_64.rpm rpm -ql mfs-master /etc/mfsexports.cfg.dist /etc/mfsmaster.cfg.dist /etc/mfstopology.cfg.dist    #成功安装 master 以后,系统会在/etc 目录自动生成样例配置文件,这些样例文件是以.dist 后缀命名。直接复制重命名*********** cp /etc/mfsexports.cfg.dist /etc/mfsexports.cfg    #访问控制cp /etc/mfstopology.cfg.dist /etc/mfstopology.cfgcp /etc/mfsmaster.cfg.dist /etc/mfsmaster.cfg    #主配置文件useradd mfsvim /etc/mfsmaster.cfg      #将前两行进行修改,加井号表示默认值WORKING_USER = mfsWORKING_GROUP = mfscd /var/lib/mfscp metadata.mfs.empty metadata.mfschown mfs.mfs /var/lib/mfs/ -R

vim /etc/hosts 192.168.0.82    mfsmaster #每个节点都要做这一部 

cd ~ rpm -ivh mfs-cgi-1.6.25-1.x86_64.rpm cd /usr/share/mfscgi/ chmod +x *.cgi mfsmaster start mfscgiserv start 

萨姆ba账号管理工科具:

用户名与密码都以www.linuxidc.com

 此时开垦desktop82.example.com:9425就足以展开可视化的调节分界面 

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

切实下载目录在 /二零一二年资料/11月/二十六日/MooseFS 分布式文件系统安装向导 PDF

home88一必发 3

测量检验Samba分享财富:

 

home88一必发 4

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

要么百度网盘下载:

步骤:

有关阅读:MooseFS遍布式文件系统安装配备常见难点集 
http://www.linuxidc.com/Linux/2013-06/85752.htm

手续一:在服务器server0揭橥Samba分享文件夹

home88一必发 5

1)安装软件包samba

    [root@server0 ~]#
yum  -y  install  samba
    .. ..

2)创制分享账号

累加分享账号harry,密码为migwhisk:

    [root@server0 ~]#
useradd  harry
    [root@server0 ~]# pdbedit  -a  harry                 
//依照提醒设好密码migwhisk
    new password:
    retype new password:

累加分享账号kenji,密码为atenorth:

    [root@server0 ~]#
useradd  kenji
    [root@server0 ~]# pdbedit  -a  kenji                 
//依据提醒设好密码atenorth
    new password:
    retype new password:

累加分享账号chihiro,密码为atenorth:

    [root@server0 ~]#
useradd  chihiro
    [root@server0 ~]# pdbedit  -a  chihiro             
//依照提醒设好密码atenorth
    new password:
    retype new password:

确认分享账号:

    [root@server0 ~]#
pdbedit  -L
    harry:1003:
    chihiro:1005:
    kenji:1004:

3)希图分享文件夹

    [root@server0 ~]#
mkdir  /common
    [root@server0 ~]# mkdir  /devops
    [root@server0 ~]# setfacl  -m  u:chihiro:rwx  /devops         
//配置写入权限

4)调治SELinux按键战略,允许揭橥可写的Samba分享能源

    [root@server0 ~]#
getsebool  -a  |  grep ^samba_exp          //暗许配置
    samba_export_all_ro –> off
    samba_export_all_rw –> off
    [root@server0 ~]# setsebool  -P 
samba_export_all_rw=on         //长久打开设置
    [root@server0 ~]# getsebool  -a  |  grep ^samba_exp         
//查看结果
    samba_export_all_ro –> off
    samba_export_all_rw –> on

5)配置共享目录

    [root@server0 ~]#
vim  /etc/samba/smb.conf
    [global]
        workgroup = STAFF
        .. ..
    [common]
        path = /common
        hosts allow = 172.25.0.0/24
    [devops]
        path = /devops
        hosts allow = 172.25.0.0/24
        write list = chihiro

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

    [root@server0 ~]#
systemctl  restart  smb
    [root@server0 ~]# systemctl  enable  smb
    ln -s ‘/usr/lib/systemd/system/smb.service’
‘/etc/systemd/system/multi-user.target.wants/smb.service’
    [root@server0 ~]# netstat  -antpu  |  grep  smb
    tcp        0      0 0.0.0.0:445             0.0.0.0:*              
LISTEN      4709/smbd
    tcp        0      0 0.0.0.0:139             0.0.0.0:*              
LISTEN      4709/smbd

手续二:在客户机desktop0测量检验Samba分享财富

 1)安装软件包samba-client

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

2)浏览目的主机提供了什么样分享财富

    [root@desktop0 ~]#
smbclient  -L  server0.example.com
    Enter root’s password:                         
//此处不要求输入密码,直接回车
    Anonymous login successful
    Domain=[MYGROUP] 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=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
        Server               Comment
        ———            ——-
        Workgroup            Master
        ———            ——-

3)连接到对象主机的分享目录

    [root@desktop0 ~]#
smbclient  -U  harry  //server0.example.com/common
    Enter harry’s password:                             
//输入harry的密码
    Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
    smb: \> ls                                        
//检查是或不是可列出目录内容
      .                                   D        0  Sun Nov 27
03:07:29 2016
      ..                                  D        0  Sun Nov 27
03:07:32 2016
            40913 blocks of size 262144. 27826 blocks available
    smb: \> quit                                        
//退出smb:\>交互情形
    [root@desktop0 ~]#

二、多用户Samba挂载

目标:

本例供给在虚拟机 desktop0
上访谈 server0 提供的分享 devops,脾气如下:

    1>
将此分享永世挂载在 /mnt/dev 目录
    2> 挂载时以用户 kenji 作为验证
    3>须求的时候,任何普通用户都能够由此用户 chihiro
来偶尔收获写的权位

方案:

萨姆ba客户端的multiuser挂载:援救切换访谈Samba分享的用户地方,但不须要再一次挂载分享财富。挂载参数须求丰硕“multiuser,sec=ntlmssp”,客户机上的普通用户能够透过cifscreds命令提交新的身份凭证。

在客户端挂载Samba分享目录,要求软件包cifs-utils的支撑。

为访谈互联网能源配置开机挂载时,注意增加参数“_netdev”,表示等客户机互联网布署可用现在才挂载对应能源。

步骤:

手续一:挂载山姆ba共享目录

1)创立挂载点

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

2)安装cifs-utils软件包

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

3)配置开机挂载

    [root@desktop0 ~]#
vim  /etc/fstab
    .. ..
    //server0.example.com/devops    /mnt/dev        cifs   
username=kenji,password=atenorth,_netdev     0     0

4)测量试验挂载配置

    [root@desktop0 ~]#
mount  -a
    [root@desktop0 ~]# df  -hT  /mnt/dev
    Filesystem                   Type  Size  Used Avail Use% Mounted
on
    //server0.example.com/devops cifs   10G  3.2G  6.8G  32%
/mnt/dev

步骤二:启用multiuser多用户协理

1)修改挂载配置,添增加用户帮衬

    [root@desktop0 ~]#
vim  /etc/fstab
    .. ..
    //server0.example.com/devops    /mnt/dev    cifs   
username=kenji,password=atenorth,multiuser,sec=ntlmssp,_netdev 0 0
    [root@desktop0 ~]# umount  /mnt/dev                
//卸载此分享
    [root@desktop0 ~]# mount  /mnt/dev                
//重新挂载此共享

2)验证多用户访谈

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

    [root@desktop0 ~]#
su – student
    Last login: Sun Nov 27 03:51:32 CST 2016 on pts/0
    [student@desktop0 ~]$ ls /mnt/dev
    ls: cannot access /mnt/dev: Permission denied

以分享用户chihiro身份提交新的拜谒凭据,再一次印证,对挂载点/mnt/dev可读写:

    [student@desktop0
~]$ cifscreds  -u  chihiro  add  server0.example.com
    Password:                                          
//输入分享账号chihiro的密码
    [student@desktop0 ~]$ touch  /mnt/dev/a.txt
    [student@desktop0 ~]$ ls  /mnt/dev/a.txt
    /mnt/dev/a.txt

三、普通NFS分享的完成

目标:

本例须要在虚拟机 server0
上陈设NFS服务,实现以下任务:

   1>
只读的不二秘籍共享目录 /public,只好被 example.com 域中的系统访谈
   2> 可读写共享目录/protected,能被 example.com 域中的系统访谈

接下来在设想机 desktop0
上访谈NFS分享目录

   1> 将 server0 的 /public
挂到地头 /mnt/nfsmount
   2> 那些文件系统在系统运营时自动挂载

方案:

对于一般NFS分享来说:

   1>
服务端必要周转种类服务 nfs-server.service
   2> 客户端没有需要周转特定的种类服务

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

   文件夹相对路线        客户地址1(ro或rw等调整参数) 
客户地址2(ro或rw等调节参数) .. ..

步骤:

手续一:在server0上公布NFS分享目录

1)筹划须求分享的文本夹

    [root@server0 ~]#
mkdir  /public
    [root@server0 ~]# mkdir  /protected

2)创立NFS分享配置

    [root@server0 ~]# vim  /etc/exports
    /public         172.25.0.0/24(ro)
    /protected      172.25.0.0/24(rw)

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

    [root@server0 ~]#
systemctl  restart  nfs-server
    [root@server0 ~]# systemctl  enable  nfs-server
    ln -s ‘/usr/lib/systemd/system/nfs-server.service’
‘/etc/systemd/system/nfs.target.wants/nfs-server.service’

手续二:在desktop0上挂载NFS分享目录/public

1)创制挂载点

    [root@desktop0 ~]#
mkdir  /mnt/nfsmount

2)列出server0上提供的NFS分享财富

    [root@desktop0 ~]#
showmount  -e  server0.example.com
    Export list for server0.example.com:
    /protected 172.25.0.0/24
    /public    172.25.0.0/24

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

    [root@desktop0 ~]#
vim  /etc/fstab
    .. ..
    server0.example.com:/public     /mnt/nfsmount   nfs     _netdev  
0  0

4)测验挂载配置

    [root@desktop0 ~]#
mount  -a
    [root@desktop0 ~]# df  -hT  /mnt/nfsmount/
    Filesystem                  Type  Size  Used Avail Use% Mounted on
    server0.example.com:/public nfs4   10G  3.2G  6.8G  32%
/mnt/nfsmount

四、安全NFS分享的得以实现

目标:

本例须求在虚构机 server0
上计划安全NFS服务,达成以下职责:

   1> 访问 /protected
需 kerberos
加密,密钥地址:
   2> 目录 /protected 下满含名称为 project 的子目录

然后在虚构机 desktop0
上访问NFS分享目录

   1> 挂载 /mnt/nfssecure 需
kerberos加密,密钥地址:
   2> 用户 ldapuser0 可以在 /mnt/nfssecure/project
目录下开创文件,其密码为 kerberos

方案:

对此安全NFS分享来说:

  •     服务端必要周转种类服务
    nfs-server.service、nfs-secure-server.service
  •    
    客户端需求周转系统服务 nfs-secure.service

kerberos认证/加密:一次验证(获取通行证),多次免密码登陆。

客户机密钥安插地方:/etc/krb5.keytab 。

出席kerberos认证/加密的客户机供给参与同一个kerberos领域,在教学条件虚构机中可透过实施lab
nfskrb5 setup操作来贯彻。

步骤:

手续一:将server0、desktop0参加kerberos认证领域

教学蒙受虚构机按以下操作管理。

1)初始化server0

    [root@server0 ~]#
lab  nfskrb5  setup
    Installing packages …
    Updating authconfig for ldap & krb5 …
    SUCCESS

2)初始化desktop0

    [root@desktop0 ~]#
lab  nfskrb5  setup
    Installing packages …
    Updating authconfig for ldap & krb5 …
    SUCCESS

3)验证开首化结果

能够行使网络账号ldapuser0登陆到server0或desktop0,其密码是kerberos:

    [root@server0 ~]#
ssh  ldapuser0@desktop0.example.com
    The authenticity of host ‘desktop0.example.com (172.25.0.10)’ can’t
be established.
    ECDSA key fingerprint is
eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
    Are you sure you want to continue connecting (yes/no)? yes        
//接受密钥
    Warning: Permanently added ‘desktop0.example.com,172.25.0.10’
(ECDSA) to the list of known hosts.
    ldapuser0@desktop0.example.com’s password:              
//输入密码kerberos
    Creating home directory for ldapuser0.
    [ldapuser0@desktop0 ~]$                                  
//成功登录
    [ldapuser0@desktop0 ~]$ exit                          
//再次来到原遭受
    logout
    Connection to desktop0.example.com closed.
    [root@server0 ~]#

步骤二:为server0、desktop0部署kerberos密钥

1)为server0下载及陈设密钥

    [root@server0 ~]#
wget    -O /etc/krb5.keytab
    .. ..
    2016-11-27 04:26:38 (83.7 MB/s) – ‘/etc/krb5.keytab’ saved
[1242/1242]
    [root@server0 ~]# file  /etc/krb5.keytab                
//检查陈设结果
    /etc/krb5.keytab: data

2)为desktop0下载及布署密钥

    [root@desktop0 ~]#
wget    -O
/etc/krb5.keytab
    .. ..
    2016-11-27 04:27:25 (68.4 MB/s) – ‘/etc/krb5.keytab’ saved
[1242/1242]
    [root@desktop0 ~]# file  /etc/krb5.keytab                
//检查布署结果
    /etc/krb5.keytab: data

手续三:在server0上调解/protected分享配置

1)创设钦命的子目录

    [root@server0 ~]#
mkdir  /protected/project
    [root@server0 ~]# chown  ldapuser0  /protected/project        
//赋予可写权限

2)调治分享目录的安控类型

    [root@server0 ~]#
vim  /etc/exports
    /public        172.25.0.0/24(ro)
    /protected    172.25.0.0/24(rw,sec=krb5p)                    
//指虞升卿全项目

3)重启系统服务nfs-server、nfs-secure-server,设置开机自启

    [root@server0 ~]#
systemctl  restart  nfs-server  nfs-secure-server
    [root@server0 ~]# systemctl  enable  nfs-server 
nfs-secure-server
    ln -s ‘/usr/lib/systemd/system/nfs-secure-server.service’
‘/etc/systemd/system/nfs.target.wants/nfs-secure-server.service’

步骤四:在desktop0上挂载安全NFS分享/protected

1)创制挂载点

   [root@desktop0 ~]#
mkdir  /mnt/nfssecure

2)运行系统服务nfs-secure,并安顿开机自启

    [root@desktop0 ~]#
systemctl  restart  nfs-secure
    [root@desktop0 ~]# systemctl  enable  nfs-secure
    ln -s ‘/usr/lib/systemd/system/nfs-secure.service’
‘/etc/systemd/system/nfs.target.wants/nfs-secure.service’

3)配置开机挂载安全NFS分享

    [root@desktop0 ~]#
vim  /etc/fstab
    .. ..
    server0.example.com:/public     /mnt/nfsmount   nfs     _netdev  0 
0
    server0.example.com:/protected  /mnt/nfssecure  nfs    
sec=krb5p,_netdev  0  0

4)验证挂载配置

    [root@desktop0 ~]#
mount  -a
    [root@desktop0 ~]# df  -hT  /mnt/nfs*
    Filesystem                     Type  Size  Used Avail Use% Mounted
on
    server0.example.com:/public    nfs4   10G  3.3G  6.8G  33%
/mnt/nfsmount
    server0.example.com:/protected nfs4   10G  3.3G  6.8G  33%
/mnt/nfssecure

5)测量检验对挂载点的写入权限

以用户ldapuser0通过SSH的艺术登陆desktop0,验证密码(kerberos)以获得通行证:

    [root@desktop0 ~]#
ssh  ldapuser0@desktop0.example.com
    ldapuser0@desktop0.example.com’s password:              
//输入密码kerberos
    Last login: Sun Nov 27 04:39:52 2016 from desktop0.example.com
    [ldapuser0@desktop0 ~]$        //成功登录

访问desktop0的挂载点/mnt/nfssecure/的子目录project,测验可写入:

    [ldapuser0@desktop0
~]$ touch  /mnt/nfssecure/project/a.txt
    [ldapuser0@desktop0 ~]$ ls  -lh  /mnt/nfssecure/project/a.txt
    -rw-rw-r–. 1 ldapuser0 ldapuser0 0 Nov 27 04:43
/mnt/nfssecure/project/a.txt   

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图