如何在 SAMBA 中允许访客访问

Bla*_*ine 1 samba printing network-printer ubuntu windows-10

所以基本上,我和这个线程中的那个人有完全相同的问题。我可以看到 samba 打印共享,但无法从 Windows 访问它。看起来很有希望的最佳答案指出,我必须执行以下操作:

您需要将访客用户添加到 samba 密码数据库。通常是通过将 samba 配置文件中的 guest 映射到 UNIX 现有用户来完成的;通过组授予该用户打印权限;那么您应该能够通过\server\ URI 访问打印机。

有人可以向我解释一下这是如何完成的吗?我用谷歌搜索了一下,并没有太大帮助。

谢谢!

更新
这里是我的 /etc/samba.conf 文件的打印机部分。让我知道你是否想要剩下的,我会把它放在谷歌文档或其他东西中

[打印机]
评论 = 所有打印机
;可浏览 = 是
路径 = /var/spool/samba
可打印 = 是
客人确定 = 是
;只读 = 没有
来宾帐户 = blain
创建掩码 = 0700

scu*_*ike 5

为了在 Samba 中设置来宾访问,您需要设置一个用户,它将假装登录为该用户。因此,假设您想公开共享 /mnt/somepartition/files 上的文件。您的配置可能如下所示:

[public_files]
    comment = Public files
    path = /mnt/somepartition/files
    browsable = yes
    guest ok = yes
    writable = yes
    guest account = someusername
    create mask = 0775
    directory mask = 0755
Run Code Online (Sandbox Code Playgroud)

这句话是“在\mymachine\public_files 上创建一个匿名用户可见的samba 共享(不像用户文件通常是隐藏的)并启用它以进行写访问。匿名用户可以使用某些用户名的凭据访问此共享。当文件是“创建,使它们全局可执行但限制全局写入访问。创建目录时,使它们全局可执行但只能由某个用户名写入。”

完成此操作后,您将需要根据您的问题创建一个 smbpassword。为此,首先确保该用户存在于您的服务器中。如果用户没有,请创建它:

sudo adduser someusername
Run Code Online (Sandbox Code Playgroud)

一旦用户存在,创建一个 samba 登录:

sudo smbpasswd -a someusername
Run Code Online (Sandbox Code Playgroud)

需要记住的几件事:public_files 指向的目录需要可以被某个用户名读取。确保正确设置权限。如果该目录归您所有但仍希望使它们可用,请将某个用户名添加到公共组,然后更改组所有权。