SMB文件共享方法

         用internet文件系统(CIFS)也称为服务器信是适合用于MicrosoftWindows 服务器和客户端的标准文件和打印机共享系统息块(SMB);而我们要学习的Samba服务可用于将linux文件系统作为CIFS/SMB网络文件共享。并将linux打印机作为cifs/smb打印机进行共享;

       Samba实在Linux系统实现SMB协议的免费软件,有服务端与客户端构成;关于samba安装包信息:

      1.samba:这个套件主要包含SAMBA的主要daemon档案,SAMBA的文件档,以及其他与SAMBA的相关logrotate设定文件及开机预选档案;

       2.samba-common :提供软件的主要设置文件以及语法检验的测试程序;

       3. samba-client:提供linux作为客户端,所需要的工具指令等;

一. samba软件的安装以及基本操作

  1.软件安装(客户端和服务端都要安装测试需要使用)

     

     

2.启动服务,设置防火墙关闭;seLinux设为安全值;

   

3.  samba用户的查询以及添加;   pdbedit -L    ####查看samba用户

    

通过查询该服务器里没有samba用户,而samba用户的添加需要服务端本身已经存在的用户;

        ####用户1添加成功

         #####用户2添加完成

     ###不存在用户无法添加

而服务端不存在的用户是无法添加成功的,如果需要添加samba用户,需要添加该用户为服务端用户;

 

#####用户westos通过添加成为服务端用户最后添加成为samba用户;

4.如果不需要一些用户则可以进行删除:


二. 客户端与服务端的文件传输

1.在客户端与服务端安装samba软件;由客户端(192.168.88.129)链接服务端(192.168.88.128)测试;

  我的客户端按照上面服务端命令来安装samba软件,缺少samba-client.x86_64软件安装而导致客户但无法链接服务端;

 

安装完成以后可以成功链接;


3.smbclient -L //192.168.88.128     ###匿名进入服务端,匿名进入不需要输入密码;

4.我们在服务端设置好了samba用户,现在我们以用户身份进入:           ####查看,新建,删除,下载命令操作


在家目录里面我们不能进行查看,因为服务端的selinux处于强制状态,需要更改成警告状态;


现在我们可以进入westos里面查看,!ls查看客户端当前位置的内容()


help    ###查看我们可以使用的命令


我们不能直接在命令新建文件,需要将该目录挂载到客户端目录,再进行新建文件;


再次进入westos目录下进行查看file; 可以删除file文件;


注意:如果不能删除文件,可能是我们的selinux值不为安全值!

5.分享系统文件

 a.在/etc/samba/smb.con.example 文件下提示我们可以打开bool值来共享系统文件


注意:可能因为使用的Linux不同,而配置文件的位置不同;

b.打开samba_export_all_ro 或者 samba_export_all_rw 的bool 值;


c.在/etc/samba/smb.con.example 配置文件添加共享的文件以及设定;

    

6.服务端用户新建目录共享;

a.新建我们需要共享的目录:

  mkdir  /smbdir     ###跟目录下新建smbdir目录

b. 在/etc/samba/smb.conf.example 文件最后面添加:


comment   ####对于文件的说明

path          ####共享文件的位置

c.还需要对文件进行安全上下文;


d.重新启动smb服务可以进行测试;



7.在服务端测试smbclient链接服务端自身westos用户的家目录;


我们访问自己的家目录是被拒绝,需要打开samba_enable_home_dirs 的bool值为on;


现在我们可以访问自身用户的家目录;


NFS文件共享

1.首先是客户端与服务端安装NFS服务的软件nfs-utils,然后启动nfs服务;


systemctl  start nfs  ####启动nfs服务;

2.客户端登录进去共享目录下什么都没有;


3.在服务端建立共享目录:


在/etc/exports文件里添加下面命令

     ###允许所有人同步/nfsdir目录:*代表所有人

