安装Samba服务器

让我们从Samba Server安装开始:

# apt install samba

为了测试,建议还安装Samba客户端:

# apt install smbclient

Samba 现在应该是运行的状态:

# systemctl status smbd
● smbd.service - Samba SMB Daemon
   Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2015-06-13 10:35:34 AEST; 3min 32s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 1654 (smbd)
   Status: "smbd: ready to serve connections..."
   CGroup: /system.slice/smbd.service
           ├─1654 /usr/sbin/smbd
           ├─1655 /usr/sbin/smbd
           ├─1656 /usr/sbin/smbd
           └─1659 /usr/sbin/smbd

默认Samba配置

SAMBA主配置文件称为“/etc/samba/smb.conf”。

备份原始配置文件:

# cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
# grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf

新/etc/samba/smb.conf现在应该包含:

# cat /etc/samba/smb.conf
[global]
   workgroup = WORKGROUP
   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
[homes]
   comment = Home Directories
   browseable = no
   read only = yes
   create mask = 0700
   directory mask = 0700
   valid users = %S
[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

重新启动Samba Server并使用SMB客户端确认所有导出的Samba组:

# systemctl restart smbd
# smbclient -L localhost
WARNING: The "syslog" option is deprecated
Enter root's password: 
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian]
        Sharename       Type      Comment
        ---------       ----      ------
        print$        Disk      Printer Drivers
        IPC$          IPC       IPC Service (Samba 4.5.8-Debian)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian]
        Server               Comment
        ---------            ------
        LASERPRINTER         
        onitroad          Samba 4.5.8-Debian
        Workgroup            Master
        ---------            ------
        WORKGROUP            onitroad

添加Samba用户

Samba有自己的用户管理系统。
但是,Samba用户列表中存在的任何用户也必须在/etc/passwd文件中存在。

因为这个原因,在创建任何新的Samba用户之前,使用useradd命令创建一个新用户。
然后再使用smbpasswd命令创建新的Samba用户:

# smbpasswd -a onitroad
New SMB password:

Samba Home目录共享

默认情况下,所有主目录都以只读方式导出,不可“浏览”。
要更改此默认配置设置,请将当前的“homes”共享定义更改为:

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

每次对/etc/samba/smb.conf配置文件进行更改时,请不要忘记重新启动Samba服务器r守护程序,以便设置生效:

# systemctl restart smbd

Samba公共匿名共享

以下Samba定义将允许任何用户读取和写入SAMBA 在“/var/samba /目录”下共享的数据。
首先,创建一个新目录并使任何人访问它:

# mkdir /var/samba
# chmod 777 /var/samba/

接下来,在“/etc/samba/smb.conf”Samba配置文件中添加新的Samba共享定义:

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

重新启动Samba Server守护程序:

# systemctl restart smbd

挂载Samba共享

在windows可以通过 \\samba-server-ip查看Samba共享

接下来,通过右键单击共享并选择“Map Network Drive ...”选项来映射任何共享目录。
勾选,使用不同的凭据(使用不同的凭据)选项,并通过提供以前的步骤中创建的用户凭据来完成网络驱动器映射。

其他说明

如何列出Samba用户:

# pdbedit -w -L

如何删除Samba用户:

# pdbedit -x -u username
如何在Debian 9 Linux上配置Samba Server共享
日期:2020-07-07 20:56:13 来源:oir作者:oir