我在 LAN 上使用 Samba 共享文件夹时遇到问题。我通过安装我的一个驱动器创建了文件共享,然后运行 gksudo nautilus 并使用 14.04 上的内置共享功能共享该文件夹(这需要下载并安装 Samba,所以我这样做了)。
问题出在我家网络上的一位用户身上。在我的 Windows 8 机器上,使用我设置的 Samba 用户和密码smbpasswd -a <user>
。
我可以通过网络发现登录到计算机,并使用读写命令正常访问共享驱动器。但是,在楼下的 Win7 计算机上,我可以通过网络发现查看文件夹,但我没有正确的权限来实际打开文件夹或编辑其中的任何内容。这是使用我创建的另一个 samba 帐户smbpasswd -a <user>
我尝试使用该命令删除服务器的已保存密码,net use \\Server /delete
尽管这没有任何作用,只是在我访问网络设置中的驱动器时再次提示我输入密码。
我尝试将新的 samba 帐户添加到 smbusers(我认为)组,但没有任何变化。
如果有人告诉我怎么做,我可以转储我的 smb.conf。谢谢。
答案1
我有同样的 Ubuntu。确保文件中“=”符号的两边都有空格/etc/samba/smb.conf
。Samba 真的很挑剔。
另外,当你在 samba 中更改某些内容时,请像这样重新启动它:sudo restart smbd; sudo restart nmbd
要显示 smb.conf 文件,请执行以下操作:testparm -s
您可以将该输出发送到文件,然后在 nedit 中打开该文件(需要 X windows)。
用于smbstatus
显示所有 samba 用户。
这是我将所有 Samba 和其他相关设置放入一个文件的脚本:
#!/bin/bash
# July 2014. Show system config for Samba.
yymmdd=`date +%F`
outfile="cfgsamba$yymmdd.txt"
myline="========================================="
[ -f "$outfile" ] && rm $outfile
date >> $outfile
echo $myline >> $outfile
echo "OS Version:" >> $outfile
echo " " >> $outfile
cat /etc/os-release >> $outfile
echo $myline >> $outfile
echo "Basic variables:" >> $outfile
echo " " >> $outfile
echo "TERM=$TERM" >> $outfile
echo "DISPLAY=$DISPLAY" >> $outfile
echo "SHELL=$SHELL" >> $outfile
echo "BASH_VERSION=$BASH_VERSION" >> $outfile
echo "Uname=`uname -a`" >> $outfile
echo $myline >> $outfile
echo "smbstatus:" >> $outfile
echo " " >> $outfile
#smbstatus >> $outfile 2>&1
stdbuf -oL smbstatus >> $outfile 2>&1
echo $myline >> $outfile
echo "sudo pdbedit -L:" >> $outfile
echo " " >> $outfile
sudo pdbedit -L >> $outfile
echo $myline >> $outfile
echo "testparm -s:" >> $outfile
echo " " >> $outfile
testparm -s >> $outfile
echo $myline >> $outfile
echo "smbclient -L ubuntucomp:" >> $outfile
echo " " >> $outfile
smbclient -L ubuntucomp >> $outfile
echo $myline >> $outfile
echo "net usershare info:" >> $outfile
echo " " >> $outfile
net usershare info >> $outfile
echo "See $outfile"
more $outfile
在 smb.conf [global] 部分中,您必须输入workgroup = WORKGROUP
。默认值实际上是全部大写的“WORKGROUP”。然后重新启动 samba。
另外,在 smb.conf 的 [sambashare] 部分中输入read only = no
。使用 [sambashare] 的实际名称。注意那些空格。