如何在Ubuntu 20.04 Linux上配置Samba Server共享

安装Samba服务器。

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

创建/etc/samba/smb.conf配置文件,我们从范本中复制一份:

$ 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'

Samba有自己的用户管理系统。但是,Samba用户也必须在/etc/passwd文件中存在。
所以在创建新的Samba用户之前,需要使用useradd命令创建新用户。

然后创建新的Samba用户:

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

添加共享主目录。

编辑配置文件/etc/samba/smb.conf,
并将以下行添加到文件的末尾:

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

(可选),添加匿名/访客用户可访问的公开的读写Samba共享。
首先,创建要共享的目录并更改其访问权限:

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

然后在配置文件中将以下行添加到文件的末尾:

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

/etc/samba/smb.conf配置参考:

[global]
   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   log file = /var/log/samba/log.%m
   max log size = 1000
   logging = file
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   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服务器配置已完成。重启服务,使设置生效:

$ sudo systemctl restart smbd

(可选)让我们创建一些测试文件。

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

在Windows 中使用samba服务。
打开: \\服务器ip,即可以看到共享的目录。

日期:2020-07-07 20:55:15 来源:oir作者:oir