我已经配置 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 的自动安装。手动安装并重新启动。如果您在文件夹共享后弹出的共享配置中启用了它,您的另一台机器将看到这些文件夹并可以作为访客访问它们。否则,访问者必须指定他或她正在访问的机器的用户名和密码。