Linux 部署Samba服务器

大家好,今天我们分享linux 部署Samba服务器

首先我们要知道,Samba服务器就是利用smb协议实现文件在局域网中的传输

  它主要的作用:   实现Linux/Unix主机和windows主机系统的文件传输

介绍一下它的实验环境

  1. 要有一台windows 主机     ,我这里使用windows 10,作为客户端
    
  2. 要有一台linux主机,我这里使用centos 7, 作为服务器

接下来 ,配置主机环境
这是我们windows 主机的ip地址

在这里插入图片描述

这是我们服务器地址

    [root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.12  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe87:afa6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:87:af:a6  txqueuelen 1000  (Ethernet)
        RX packets 6  bytes 360 (360.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 86  bytes 9124 (8.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

测试linux主机和windows 主机的网络通信(显示没问题)

在这里插入图片描述

我们xshell连接一下服务器(其它的工具也可以)
在这里插入图片描述
测试服务器的网络:

[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.11) 56(84) bytes of data.
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=1 ttl=128 time=6.21 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=2 ttl=128 time=6.43 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=3 ttl=128 time=4.03 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=4 ttl=128 time=8.72 ms

实验案例:

这就是它的案例和环境

John (总经理)
mike ,cali   (市场部)
cela ,cado   (工厂部)
管理员:administrator



共享名               共享目录               用户
manager           /opt/manager         John(rw)administrator (rw)
market              /opt/marker           @ marker(rw),   john(ro),    administrator(rw)
factory              /opt/factory           @  factory(rw),   john(ro),    administrator(rw)


测试yum源

在这里插入图片描述

安装Samba服务

[root@localhost ~]# yum install  samba.x86_64 -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * centos-ceph-nautilus: mirrors.cn99.com
 * centos-nfs-ganesha28: mirrors.cn99.com
 * centos-openstack-train: mirrors.cn99.com
 * centos-qemu-ev: mirrors.cn99.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                                                      | 3.6 kB  00:00:00     
centos-ceph-nautilus                                                                                      | 3.0 kB  00:00:00     
centos-nfs-ganesha28                                                                                      | 3.0 kB  00:00:00     
centos-openstack-train                                                                                    | 3.0 kB  00:00:00     
centos-qemu-ev                                                                                            | 3.0 kB  00:00:00     
docker-ce-stable                                                                                          | 3.5 kB  00:00:00     
docker-ce-test                                                                                            | 3.5 kB  00:00:00     
epel                                                                                                      | 4.7 kB  00:00:00     
extras                                                                                                    | 2.9 kB  00:00:00  

创建共享目录:

[root@localhost ~]# cd /opt/
[root@localhost opt]# mkdir manager market factory

在这里插入图片描述

这是Samba有关的文件

[root@localhost samba]# ls
lmhosts  smb.conf  smb.conf.example
[root@localhost samba]# 

启动Samba服务

[root@localhost samba]# systemctl  start  smb.service 

截图:

在这里插入图片描述

也可以观察它的状态:

[root@localhost samba]# systemctl  status smb.service 
● smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
   Active: active (running) since 日 2022-04-17 17:14:02 CST; 1min 43s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 8161 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4
   Memory: 27.3M
   CGroup: /system.slice/smb.service
           ├─8161 /usr/sbin/smbd --foreground --no-process-group
           ├─8166 /usr/sbin/smbd --foreground --no-process-group
           ├─8167 /usr/sbin/smbd --foreground --no-process-group
           └─8168 /usr/sbin/smbd --foreground --no-process-group

417 17:14:00 localhost.localdomain systemd[1]: Starting Samba SMB Daemon...
417 17:14:02 localhost.localdomain smbd[8161]: [2022/04/17 17:14:02.218556,  0] ../../lib/util/become_daemon.c:136(daemon_ready)
417 17:14:02 localhost.localdomain smbd[8161]:   daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
417 17:14:02 localhost.localdomain systemd[1]: Started Samba SMB Daemon.
[root@localhost samba]# 

配置Samba服务开机自启动

[root@localhost samba]# systemctl  enable  smb.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@localhost samba]# 

创建文件

[root@localhost opt]# cd factory/
[root@localhost factory]# touch factory
[root@localhost factory]# cd ../manager
[root@localhost manager]# touch manager
[root@localhost manager]# cd ../market/
[root@localhost market]# touch  market
[root@localhost market]# ls
market

给权限

[root@localhost market]# cd ..
[root@localhost opt]# chm
chmem  chmod  
[root@localhost opt]# chmod -R 777 *

创建用户

[root@localhost opt]# useradd john
[root@localhost opt]# useradd mike
[root@localhost opt]# useradd  celi
[root@localhost opt]# useradd  cali
[root@localhost opt]# useradd kado
[root@localhost opt]# useradd cela

[root@localhost opt]# useradd administrator

创建组

[root@localhost opt]# groupadd market
[root@localhost opt]# groupadd factory

用户·加组

[root@localhost opt]# gpasswd -a mike market
正在将用户“mike”加入到“market”组中
[root@localhost opt]# gpasswd -a cali market
正在将用户“cali”加入到“market”组中
[root@localhost opt]# gpasswd  -a cela factory
正在将用户“cela”加入到“factory”组中
[root@localhost opt]# gpasswd  -a kado factory
正在将用户“kado”加入到“factory”组中

转化本地用户为smb用户

[root@localhost opt]# smbpasswd -a john
New SMB password:
Retype new SMB password:
Added user john.
[root@localhost opt]# smbpasswd -a mike
New SMB password:
Retype new SMB password:
Added user mike.
[root@localhost opt]# smbpasswd -a cali
New SMB password:
Retype new SMB password:
Added user cali.
[root@localhost opt]# smbpasswd -a cela
New SMB password:
Retype new SMB password:
Added user cela.
[root@localhost opt]# smbpasswd -a kado
New SMB password:
Retype new SMB password:
Added user kado.
[root@localhost opt]# smbpasswd -a administrator
New SMB password:
Retype new SMB password:
Added user administrator.

编辑Samba配置文件

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

下面就是Samba服务的配置文件内容

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[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 = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775
                                              

做有效信息过滤

[root@localhost ~]# grep -v "^#" /etc/samba/smb.conf >/etc/samba/smb.conf.bak
[root@localhost ~]# vim /etc/samba/smb.conf.bak 

这些都是有效信息

[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 = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775
                                              

在.bak文件中添加以下的信息,以满足本次实例的需要

[manager]
         comment = manager guanli
         path = /opt/manager
         valid users = john,administrator
         writable = yes

[market]
       comment =market guanli
       path = /opt/market
       valid users = @market,john,administrator
      writable = no
      write list = @market,administrator




[factory]
       comment =factory guanli
       path = /opt/factory
       valid users = @market,john,administrator
      writable = no
      write list = @factory,administrator

这样写:
在这里插入图片描述

这样做

[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts  smb.conf  smb.conf.bak  smb.conf.example
[root@localhost samba]# mv smb.conf.bak smb.conf
mv:是否覆盖"smb.conf"? y
[root@localhost samba]# 

重启服务

[root@localhost samba]# systemctl   restart  smb

观察它的状况:
(以下是正常的)

[root@localhost samba]# systemctl   status  smb
● smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
   Active: active (running) since 一 2022-04-18 14:33:35 CST; 56s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 4813 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4
   CGroup: /system.slice/smb.service
           ├─4813 /usr/sbin/smbd --foreground --no-process-group
           ├─4815 /usr/sbin/smbd --foreground --no-process-group
           ├─4816 /usr/sbin/smbd --foreground --no-process-group
           └─4817 /usr/sbin/smbd --foreground --no-process-group

418 14:33:34 localhost.localdomain systemd[1]: Starting Samba SMB Daemon...
418 14:33:35 localhost.localdomain smbd[4813]: [2022/04/18 14:33:35.516674,  0] ../../lib/util/become_daemon.c:136(daemon_ready)
418 14:33:35 localhost.localdomain smbd[4813]:   daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
418 14:33:35 localhost.localdomain systemd[1]: Started Samba SMB Daemon.
[root@localhost samba]# 

使用客户端进行访问

win键+r键
在这里插入图片描述

在这里插入图片描述
用户名:administrator(这是我们自己设置的Samba服务的管理员)

密码: 123(这是我们自己设置的)
登录

在这里插入图片描述
在这里插入图片描述
administrator 管理员用户在这里是不受任何限制的

接下来,在cmd 窗口当中删除刚才共享的缓存数据

C:\Users\Administrator>net use * /delete
你有以下的远程连接:

                    \\192.168.1.12\IPC$
继续运行会取消连接。

你想继续此操作吗? (Y/N) [N]: y
命令成功完成。


C:\Users\Administrator>

换一下用户

在这里插入图片描述

一样进来了

在这里插入图片描述

john用户在manager 这个文件当中是可以的
(有写入权限)

在这里插入图片描述

而在这个文件夹当中只可以看。不可以写(权限不够)

在这里插入图片描述

再次删除用户的缓存数据

C:\Users\Administrator>net use * /delete
你有以下的远程连接:

                    \\192.168.1.12\IPC$
继续运行会取消连接。

你想继续此操作吗? (Y/N) [N]: y
命令成功完成。

使用Mike用户登录

在这里插入图片描述

mike可以进入到自己的目录

在这里插入图片描述

Mike无法进入

在这里插入图片描述

mike对于自己的部门只有看的权限

在这里插入图片描述

在自己的文件夹中可以有读写权限

在这里插入图片描述

好了,有关于Linux部署Samba服务就到这里了,谢谢大家

  • 5
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这个问题的意思是如何在Linux部署Samba服务。答案如下: 在Linux部署Samba服务,并在网络上共享文件和打印机,可以按照以下步骤进行: 1. 安装Samba软件包 你需要安装Samba服务器软件包。对于Debian或Ubuntu Linux,可以使用以下命令来安装Samba软件包: sudo apt-get install samba 对于CentOS或Fedora Linux,可以使用以下命令来安装Samba软件包: sudo yum install samba 2. 配置Samba服务器 Samba服务器的配置文件是/etc/samba/smb.conf。您可以编辑该文件,以指定共享文件夹和打印机的位置和权限等信息。您可以使用vi或nano编辑器打开该文件,例如: sudo nano /etc/samba/smb.conf 可以向该文件添加以下行,以创建共享文件夹: [共享文件夹名] path = /路径/到/共享/文件夹 valid users = 用户名 writable = yes 还可以添加打印机共享的以下行: [打印机共享名] path = /var/spool/samba printable = yes guest ok = yes read only = yes create mask = 0700 3. 创建Samba用户 为了让用户访问共享文件夹和打印机,您需要创建Samba用户。您可以使用以下命令创建Samba用户: sudo smbpasswd -a 用户名 4. 重启Samba服务 您必须重启Samba服务使设置生效。对于Debian或Ubuntu Linux,可以使用以下命令重启Samba服务: sudo service smbd restart 对于CentOS或Fedora Linux,可以使用以下命令重启Samba服务: sudo systemctl restart smb 5. 测试Samba服务 在另一个计算机上可以使用Windows资源管理器或Linux的smbclient命令,访问Samba服务器上的共享文件夹和打印机。例如: smbclient //服务器名/共享文件夹名 -U 用户名 在连接成功后,输入您的密码即可访问共享文件夹。 以上就是在Linux部署Samba服务器的过程。 ### 回答2: Samba是一个开放源码的软件,它允许在Linux操作系统上设置一个或多个Windows共享文件和打印机服务。利用Samba设置的共享文件和打印机服务可以从运行Windows操作系统的计算机上通过网络进行访问,这样可以方便地共享文件和打印机,增强工作协作和生产效率。 下面我们将详细介绍如何在Linux操作系统上部署Samba服务。 1.安装Samba软件 在Linux系统中安装Samba软件非常简单,只需在终端输入以下命令: sudo apt-get update sudo apt-get install samba Samba软件安装完毕后,需要创建一个共享文件夹,例如创建一个文件夹“share”,我们可以使用以下命令: sudo mkdir /home/username/share 其中username是指你的Linux系统中的用户名,这里可以根据自己的需要进行修改。 2.修改配置文件 通过以下命令打开Samba配置文件smb.conf: sudo nano /etc/samba/smb.conf 在配置文件中,找到以下内容: workgroup = WORKGROUP wins support = yes 将WORKGROUP改为您所在的工作组名称。接着,我们需要在文件的末尾添加以下内容来定义共享文件夹: [share] comment = Share Folder path = /home/username/share guest ok = yes read only = no create mask = 0755 其中,share是定义的共享文件夹名称,comment是备注信息,path是共享文件夹的路径,guest ok允许匿名用户访问,read only设置为不只读,create mask设置访问权限。 保存并退出编辑器。为了使更改生效,我们需要重新启动Samba服务,使用以下命令: sudo systemctl restart smbd 3.设置用户密码 为了保护共享文件夹的安全,我们需要为访问共享文件夹的用户设置密码。使用以下命令创建一个新的Samba用户: sudo smbpasswd -a new_user_name 其中new_user_name是新用户的名称。在输入此命令后,将提示您设置密码。您需要注意保护该密码,以防其泄漏。 4.测试共享文件夹 现在我们已成功安装和配置了Samba服务,并创建了一个共享文件夹,我们可以在Windows计算机上访问共享文件夹来测试该服务。打开Windows资源管理器,在地址栏中输入\ip_address_share_folder,并按“回车”键。其中,ip_address是指Linux计算机的IP地址,即可以在Linux系统终端输入ip addr 命令来获取。 此时,系统会要求您输入Samba服务的用户名和密码。如已成功设置Samba用户密码,您可以输入您为该用户设置的密码,并成功访问共享文件夹。 总结 通过以上步骤,您已经成功地在Linux系统上部署Samba服务,并创建了一个共享文件夹。这样,您与团队成员可以方便地共享文件和打印机,增强工作协作效率。 ### 回答3: Samba是一种开源软件,用于在Linux操作系统上实现文件和打印机的共享。它可以开放Linux操作系统的文件和打印机共享到Windows操作系统上,也可以开放Windows操作系统上的文件和打印机共享到Linux操作系统上。 在Linux部署Samba服务,需按以下步骤进行: 1. 安装Samba软件包 在Linux上安装Samba软件包,可以使用apt-get或yum命令进行安装。例如,使用apt-get命令安装Samba软件包: sudo apt-get update sudo apt-get install samba 2. 配置Samba服务 Samba服务的配置文件是/etc/samba/smb.conf。配置文件中主要包含服务器的配置信息,如共享目录、访问权限和用户帐户等。 可以使用vim或nano编辑器打开配置文件,进行配置。 sudo vim /etc/samba/smb.conf 其中,每个共享目录需要以如下格式进行配置: [sharename] comment = Comment for Share path = /path/to/share browseable = yes read only = no guest ok = yes create mask = 0644 directory mask = 0755 其中,[sharename]表示共享目录名称,comment为对共享目录的描述,path为共享目录的路径,browseable为是否可浏览,read only为是否只读,guest ok为是否允许访客访问,create mask为新文件默认权限,directory mask为新目录默认权限。 3. 创建Samba用户 在Samba服务中,需要为每个要访问共享目录的用户创建Samba帐户。这可以通过smbpasswd命令完成。 例如,创建一个用户名为sambatest的Samba帐户: sudo smbpasswd -a sambatest 输入密码后,即创建成功。 4. 重启Samba服务 完成以上配置后,需要重启Samba服务使之生效。 sudo service smbd restart 5. 访问Samba共享目录 在Windows操作系统中,可以使用文件资源管理器访问共享目录。在文件资源管理器中,输入服务器IP地址或名称,出现对话框让用户输入Samba帐户和密码。在输入正确的帐户和密码后,即可访问共享目录。 总的来说,部署Samba服务可以实现Linux和Windows之间的文件和打印机的共享,带来了很大的便利。如果需要更加详细的配置和定制,可以参考Samba官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思诚代码块

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值