Linux系统工程师3.5网络文件系统

目录

一.samba简介 :

二.samb的安装和启用 :

三.samba 用户添加

四. samba 的配置 :

五.客户端自动挂载和卸载 :

六.samba多用户挂载 :

七.nfs

八.nfs共享目录权限 :

九.客户端自动挂载和卸载

十: iscsi 分区共享:

十一.iscsi永久自动挂载 :

十二.iscsi共享设备的删除 :


———————实验环境

        两台全新虚拟机,一台ID 123(服务器) 一台ID 223(客户端),并且配置好软件仓库

一.samba简介 :

    1.samba服务简介 :

    作用:
    smb = Server Message Block    Sum
    cifs = Common Internet File System    Miscrosoft
    windows系统共享文件时用到的协议smb
    smb是由miscrosoft+sun
    
    linux cifs
  2.samb基本信息
    服务启动脚本
    smb.service
    主配置目录 : /etc/samba
    主配置文件 : /etc/smb.conf
    安全上下文 : samba_share_t
    端口 : 139 445
    安装包 : samba samba-common samba-client.x86_64(实验所需)

二.samb的安装和启用 :

        在服务器中:服务器ID是123

        

    1.dnf search samba
    2.dnf install samba samba-common.noarch samba-client.x86_64 -y
    3.systemctl enable --now smb.service
    4.firewall-cmd --permanent --add-service=samba
    5.firewall-cmd --reload
    6.smbclient -L //172.25.254.123        ##没有密码直接敲回车
    
    [root@123 ~]# smbclient -L //172.25.254.123
    Enter SAMBA\root's password:
    Anonymous login successful

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        IPC$            IPC       IPC Service (Samba 4.11.2)
    SMB1 disabled -- no workgroup available

 三.samba 用户添加

        tips: samba 必须是本机存在的用户

        1.samba 用户添加

    smbpasswd -a westos        ##用户westos存在,并且smb密码是独立的密码和westos登录系统密码无关
    smbpasswd -a lee        ##lee用户不存在
        Failed to add entry for user lee.        ##报错
        useradd -s /sbin/nologin lee -M        ##创建lee用户
    smbpasswd -a lee                ##samba添加lee用户
    pdbedit -L                         ##表示查看smb用户
    pdbedit -x lee                    ##删除smblee用户
    smbclient -L //172.25.254.123 -U westos        ##查看smb中westos用户共享资源
    smbclient //172.25.254.123/westos -U westos    ##查看smb中westos用户共享资源中的westos内容
        Enter SAMBA\westos's password:
        Try "help" to get a list of possible commands.
        smb: \> ls        
        NT_STATUS_ACCESS_DENIED listing \*    ##成功了但是受到了selinux影响,不能浏览自己的家目录

    tips:如果解析较慢,在/etc/resolv.conf中写入 ip及其 hostname

 2.家目录共享访问

            cd /etc/samba/
    ls
        lmhosts  smb.conf  smb.conf.example    ##smb.conf/smb服务的主配置文件       smb.conf.example/smb服务配置文件模板
    cp smb.conf.example smb.conf -p            ##重新生成配置文件
    smbclient -L //172.25.254.123 -U westos        
    smbclient  //172.25.254.123/westos  -U westos    ##可以进入但是查看不到家目录
    vim /etc/samba/smb.conf
    setsebool -P samba_enable_home_dirs on        ##调整selinux中的smb波尔指使用户可以访问家目录
    smbclient  //172.25.254.123/westos  -U westos
    ls就可以茶看到家目录       

3.自创文件共享访问 

                mkdir /westos_share

                ls -ld /westos_share/

                vim /etc/samba/smb.conf   

                         [westos_share]                  ##共享名称
                         comment= westos share    ##共享说明
                         path = /westos_share        ##指定共享的本地目录

         systemctl restart smb.service

        smbclient -L //172.25.254.123 -U westos

        有westos_share代表共享成功

        touch /westos_share/westosfile{1..3} 

        smbclient  //172.25.254.123/westos_share  -U westos 

        会报错,因为selinux限制        NT_STATUS_ACCESS_DENIED listing \*

         vim /etc/samba/smb.conf

        semanage fcontext -a -t samba_share_t '/westos_share(/.*)?'        ##复制并且修改它的安全上下文

        restorecon -RvvF /westos_share/                        ##立即刷新

        smbclient  //172.25.254.123/westos_share  -U westos    再次进入就可以查看westos_share中创建的文件