文件添加完成以后需要在服务端进行更新同步,否则客户端无法同步;


同步完成以后,客户端可以看见内容;


3.在/etc/exports文件里添加下面命令;

   ###允许192.168.88.129读写权限,其他人只读

客户端测试:


另外的客户端(192.168.88.132):



autofs文件共享

1.安装使用的软件autofs


2.在我们的服务还没有启动的时候,根目录不存在net目录;


3. 当我们的服务启动时候,会在根目录下自动多出net目录;


4.我们在客户端安装软件,然后进入服务器进行测试;


为什么客户端进去的位置看不见服务端nfsdir目录下的文件?????

5.服务端为什么不显示挂载位置?不能查看之前文件1,但是我们可以新建和删除文件?


6.设置共享文件自动挂载的时间

vim /etc/autofs.conf        ####autofs服务配置文件


在客户端测试(使用那台客户端测试就在那台客户端设置时间);


7. 我们可以使用下面命令查询软件的配置文件主要路径;


8.可以设置目录挂载位置(感觉和永久挂载差不多,区别上面的自动挂载);

   vim   /etc/auto.master     ####编辑配置文件,设置挂载位置;


/mnt   ###需要挂载的源文件       /etc/auto.mnt   ###挂载位置(auto.mnt我们自己名命)

 vim   /etc/auto.mnt    ####编辑我们挂载位置的文件,对于客户端的访问设置权限;


将共享的文件挂载在服务端/nfsdir的位置?????重新启动autofs服务


以上在服务端测试,可以进去nfsdir目录下查看,可是不显示挂载?????客户端没有nfsdir目录????




远程块设备共享(iscsi);

需要准备一块分享的磁盘,用于加密的一种加密方式;关闭防火墙;selinux状态为关闭状态;

1.fdisk  -l  ####查看磁盘使用情况,这里我选择/dev/sdb盘新建分区;


2.新建/dev/sdb2 的2G的分区;


3.安装软件targetcl


4.启动target服务;

systemctl   start  target         ####启动服务·;

5.利用target软件制作分享的块设备;

服务端我们使用targetcli  命令进入块设备制作


help    ####查看我们可以使用那些命令


现在我们开始制作开设备:

a. 建立共享块设备,名命为westos:storage1,真实共享分区为/dev/sdb2

  

b.共享块设备在iscsi的名称:确保唯一,命名格式:iqn.yyyy-mm.<主机名称反写>:自定义名称


c.为共享设备创建acl连接方式为westoskey加密


d.将iscsi分享的块设备创建为lun


e.为分享的块设备创建端口:


在创建的时候遇见以上问题:原因在于系统默认创建端口为0.0.0.0 3260端口,需要删除默认的3206端口,然后自己添加服务端的3260端口,操作步骤如下:


f.exit   ###保存退出,利用iscsi制作快设备完成


6.   客户端进行分享块设备的测试

a.客户端我们需要使用软件iscsi-initiator-utils,安装该软件启动服务


systemctl start iscsiio.service    ####启动服务


b.编辑iscsi配置文件initiatorname.iscsi ,重新启动服务


 ##配置文件的InitiatorName设置的名字必须和服务端的名字一致;

c.


d.


d. fdisk -l   ###可以查看到我们分享的块设备;


e.将我们的共享磁盘/dev/sdb进行分区

fdisk /dev/sdb     ####磁盘分区,创建新的分区/dev/sdb1

patrprobe   ####磁盘同步

fdisk -l    ###查看完成的分区/dev/sdb1


f. 将新建的分区挂载到指定目录;

  mkdir   /mnt/iscsi     ####新建挂载目录

  mount   /dev/sdb1  /mnt/iscsi      ####将共享分区挂载到指定目录

  df  -Th    ####查看挂载的共享分区格式以及使用情况




















































猜你喜欢

转载自blog.csdn.net/weixin_39249306/article/details/80199646
今日推荐