MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > linux / 正文

Debian 10 搭建 Samba

2024-11-26 16:16 huorong linux 3 ℃ 0 评论

在Debian上安装Samba

Samba始于1991年,最初是为了简化基于Unix和Windows的系统的互操作性而开发的。在本教程中,将重点介绍网络的Samba安装和配置。

首先更新软件包与Debian存储库是最新的

root@limelinux-server:~# apt-get update 
命中:1 http://mirrors.ustc.edu.cn/debian buster InRelease
获取:2 http://mirrors.ustc.edu.cn/debian buster-updates InRelease [51.9 kB]
获取:3 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
获取:4 http://security.debian.org/debian-security buster/updates/main Sources [157 kB]
获取:5 http://security.debian.org/debian-security buster/updates/main amd64 Packages [255 kB]
获取:6 http://security.debian.org/debian-security buster/updates/main Translation-en [140 kB]
已下载 669 kB,耗时 7秒 (98.3 kB/s)                                                                                                                                                           
正在读取软件包列表... 完成
root@limelinux-server:~#apt-get install samba
过程省略。。。。。。


安装Samba时,将显示以下信息,此窗口用于配置通过网络检索NetBIOS名称服务,不使用WINS服务器,选择“否”选项。

查看Samba版本和运行状态

root@limelinux-server:~# samba -V
Version 4.9.5-Debian
root@limelinux-server:~# systemctl status smbd
● smbd.service - Samba SMB Daemon
   Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-12-16 11:01:20 CST; 1min 52s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 1994 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 2330)
   Memory: 9.4M
   CGroup: /system.slice/smbd.service
           ├─1994 /usr/sbin/smbd --foreground --no-process-group
           ├─1996 /usr/sbin/smbd --foreground --no-process-group
           ├─1997 /usr/sbin/smbd --foreground --no-process-group
           └─1999 /usr/sbin/smbd --foreground --no-process-group


12月 16 11:01:20 limelinux-server update-apparmor-samba-profile[1985]: grep: /etc/apparmor.d/samba/smbd-shares: 没有那个文件或目录
12月 16 11:01:20 limelinux-server update-apparmor-samba-profile[1985]: diff: /etc/apparmor.d/samba/smbd-shares: 没有那个文件或目录
12月 16 11:01:20 limelinux-server systemd[1]: Started Samba SMB Daemon.
12月 16 11:01:20 limelinux-server systemd[1]: /lib/systemd/system/smbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/smbd.pid → /run/samba/smbd
12月 16 11:01:20 limelinux-server systemd[1]: /lib/systemd/system/smbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/smbd.pid → /run/samba/smbd
12月 16 11:01:21 limelinux-server systemd[1]: /lib/systemd/system/smbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/smbd.pid → /run/samba/smbd
12月 16 11:01:21 limelinux-server systemd[1]: /lib/systemd/system/smbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/smbd.pid → /run/samba/smbd
12月 16 11:01:21 limelinux-server systemd[1]: /lib/systemd/system/smbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/smbd.pid → /run/samba/smbd
12月 16 11:01:22 limelinux-server systemd[1]: /lib/systemd/system/smbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/smbd.pid → /run/samba/smbd
12月 16 11:01:22 limelinux-server systemd[1]: /lib/systemd/system/smbd.service:9: PIDFile= references path below legacy directory /var/run/, updating /var/run/samba/smbd.pid → /run/samba/smbd
root@limelinux-server:~# root@limelinux-server:~# apt install ufw #安装防火墙

打开UFW防火墙上的端口,端口139和445上使用“ allow”命令

root@limelinux-server:~# ufw allow ssh
Rule added
Rule added (v6)
root@limelinux-server:~# ufw status
Status: active


To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere                  
22/tcp (v6)                ALLOW       Anywhere (v6)             


root@limelinux-server:~# ufw allow 139
Rule added
Rule added (v6)
root@limelinux-server:~# ufw allow 445
Rule added
Rule added (v6)
root@limelinux-server:~# ufw status
Status: active


To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere                  
139                        ALLOW       Anywhere                  
445                        ALLOW       Anywhere                  
22/tcp (v6)                ALLOW       Anywhere (v6)             
139 (v6)                   ALLOW       Anywhere (v6)             
445 (v6)                   ALLOW       Anywhere (v6)             


root@limelinux-server:~# 

在Debian上配置Samba

默认情况下,Samba配置文件位于“ / etc / samba”文件夹中,Samba文件夹包含以下条目:

  • gdbcommands:一个文件,其中包含GDB调试器的一组条目(此处将不再使用)
  • smb.conf:主要的Samba配置文件
  • tls:用于存储有关Samba服务器的TLS和SSL信息的目录
root@limelinux-server:~# cd /etc/samba/
root@limelinux-server:/etc/samba# ls
gdbcommands  smb.conf  tls
root@limelinux-server:/etc/samba# 

Samba配置文件由不同部分组成:

global:顾名思义,它用于定义Samba全局参数,例如工作组(如果使用Windows),日志位置以及PAM密码同步(如果有);

共享定义:在本节中,您将列出Samba服务器导出的不同共享。

定义Windows工作组:通常情况下工作组名称就是“ WORKGROUP ”

定义Samba共享

在Samba上,共享是通过指定以下字段来定义的:

  • 共享名称:共享名称;
  • 共享属性:共享的路径,如果是公共的,是否可以浏览,是否可以读取文件或创建文件等。

