在Windows系统下实现共享不需要安装任何服务,但是在Linux系统下要想实现共享就需要搭建samba服务。samba服务主要就是为了Windows系统与Linux系统下文件互相传递。

 在Linux系统下搭建samba服务,非常简单仅两步:
 一、安装并配置smb服务;
 二、客户机测试访问。

** 实验实施:**

一、安装并配置smb服务

[root@localhost ~]# ifconfig ens33                            //查看IP地址
[root@localhost ~]# systemctl stop firewalld             //关闭防火墙
[root@localhost ~]# setenforce 0                              //关闭SELinux

联网情况下就不需要搭建yum仓库,也不需要挂载系统盘

[root@localhost ~]# cd /etc/yum.repos.d/
//进入存放yum配置文件的目录
[root@localhost yum.repos.d]# rm -rf *
//实验环境所以就删除了,实际环境中使用“mv”命令移出去,千万不可删除原本的yum配置文件
[root@localhost yum.repos.d]# vim a.repo
//自己编写一个yum配置文件,必须以“.repo”结尾。内容如下:
[a]
baseurl=file:///mnt
gpgcheck=0
[root@localhost ~]# mount /dev/cdrom /mnt
//挂载系统盘

如果yum仓库第一次配置错误,使用yum clean all 命令清空yum缓存

[root@localhost yum.repos.d]# yum -y install samba
//使用yum的方式安装samba服务
[root@localhost ~]# vim /etc/samba/smb.conf
//服务安装完成之后,编写Samba服务的配置文件
[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = root
        create mask = 0664
        directory mask = 0775

配置文件内容较多,具体解释如图: 在Samba服务配置文件中,添加自己需要共享的内容

[root@localhost ~]# vim /etc/samba/smb.conf
                    …………                           //省略部分内容,添加以下内容
[software]                                             //客户端访问时看到的共享名称
        path = /disk                                  //服务器需要共享的目录
        valid users = root,zhangsan        //有效的Samba账号,但是必须是系统账号
        write list = zhangsan                    //具有写入权限的账户
[root@localhost /]# useradd -d /disk zhangsan
//创建系统用户zhangsan,并指定其宿主目录,“/disk”目录不用事先创建
[root@localhost /]# pdbedit -a -u zhangsan
//使用pdbedit命令创建Samba用户(这个用户必须是系统用户)
[root@localhost /]# pdbedit -L
//查询服务器上的Samba账号
[root@localhost /]# pdbedit -x zhangsan
//删除Samba账号

如果共享账号就是系统账号的话,会给系统带来一定的危险性,接下我们创建samba别名

[root@localhost /]# vim /etc/samba/smbusers
//编写Samba服务器存放别名用户的配置文件(系统默认没有)
zhangsan = benet benet1
//格式一定得正确
[root@localhost /]# vim /etc/samba/smb.conf
//编写Samba服务主配置文件
[global]                                    //全局配置
							…………                   //省略部分内容
        username map = /etc/samba/smbusers
				//添加存放别名的配置文件位置
							…………                   //省略部分内容
[root@localhost /]# chmod 755 /disk
//修改目录权限
[root@localhost /]# systemctl start smb
//启动smb服务

二、客户机测试访问

(1)使用win7客户端通过别名访问

(2)使用Linux系统客户端进行访问

[root@localhost ~]# smbclient -U benet //192.168.1.2/software

使用ls命令查看列表目录、pwd查看当前路径、get和mget用于下载、put和mput用于上传文件、exit退出smb命令终端 使用smbclient -L 192.168.1.1 -U benet查看192.168.1.1中的smb服务器的所有共享

这种方法仅适用于一次性使用查看samba服务器、使用samba服务器 要想永久使用samba服务器的共享

[root@localhost /]# mount -o username=benet   //192.168.1.1/software /mnt
Password for benet@//192.168.1.1/software:  
[root@localhost /]# cd /mnt
[root@localhost mnt]# ls
123.txt  456.txt

试验完成!