当前位置: 首页>>技术教程>>正文


如何在Ubuntu 18.04 Bionic Beaver Linux上配置Samba服务器共享

, , ,

目的

目的是配置基本的Samba服务器以共享用户主目录,并提供对所选目录的匿名访问read-write。

还有许多其他的Samba配置,但是本指南的目的是使您入门一些基础知识,这些基础知识可以在以后进行扩展以实现更多功能以满足您的需求。

操作系统和软件版本

  • 操作系统:-Ubuntu 18.04仿生海狸
  • 软件:-Samba版本4.7.4-Ubuntu或更高版本

要求

需要特权才能访问您的Ubuntu 18.04 Bionic Beaver。

困难

介质

约定

  • -要求linux命令可以直接以root用户身份或通过使用root特权以root特权执行sudo命令
  • $-要求linux命令以常规non-privileged用户身份执行

脚本

以下配置过程将假定以下情形和pre-configured要求:

  • 服务器和MS Windows客户端位于同一网络上,没有防火墙阻止两者之间的任何通信
  • MS Windows客户端可以通过主机名解析samba服务器ubuntu-samba
  • MS Windows客户端的工作组域为WORKGROUP

说明

安装Samba服务器

让我们从安装Samba服务器开始。这是一项微不足道的任务。一,安装tasksel如果您的系统尚不可用,请使用命令。一旦准备好使用tasksel安装Samba服务器。


$ sudo apt install tasksel
$ sudo tasksel install samba-server

组态

我们将以全新的干净配置文件开始,同时我们还将默认配置文件作为备份保留下来,以供参考。执行以下linux命令来复制现有配置文件并创建一个新配置文件:


$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
$ sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'


房屋共享

在本节中,我们将用户主共享目录添加到新目录中/etc/samba/smb.confsamba配置文件。

Samba拥有自己的用户管理系统。但是,samba用户列表上存在的任何用户也必须存在于/etc/passwd文件。如果您的系统用户尚不存在,则无法位于/etc/passwd文件,首先使用创建一个新用户useradd创建任何新的Samba用户之前,请执行命令。一旦您的新系统用户。 linuxconfig退出,使用smbpasswd创建新的Samba用户的命令:


$ sudo smbpasswd -a linuxconfig
New SMB password:
Retype new SMB password:
Added user linuxconfig.

接下来,使用您喜欢的文本编辑器来编辑新的/etc/samba/smb.confsamba配置文件:


$ sudo nano /etc/samba/smb.conf

并添加以下行:


[homes]
   comment = Home Directories
   browseable = yes
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S

创建匿名共享

在本节中,我们将添加一个新的公开可用的read-write Samba共享,匿名/来宾用户可以访问。首先,创建您要共享的目录并更改其访问权限。例:


$ sudo mkdir /var/samba
$ sudo chmod 777 /var/samba/

接下来,使用您喜欢的文本编辑器将以下行添加到Samba配置文件中sudo nano /etc/samba/smb.conf


[public]
  comment = public anonymous access
  path = /var/samba/
  browsable =yes
  create mask = 0660
  directory mask = 0771
  writable = yes
  guest ok = yes

当前的Samba配置文件应类似于以下文件:

[global]
   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   usershare allow guests = yes
[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
[homes]
   comment = Home Directories
   browseable = yes
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S
[public]
  comment = public anonymous access
  path = /var/samba/
  browsable =yes
  create mask = 0660
  directory mask = 0771
  writable = yes
  guest ok = yes


重新启动Samba服务器

基本的Samba服务器配置完成。进行任何更改后,切记始终重启samba服务器/etc/samba/smb.conf配置文件:


$ sudo systemctl restart smbd

重新启动Samba服务器后,请确认所有共享已正确配置:


$ smbclient -L localhost
WARNING: The "syslog" option is deprecated
Enter WORKGROUP\linuxconfig's password: 
Anonymous login successful

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        homes           Disk      Home Directories
        public          Disk      public anonymous access
        IPC$            IPC       IPC Service (ubuntu server (Samba, Ubuntu))
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful

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

        Workgroup            Master
        ---------            -------
        WORKGROUP            UBUNTU

(可选)创建一些测试文件。成功安装Samba共享后,以下文件应可供我们使用:


$ touch /var/samba/public-share 
$ touch /home/linuxconfig/home-share 

最后,确认您的Samba服务器已启动并正在运行:


$ sudo systemctl status smbd
● smbd.service - Samba SMB Daemon
   Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-01-31 19:50:19 AEDT; 1min 12s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 3561 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 5 (limit: 4915)
   CGroup: /system.slice/smbd.service
           ├─3561 /usr/sbin/smbd --foreground --no-process-group
           ├─3578 /usr/sbin/smbd --foreground --no-process-group
           ├─3579 /usr/sbin/smbd --foreground --no-process-group
           ├─3590 /usr/sbin/smbd --foreground --no-process-group
           └─3611 /usr/sbin/smbd --foreground --no-process-group

桑巴山股票

在此阶段,我们准备将注意力转向MS Windows。对于每个MS Windows版本,安装网络驱动器目录可能会略有不同。本指南以Samba客户端的身份使用MS Windows 7。



挂载用户主目录

首先,打开你Windows Explorer然后在right-clickNetwork然后点击Map network drive...标签。选择驱动器号,然后键入Samba共享位置。确保你打勾Connect using different credentials如果您的用户名和密码与之前创建的用户名和密码不同:

imag description

输入您的Samba用户名和密码:

imag description

现在,您应该对用户的主目录具有read-write访问权限:

imag description

Mount Anonymous Samba分享

同样,安装您的匿名/来宾Samba共享。但是这一次将不需要用户名和密码:

imag description

imag description

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7436.html,未经允许,请勿转载。