创建一个Samba共享,无需身份验证即可将其公开提供给所有计算机。

创建公开的Samba共享

创建文件夹 /sambashare,为了使用户能够将文件写入共享,需要对共享具有权限。但是,我们不会为文件夹中的所有用户设置完全权限,我们将创建一个系统帐户(具有写权限),并且将强制用户在登录Samba时使用该帐户。为了创建系统帐户,请对系统帐户使用“ useradd”命令和“ -r”选项。

useradd -r:建立系统账号
-s:指定用户登录后所使用的shell,/bin/false是最严格的禁止login选项,一切服务都不能用

root@limelinux-server:/etc/samba# useradd -rs /bin/false sambatest
root@limelinux-server:/etc/samba# mkdir /sambashare
root@limelinux-server:/etc/samba# chown sambatest /sambashare/
root@limelinux-server:/etc/samba# chmod u+rwx /sambashare/
root@limelinux-server:/etc/samba#

nano /etc/samba/smb.conf

[sambashare]
path = /sambashare
available = yes
browseable = yes
public = yes
writable = yes
force user = samba-public


Samba共享定义中指定的所有属性的说明:

  • path:共享文件的路径;
  • available:表示将要是否可用;
  • browsable:共享将在网络视图(例如Windows网络视图)中公开;
  • public:“ guest ok”的同义词,此参数表示每个人都可以查看此共享;
  • writable:意味着所有用户都可以在共享上创建文件。
  • force user:登录时,用户将使用“ samba-public”帐户的标识。

使用“ testparm”来检查您的配置在语法上是否正确

root@limelinux-server:/etc/samba# testparm 
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Registered MSG_REQ_POOL_USAGE
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[sambashare]"
Loaded services file OK.

创建共享配置文件之后,需要重新启动smbd服务应用更改。


root@limelinux-server:/etc/samba# systemctl restart smbd
root@limelinux-server:/etc/samba# systemctl status smbd
● smbd.service - Samba SMB Daemon
   Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-12-16 14:01:10 CST; 8s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
  Process: 3686 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCCESS)
 Main PID: 3695 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 2330)
   Memory: 7.7M
   CGroup: /system.slice/smbd.service
           ├─3695 /usr/sbin/smbd --foreground --no-process-group
           ├─3697 /usr/sbin/smbd --foreground --no-process-group
           ├─3698 /usr/sbin/smbd --foreground --no-process-group
           └─3699 /usr/sbin/smbd --foreground --no-process-group


12月 16 14:01:09 limelinux-server systemd[1]: Starting Samba SMB Daemon...
12月 16 14:01:10 limelinux-server systemd[1]: Started Samba SMB Daemon.
root@limelinux-server:/etc/samba# 


安装“ samba-client ”软件包并列出在本地计算机上的共享。

root@limelinux-server:/etc/samba# apt-get install smbclient 
过程省略。。。。。。
root@limelinux-server:/etc/samba# smbclient -L localhost
Enter WORKGROUP\root's password: 


  Sharename       Type      Comment
  ---------       ----      -------
  print$          Disk      Printer Drivers
  sambashare      Disk      
  IPC$            IPC       IPC Service (Samba 4.9.5-Debian)
Reconnecting with SMB1 for workgroup listing.


  Server               Comment
  ---------            -------


  Workgroup            Master
  ---------            -------
  WORKGROUP            
root@limelinux-server:/etc/samba# 

注意:将要求提供工作组的密码,默认没有工作组密码,只需按Enter。

从Windows连接到Samba

在Windows搜索菜单中,查找“运行”应用程序:\\192.168.68.137,完成后只需单击“确定”即可浏览共享!

已经在Windows上成功浏览了sambashare!

创建安全的Samba共享

默认情况下,Samba身份验证与Unix身份验证是分开的:此语句意味着必须为用户创建单独的Samba凭据。

root@limelinux-server:/etc/samba# smbpasswd -a sambatest
New SMB password:
Retype new SMB password:
Added user sambatest.
root@limelinux-server:/etc/samba# mkdir /samba
root@limelinux-server:/etc/samba# chown sambatest /samba
root@limelinux-server:/etc/samba# chmod u+rwx /samba
root@limelinux-server:/etc/samba#

编辑Samba配置文件/etc/samba/smb.conf

[samba]
path = /samba
available = yes
browseable = yes
public = no
writable = yes
valid users = sambatest

可以使用“ testparm”命令测试Samba配置,在一切正常的情况下重新启动Samba服务。

root@limelinux-server:/etc/samba# systemctl restart smbd
root@limelinux-server:/etc/samba# systemctl status smbd
● smbd.service - Samba SMB Daemon
   Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-12-16 14:34:52 CST; 5s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
  Process: 4073 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCCESS)
 Main PID: 4083 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 2330)
   Memory: 7.6M
   CGroup: /system.slice/smbd.service
           ├─4083 /usr/sbin/smbd --foreground --no-process-group
           ├─4085 /usr/sbin/smbd --foreground --no-process-group
           ├─4086 /usr/sbin/smbd --foreground --no-process-group
           └─4087 /usr/sbin/smbd --foreground --no-process-group


12月 16 14:34:52 limelinux-server systemd[1]: Starting Samba SMB Daemon...
12月 16 14:34:52 limelinux-server systemd[1]: Started Samba SMB Daemon.
root@limelinux-server:/etc/samba# 


使用Windows连接到Samba

输入帐户名和密码,正常登录。创建文件、删除等操作都正常。

Tags:linux安装samba

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言