Ubuntu 14.04.4 中的 Samba 共享失败

Ubuntu 14.04.4 中的 Samba 共享失败

我已经配置 samba 与 Ubuntu 机器上的另一个用户共享我的主目录,但由于某种原因,我的用户无法访问主目录。

以下是来自/etc/samba/smb.conf

[global]
    workgroup = NS2
    server string = %h server (Samba, Ubuntu)
    server role = standalone server
    map to guest = Bad User
    obey pam restrictions = Yes
    pam password change = Yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    unix password sync = Yes
    syslog = 0
    log file = /var/log/samba/log.%m
    max log size = 1000
    dns proxy = No
    usershare allow guests = Yes
    panic action = /usr/share/samba/panic-action %d
    idmap config * : backend = tdb
[homes]
    comment = SHARE THE HOME DIRECTORY
    path = /home/test1
    read only = no
    #valid users = %S
    #valid users = @ubuntu
    valid users = test1
    guest ok = no
    browsable = yes
    #directory mask = 0755
    #create mask = 0644
    #force user = test1

smbd、nmbd、winbind 正在运行,并多次停止和重新启动,但无法解决问题

从客户端机器使用此命令进行连接

smbclient //172.31.31.48/home/test1  -U test1`
but got the following error messages (also the same error show using smbstatus):
`Domain=[NS2] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME 

按照 askubuntu 和 ubuntu 论坛中的建议,将目录 (/home/test1) 及其子内容设置为 755,虽然操作正确,但并未解决问题。

这是来自客户端机器的错误日志

[2016/03/30 23:21:44.748574,  0] ../source3/param/loadparm.c:4365(process_usershare_file)
  process_usershare_file: stat of /var/lib/samba/usershares/home failed. Permission denied
[2016/03/30 23:21:44.749460,  0] ../source3/param/loadparm.c:4346(process_usershare_file)
  process_usershare_file: share name home/test1 contains invalid characters (any of %<>*?|/\+=;:",)

有人能指导我解决这个问题吗?提前谢谢

答案1

我发现有几件事我想改变,我会尽力解释:

  • 路径 = /home/test1<= 使用默认的 samba“homes”配置,您不需要指定路径,因为它会自动将其映射到相应用户的主目录。
  • 有效用户 = test1<= 我会将此值更改为 %S,它将自动将“test1”映射到“\\server\username”。

这将为您提供最终的 [homes] 部分,如下所示:

[homes]
comment = SHARE THE HOME DIRECTORY
read only = no
valid users = %S
guest ok = no
browsable = yes

完成这些更改后,请确保重新启动服务:

$sudo restart smbd
$sudo restart nmbd

当然,你还需要从你的客户端行,并将更改为:

smbclient //172.31.31.48/test1 -U test1

刚刚在 Ubuntu 14.04.4 下使用以下 samba 版本成功测试了此设置:

$smbstatus --version
Version 4.1.6-Ubuntu

=========================

您还可以安装用于管理 Samba 共享的 GUI:

$sudo apt-get install system-config-samba

问候,

答案2

Samba 在 Ubuntu 中运行良好,只需右键单击并单击本地共享,它就会安装 Samba,但有一个警告,在 12.04 之后的版本中,一个错误阻止了 libpam-smbpass 的自动安装。手动安装并重新启动。如果您在文件夹共享后弹出的共享配置中启用了它,您的另一台机器将看到这些文件夹并可以作为访客访问它们。否则,访问者必须指定他或她正在访问的机器的用户名和密码。

相关内容