背景:
我正在为当地一家会计办公室设置 Linux 机器。该机器的目的是减轻通过 USB 驱动器访问网络的病毒威胁。请记住,该办公室需要尽可能高的安全级别。我的配置试图利用 Samba 允许已配置(且高度安全)的 Windows 2008 Server 的成员访问 Samba 共享。我已将需要访问 Linux 机器的每个人的用户名添加到系统中,但尚未添加密码,因为 Windows Server 上的密码需要经常更改。如果可能的话,应避免尝试管理 Linux 机器上的密码数据库。
要求:
- 登录的 Windows 用户无需密码验证即可访问 Samba 共享。
- 尽可能少地操纵当前的 Windows 安全策略。
- 所有访问共享的用户都应具有完全的读写权限(无需执行)。
问题:
目前,未经身份验证的用户尝试连接 Samba 服务器时,Windows 端都会出现错误,提示“不允许访问资源 {插入 IP 地址}”。Samba 使用smb.conf
我从头开始构建的以下文件运行:
[global]
workgroup = {Windows Domain Name}
server string = Removable Media Server
security = share
[media]
path = /media
writable = yes
browsable = yes
guest ok = yes
guest only = yes
force directory mode = 0666
force create mode = 0666
Samba 版本是 3.6.9。Sambatestparm
命令没有返回任何错误。每次更改 Samba 配置后,我都会重新启动 Samba 服务器。
我已尝试过:
在smb.conf
:
- 为用户设置安全性。
- 以及我遇到过的几乎所有设置。
其他注意事项:
Samba 共享可以被 Windows 域看到,并且实际上可以从 Windows 管理员会话访问。
还有一件事:我对 Samba 还很陌生,所以请耐心等待。
答案1
好吧,我要建议的第一件事是设置:
security = domain
但后来我在 Samba 文档的有关域成员资格的章节中看到了这一点:
目前,Samba 中的域安全性仍要求您创建本地 UNIX 用户来代表连接到您服务器的用户。这意味着,如果域用户 DOM\fred 连接到您的域安全 Samba 服务器,则需要有一个本地 UNIX 用户 fred 来代表 UNIX 文件系统中的该用户。
为每个连接的用户设置一个帐户是否可行?
我从未在 Windows 域内设置 Samba 共享,但这里有一个关于域成员资格的 Samba 文档的链接,我上面引用了该链接:Samba 域成员资格
看一下文档,也许它可以帮助你完成你需要做的事情。
答案2
我今天解决了我自己的问题,答案与 samba 权限甚至 Linux($#@!$#@!~ WINDOWS!)无关。
Windows 有一个特殊的怪癖,即如果用户没有使用命令提示符的权限,它将不允许用户通过 IP 进行网络搜索(这只需要近 100 次 Google 搜索就能找到,不是开玩笑)。修复组权限以对所有已禁用命令提示符的用户启用命令提示符后,整个设置工作得如梦如幻。:)