我们结合使用 Samba 和 WinBind 来允许在 Ubuntu 12.04 机器上进行 AD 登录。我们还使用 Samba 作为文件服务器。我们不希望 Samba 文件共享用于 AD 登录,而只用于我们指定的本地登录。目前,当 AD 用户尝试通过 Samba 查看文件时,他们可以看到我们一个共享中的所有内容。但是,当他们尝试写入更改时,他们会被拒绝。这是第一个问题。
第二个问题是,我们在机器上有一个与 AD 用户同名的本地用户,并且当它登录到 Samba 共享时,它似乎正在使用 AD 帐户,并且无法将更改写入文件系统,而是以本地用户身份登录。
这是我的 smb.conf:
[global]
workgroup = DOMAIN
server string = t-u12-dev1
netbios name = t-u12-dev1
dns proxy = no
password server = domainserver.com
realm = DOMAIN.COM
local master = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
wtmp directory = /var/log
utmp = yes
utmp directory = /var/run
security = ads
client ntlmv2 auth = yes
ntlm auth = no
guest account = nobody
restrict anonymous = 2
idmap backend = tdb
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
idmap config AD:backend = rid
idmap config AD:range = 100000-999999
template shell = /bin/bash
template homedir = /home/%D/%U
winbind separator = +
winbind use default domain = yes
winbind offline logon = true
winbind enum users = no
winbind enum groups = no
winbind refresh tickets = true
smb ports = 445
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
load printers = no
[sites]
writeable = yes
path = /sites
comment = $HOSTNAME
browseable = yes
guest ok = no
如果我执行sudo pdbedit -L -v
,我只会看到我希望能够访问 Samba 文件共享的一个本地帐户。
我可以进行哪些更改以便我的 AD 登录继续工作,但不用于 Samba 文件共享身份验证?
答案1
如果您不想将 AD 登录用于任何与 Samba 相关的事情,您可以将 Samba 安全模式更改为“用户”甚至“共享”级别权限吗?这样,您就可以利用内置帐户进行 Samba,但保留 AD 内容进行登录。或者也许我误解了您的要求。
我的服务器上有本地帐户,但我还使用 AD 来管理 Samba。我最终的做法是使用共享上的以下参数,通过 AD 权限将共享阻止到组级别:
valid users = "+AD\Group Name"
force group = "+AD\Group Name"
这样,其他用户甚至无法浏览共享的内容。它似乎也尊重嵌套组,因此我们可以将 AD 组设置为其他组的成员,这样我们向用户开放的内容就会非常细化。
答案2
将以下内容添加到您的共享设置中
[Example]
comment = Tooltip seen when hovered over the drive
path = path/to/you/shared/folder
read only = no
browsable = yes
available = yes
valid users = YOUR VALID USER NAME HERE
public = no
writable = yes