4. 系统级别目录共享访问 :

        vim /etc/samba/smb.conf 

            [etc]
            comment= etc dir
            path = /etc    
        systemctl restart smb.service 

        smbclient -L //172.25.254.123 -U westos

        有etc代表分享成功

         如果分享不成功,getsebool -a | grep samba

        开启         samba_export_all_ro --> off
                        samba_export_all_rw --> off

四. samba 的配置 :

 1.全局共享 :

        vim /etc/samba/smb.conf               ##91行左右,注释需要用;不是#

        hosts Deny = 172.25.254.223        

 

2.指定共享,最后补充 

        vim /etc/samba/smb.conf         

                 [westos_share]                  ##共享名称
                 comment= westos share    ##共享说明
                 path = /westos_share         ##指定共享的本地目录
                 hosts allow = 172.25.254.223 

3.隐藏共享资源 

                [westos_share]       
                comment= westos share   
                path = /westos_share  
                browseable = no        ##隐藏共享资源

        

4. 指定登陆用户

                [westos_share]     
                comment= westos share   
                path = /westos_share  
                valid users = westos    ##只能通过westos登陆

         如果设定为 valid users = @|+westos        表示指定westos组以及组成员都可以连接这个目录,用@或者+均可,且保证lee用户也是samba用户

 5.全局读写 :

服务器:      ls -ld /westos_share/

          chmod 777 /westos_share/

客户端 :    mount //172.25.254.123/westos_share /mnt/ -o username=lee,password=westos

            df

客户端:    vim /etc/samba/smb.conf
                    [westos_share]
                    comment= westos share
                    path = /westos_share
                     writable = yes        ##westos_share以读写的方式共享

 

 6.指定读写 :

        vim /etc/samba/smb.conf

                      [westos_share]
                      comment= westos share
                     path = /westos_share
                      write list = lee    ##此目录只对与lee用户可写

        vim /etc/samba/smb.conf 

                          comment= westos share
                          path = /westos_share
                          write list = @lee            ##此目录只对与lee用户组以及组成员可写

                          usermod -G lee westos        ##设定westos被添加到lee组中

        

7.匿名访问 :

         客户端 :smbclient  //172.25.254.123/westos_share        访问被拒绝

        服务器 :vim /etc/samba/smb.conf      

                119行加 :map to guest = bad user        ##吧没有用户身份的用户映射为guest账号
                   最后加:  guest ok = yes                ##此目录允许guest用户访问  

 

 客户端:    smbclient //172.25.254.123/westos_share        ##直接回车不需要输入密码,
                    mount //172.25.254.123/westos_share /mnt/ -o username=guest    ##匿名用户的资源挂载 

 五.客户端自动挂载和卸载 :

         在客户端中 :更加的节省资源,在你cd到该目录的时候,系统自动挂载可以访问的目录,不用的时候又自动卸载,非常好用      

       umount /mnt

        dnf install autofs -y
        vim /etc/auto.master
                    /westos  /etc/auto.share    ##最终挂载目录的上层目录    子挂载文件,名称自定义,并且在系统中默认不存在
        vim /etc/auto.share
                    samba  -fstype=cifs,username=westos,password=westos    ://172.25.254.123/westos_share
        vim /etc/autofs.conf            ##autofs的配置文件
                     15 timeout = 5        ##自动卸载时间
        systemctl restart autofs.service
        df没有挂载
        cd /westos/samba
        df挂载完成
        然后cd出来,过五妙,df显示挂载消失 

 

 

