我在Linux上设置samba以便从Windows进行单用户访问,并且需要阻止密码检查。我已将我的linux用户名添加到smbpasswd。尽管我的smb.conf中设置了访客帐户,但我创建的文件由用户nobody拥有。如何让samba作为我的用户ID运行?
的smb.conf:
[global]
security = share
guest account = liam
...
[goodstuff]
path = /home/liam
read only = no
guest only = yes
guest ok = yes
如果这是常见问题,请致歉;我看了看,并寻找答案。
答案 0 :(得分:2)
这似乎是一个常见问题,对我来说,如果我在共享部分中有它,它目前不起作用,但如果它在全局部分中则有效。这是我的分享定义:
[RepoDrive]
comment = USB drive
path = /shr
read only = No
create mask = 0777
directory mask = 0777
guest only = Yes
guest ok = Yes
browseable = No
根据Samba manual,指定共享的访客帐户应该没问题,这就是它应该怎么做... IMO,Samba有很多问题。请注意,如果您想知道当您是访客时您正在执行哪个用户,请确保您具有写权限并创建文件夹,然后您可以检出文件夹的所有者,这将是samba使用的用户。对我来说,如果我在共享部分中指定来宾帐户,则为“nobody”(默认值)。
请注意,smbpasswd与这些用户定义无关。
如果所有其他方法都失败了,请尝试使用testparm(你需要sudo apt-get install samba-common-bin才能获得它)。它将显示配置的哪些参数实际有效,并检测任何不相关/不正确的参数(它消除了您设置为默认值的设置,并重写同义词,例如writeable = yes将变为只读=否因为这些是反义词)。
答案 1 :(得分:0)
问题原来是
guest only = yes
删除后,活动将以访客帐户用户ID身份发生。
答案 2 :(得分:0)
我的解决方案是在共享中添加“guest account = accountname”而不是[global]部分。