访问共享时,Samba change_to_user_internal 错误

访问共享时,Samba change_to_user_internal 错误

尝试访问 samba 共享时出现以下错误。

[2019/02/24 20:24:48.978082,  0] ../source3/smbd/uid.c:386(change_to_user_internal)
  change_to_user_internal: chdir_current_service() failed!

我已经创建了文件夹,并赋予它 777 权限,将其所有者更改为无人用户,但无论我怎么尝试,它都不允许我打开它。

这是 smb.conf

[global]
   map to guest = Bad User
   workgroup = WORKGROUP
   server string = Samba Server
   server role = standalone server
   dns proxy = no 


[Shared]
  comment = Allow all users to read/write
  path = /home/andrius/Shared
  public = yes
  guest ok = yes
  writable = yes

问题似乎与我尝试共享的文件夹位于我的主目录中有关。只要我将其放在主目录之外,一切就开始正常工作。

smb.service当我检查进程时,它似乎以 root 服务身份运行。所以我很难理解为什么我不能将它放在我的主目录中。

答案1

我遇到了同样的问题,我找到了解决方案另一个问题

您需要添加一个force user =参数。(仔细选择用户,任何创建的文件都将归该用户所有。)

[Shared]
  comment = Allow all users to read/write
  path = /home/andrius/Shared
  public = yes
  guest ok = yes
  writable = yes
  force user = andrius

答案2

我遇到了同样的问题,但我的解决方案不同:samba 用户无法读取我的 smb-shared 文件夹上方的文件夹,因此用户无法通过 cd 进入该文件夹...解决方案是赋予上述文件夹正确的权限。

答案3

这表明 Linux ACL 权限对用户来说过于严格。您可以放宽文件夹的本地权限,并在 Samba 服务设置中配置安全设置。

chmod 777 /home/andrius/Shared

然后,指定具有访问权限的用户或组/etc/samba/smb.conf

[Shared]
path = /home/andrius/Shared
read only = no
valid users = andrius
write list = andrius

相关内容