六.samba多用户挂载 :

        客户端 :root用户手动挂载了,可以看到自己挂载目录中的东西,但是切换到westos中,依然可以查看目录中的文件,不安全

        mount //172.25.254.123/westos_share /mnt -o username=lee,password=westos
        ls /mnt/
        su - westos
        ls /mnt/ 

       当我们切换到westos用户后,依然可以看见root用户在mnt目录中挂载的资源
        

        dnf install cifs-utils -y


        man mount.cifs        ##查看安全插件的用法    
        vim /root/smbpass    ##当用户挂载smb资源时书写账号密码可以直接被history看到,所以我们写到文件中并设定权限
                    username=lee
                    password=westos
        chmod 600 /root/smbpass
        umount /mnt
        mount -o credentials=/root/smbpass //172.25.254.123/westos_share /mnt/        ##用此参数指定密码文件后密码被隐藏起来

   

         mount -o credentials=/root/smbpass,multiuser //172.25.254.123/westos_share /mnt/    ##多用户认证参数,没有认证的用户不可使用smb上的资源
        su - westos
        ls /mnt                ##没有查看的权限

         

        mount -o credentials=/root/smbpass,multiuser,sec=ntlmssp  //172.25.254.123/westos_share /mnt/        ##用户使用到的认证方式
        su - westos
        ls /mnt
            ls: cannot access '/mnt': Permission denied
        cifscreds '--help'
        cifscreds add -u westos 172.25.254.123
        密码输入错误时:        cifscreds clearall
        cifscreds add -u westos 172.25.254.123
        输入正确密码
        ls /mnt


 

 tips :  sec=ntlmssp    ##用户使用到的认证方式
            multiuser        ##多用户认证参数,当挂载时添加此参数,没有通过认证的用户不可以使用smb上的资源
            credentials=/root/smbpass    ##用此参数指定密码文件后密码被隐藏起来

七.nfs

一.nfs基本信息:

nfs-utils        ##安装包

nfs-server        ##服务脚本

/etc/exports        ##共享配置文件

二.nfs的启用 :        ##端口    2049

服务器: dnf install nfs-utils.x86_64 -y        ##客户端和服务端同一个安装包
            systemctl enable --now nfs-server.service
            netstat -antlupe | grep 2049
            firewall-cmd --permanent --add-service=nfs
            firewall-cmd --reload
            firewall-cmd --permanent --add-service=mountd
            firewall-cmd --permanent --add-service=rpc-bind
            firewall-cmd --reload

客户端:    dnf install nfs-utils.x86_64 -y
            systemctl enable --now nfs-server.service
            firewall-cmd --permanent --add-service=nfs
            firewall-cmd --reload
            showmount -e 172.25.254.123        ##列出nfs服务器中的共享资源

 

 八.nfs共享目录权限 :

服务器: mkdir /westosdir
               ls -ld /westosdir/
               chmod 777 /westosdir/         #给予共享目录满权限依旧不可以写
               vim /etc/exports            ##共享策略文件
                        /westosdir      *(ro,sync)        ##sync(没有wq保存不共享,)async(在客户端编写文件即使写了wq没保存也共享,实施同步)
               exportfs -rv

 

 

 客户端    showmount -e 172.25.254.123就可以看见共享的文件 /westosdir
                mount 172.25.254.123:/westosdir /mnt/

 

 服务器    touch /westosdir/lq{1..3}
                man 5 exports        ##可以查看共享策略文件的书写参数和书写方式
 客户端    ls /mnt/    可以看到服务器中创建的文件

 

 ————————

服务器    vim /etc/exports
        /westosdir      *(ro,sync)
        /westosdir      172.25.254.223(rw,sync)            ##对除223意外的主机只读共享,对223主机读写共享
    exportfs -rv

客户端    223客户端mount 172.25.254.123:/westosdir /mnt/然后在mnt中创文件可以
              23客户端mount 172.25.254.123:/westosdir /mnt/在mnt中创文件被拒绝 

 

 

  ————————

 服务器    ls -l /westosdir/    可以看到当客户端挂载共享本地目录后,使用到的用户身份是服务器上的nobody
     vim /etc/exports
                /westosdir      *(ro,sync) 172.25.254.223(rw,sync,anonuid=1000,anongid=1000)    ##指定客户端在挂载时使用的用户为1000,不是默认的nobody
    exportfs -rv
    然后在客户端创建个文件,这里显示就是westos用户和组

 

 

  ————————
    vim /etc/exports
            /westosdir      *(ro,sync) 172.25.254.223(rw,sync,no_root_squash)    ##当客户端使用超级用户进行nfs资源挂载后沿用自己root身份到服务器中
    exportfs -rv
    然后在客户端用root身份进行挂载,mount 172.25.254.123:/westosdir /mnt/,在创建文件服务器上看见的就是root身份

 

 

九.客户端自动挂载和卸载

客户端    

    dnf install autofs -y
    vim /etc/auto.master
             9 /westos  /etc/auto.nfs    #注释掉smb的,挂载点的上层目录和挂载点
    vim /etc/auto.nfs    ##编辑子策略文件,默认不存在,自己创建,
              nfs     -rw     172.25.254.123:/westosdir    ##最终挂载路径    挂载参数    nfs服务器上共享出来的资源
    systemctl restart autofs.service
    cd /westos/nfs
    df    就自动挂载了

十: iscsi 分区共享:

服务器中:
添加一块新的硬盘, 5G ,Disk device    VirtlO
fdisk -l
fdisk /dev/vdc
创建一个2G大小的分区
dnf install targetcli -y        ##共享策略管理软件
systemctl enable --now target
targetcli        ##用此命令编写共享策略
ls可查看,蓝色为目录,紫色为目录中的命令

/> /backstores/block create westos:storage1 /dev/vdc1		##westos:storage1在此设备中设备的别名	/dev/vdc1系统中真实存在的设备

/> /iscsi create iqn.2021-08.org.westos:storage1		##建立对外共享名称,iqn的命名方式,iscsi限定名称,格式 iqn.YYYY-MMM.域名反写.别名

/> /iscsi/iqn.2021-08.org.westos:storage1/tpg1/luns create /backstores/block/westos:storage1	##把共享名称和内部指定设备关联

/> iscsi/iqn.2021-08.org.westos:storage1/tpg1/acls create iqn.2021-08.org.westos:westoskey	##未共享设备设定访问key , key本是加密字符,实验方便用westoskey

 

 客户端中:
    dnf search iscsi
    dnf install iscsi-initiator-utils.x86_64 -y    ##客户端软件
    systemctl status iscsid                ##对客户端配置控制服务
    iscsiadm -m discovery -t st -p 172.25.254.123    ##m:mode    -t 指定要识别的设备理性    -p 指定资源主机ip
    连接123服务失败,因为123的火墙

 

 服务器中:
    
    firewall-cmd --permanent --add-port=3260/tcp    ##开服务的端口让客户端可以访问
    firewall-cmd --reload

 

 客户端中:
    iscsiadm -m discovery -t st -p 172.25.254.123
    172.25.254.123:3260,1 iqn.2021-08.org.westos:storage1
    iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.123 -l    ##    -T 指定要访问的共享设备名称 -l登陆共享设备
    因为在客户端中未指定服务器段的共享key所以无法登陆

    vim /etc/iscsi/initiatorname.iscsi        ##再次文件中指定共享key
                InitiatorName=iqn.2021-08.org.westos:westoskey
    systemctl restart iscsid.service
    iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.123 -l
    Logging in to [iface: default, target: iqn.2021-08.org.westos:storage1, portal: 172.25.254.123,3260]
    Login to [iface: default, target: iqn.2021-08.org.westos:storage1, portal: 172.25.254.123,3260] successful.
    成功登陆,然后fdisk -l 可以看到在客户端这个单硬盘的电脑也有两块硬盘,另一块硬盘就来自于服务器的/dev/vdc1
    fdisk /dev/sda
    mkfs.xfs /dev/sda1
    mount /dev/sda1 /mnt/ 

 

十一.iscsi永久自动挂载 :

客户端中 :

    blkid        ##查看设备id,因为网络通信的原因,可能主机名称变化,因此挂载用设备id挂载
    vim /etc/fstab
                UUID=859a6c37-707e-4fa4-91b9-f22530460295 /mnt                    xfs     defaults,_netdev      0 0

 

十二.iscsi共享设备的删除 :

在客户端卸载设备:
    vim /etc/fstab    ##删除网络设备的自动挂载信息
    umount /mnt
    tree /var/lib/iscsi/    ##在客户端读取道德服务器的所有数据存放目录
    iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.123 -u    ##-u表示退出登陆
    fdisk -l发现设备不见了,但是数据还在,systemctl restart iscsi之后fdisk -l设备又回来了
    iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.123 -u
    iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.123 -o delete        ##删除客户端主机中此网络设备数据
    tree /var/lib/iscsi/    
    fdisk -l

 

 服务器中:
    targetcli
    ls
    输入clearconfig confirm=True        ##清空服务器中iscsi的共享数据
    exit退出

 

 

 

 

 

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值