AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[winbind](server)

Martin Hope
lampShadesDrifter
Asked: 2021-03-05 14:39:09 +0800 CST

Samba 扩展 ACL 限制用户,即使他们位于共享的授权 AD 组中?

  • 1

通过 SMB+WinBind 为 CentOS 7 文件服务器设置Samba 扩展 ACL ( https://wiki.samba.org/index.php/Setting_up_a_Share_Using_Windows_ACLs#Samba_Extended_ACL_Support ) 以在 Windows 10 桌面(特别是 Citrix VDI 桌面)上挂载共享. 然而,当尝试访问某些共享(但不是全部)时,我看到我的用户访问被拒绝(收到诸如“句柄无效”或“Windows 无法访问”文件夹和“访问被拒绝”文件之类的错误),即使我的测试用户是共享安全属性的 AD 组的一部分(根据文档,https://wiki.samba.org/index.php/Setting_up_a_Share_Using_Windows_ACLs#Setting_Share_Permissions_and_ACLs)。

当登录到 smb linux 服务器本身时,我可以看到groups命令的输出显示测试用户确实在所有必需的 AD 组中(但即使在服务器本身上,我也无法访问我表面上具有 AD 的一些文件夹权限(例如导航到较低级别的文件夹或head -n 10 <filename>在文件上运行))。

例如。我将文件夹设置为 SMB 共享,例如...

/datastore    <----share
    /data
        /dataset1    <----share
            ...
            <data files and folders>
        /dataset2    <----share
            ...
            <data files and folders>
        /dataset3    <----share
            ...
            <data files and folders>

...并且将/datastore所有/datastore/data/dataset...文件夹作为 smb 共享和我的测试用户添加到组中,该组具有对引用、、和连接到 smb 服务器的计算机管理 UI 的共享的读取访问权限datastore(dataset1根据dataset2Samba 扩展 ACL 文档)。(我发现如果您想为较低层次结构的共享文件夹设置更细粒度的共享权限,您需要为父级文件夹授予用户 NTFS/安全权限,因为他们需要能够一直访问路径(LMK 如果这是错误的,可能会导致问题))。

在 Windows 上安装datastore共享时,我发现我的测试用户可以在 中打开内容/datastore/data/dataset1并且(如预期的那样)无法在 中打开内容/datastore/data/dataset3,但也无法访问/datastore/data/dataset2. (我已经三重检查,并且确实似乎被列为共享安全选项卡中列出的 AD 组的成员)。

任何对此有更多经验的人对可能发生的事情有任何想法吗?这篇文章应该包含更多的调试信息吗?

(注意:我在此处发布了一个类似的问题,但针对的是一个几乎完全相反的问题(尚未在此处发布答案,因为这是同一测试过程的一部分,因此所有这些挂断的确切诊断仍不清楚))


以供参考...

(虽然我认为这里没有任何问题),我的/etc/samba/smb.conf文件看起来像......

[root@myserver ~]# cat /etc/samba/smb.conf
[global]

security = ads
#  password server = adcontrollerserver.myorg.local
#  dedicated keytab file = /etc/krb5.keytab
encrypt passwords = yes
log file = /var/log/samba/%m.log
log level = 3

winbind refresh tickets = yes
vfs objects = acl_xattr
map acl inherit = Yes
# the next line is only required on Samba versions less than 4.9.0
#  store dos attributes = Yes
winbind use default domain = yes
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
idmap config * : backend = tdb
idmap config * : range = 10000000-10999999
idmap config MYDOMAIN : backend = ad
idmap config MYDOMAIN : schema_mode = rfc2307
idmap config MYDOMAIN : range = 10000-20000
idmap config MYDOMAIN : unix_nss_info = yes
#  idmap config MYDOMAIN : unix_primary_group = no
username map = /usr/local/samba/etc/user.map
winbind enum users = yes
winbind enum groups = yes
# Template settings for login shell and home directory
template shell = /bin/bash
template homedir = /home/%U
kerberos method = system keytab
workgroup = MYDOMAIN
realm = MYDOMAIN.LOCAL
winbind offline logon = yes

# all the various share names, eg...
[datastore__data__dataset1]
   path = /datastore/data/dataset1
   read only = no
.
.
.

并且似乎具有所有 ACL 的先决条件......

[root@myserver ~]# smbd -V
Version 4.9.1
[root@myserver ~]# smbd -b | grep HAVE_LIBACL
HAVE_LIBACL
[root@myserver ~]# cat /etc/samba/smb.conf | grep "vfs objects"
vfs objects = acl_xattr
[root@myserver ~]# cat /etc/samba/smb.conf | grep "map acl inherit"
map acl inherit = Yes

更新:

今天再次尝试挂载,突然开始工作了(可以根据共享的NTFS/安全权限访问那些以前无法访问的文件夹和文件),IDK为什么。我会注意到,在之前的测试中,我无法断开共享,现在只是我第二次尝试(因此我怀疑再次断开连接并重新连接可能有所帮助(agian,IDK 为什么如果这让任何人有预感 LMK ))。

更糟糕的是,我无法追溯查看 samba 在拒绝我时如何处理对该特定文件夹的访问请求,因为该/var/log/samba/<myclientIP>.log文件仅包含从今天开始的日志(我目前没有遇到问题)。

将继续监控,但如果这让任何人对可能发生的事情有任何进一步的预感,请执行 LMK。

active-directory samba winbind
  • 1 个回答
  • 613 Views
Martin Hope
watkipet
Asked: 2020-02-20 09:27:40 +0800 CST

为什么 realmd 列出同一领域的多个?

  • 1

我正在设置一个 Ubuntu 服务器,以便用户可以针对 Windows AD 服务器进行身份验证。不知道 realmd,我使用 Samba Winbind 的net join命令将机器加入域。之后,我安装了 realmd 并尝试了realm list:

username@ubuntuhost:~$ realm list
thedomain.com
  type: kerberos
  realm-name: THEDOMAIN.COM
  domain-name: thedomain.com
  configured: kerberos-member
  server-software: active-directory
  client-software: winbind
  required-package: winbind
  required-package: libpam-winbind
  required-package: samba-common-bin
  login-formats: THEWORKGROUP\%U
  login-policy: allow-any-login
thedomain.com
  type: kerberos
  realm-name: THEDOMAIN.COM
  domain-name: thedomain.com
  configured: kerberos-member
  server-software: active-directory
  client-software: sssd
  required-package: sssd-tools
  required-package: sssd
  required-package: libnss-sss
  required-package: libpam-sss
  required-package: adcli
  required-package: samba-common-bin
  login-formats: %U
  login-policy: allow-permitted-logins
  permitted-logins:
  permitted-groups:

看来我有两个领域——第一个由 winbind 管理,第二个由 sssd 管理。我对吗?我真的不需要两者。我如何将其缩减为一个?我想我更喜欢使用 sssd 版本。如何删除windbind条目?

ubuntu active-directory sssd winbind
  • 1 个回答
  • 707 Views
Martin Hope
wazoox
Asked: 2017-02-18 10:32:34 +0800 CST

Samba 4:已加入域,但所有用户都映射到没人,Windows 客户端无法访问共享

  • 1

我有一个 Debian/Jessie Samba 4.2.14 作为 AD 成员运行。ADC 是一个 Windows2008R2 服务器。加入工作没有问题。

# net ads testjoin
Join is OK

wbinfo -u并且wbinfo -g工作完美,并按预期提供来自 AD 的用户和组列表。wbinfo -i <user>也可以:

# wbinfo -i TESTAD\\testuser
TESTAD\testuser:*:4294967295:4294967295:testuser:/home/TESTAD/testuser:/bin/false

编辑:这里出了点问题,因为wbinfo -i将所有用户和组映射到 id 4294967295,正如@TheSkunk 所说,2^32 -1。

编辑2: wbinfo --sid-to-uid TESTAD\\testuser失败。当然,我必须明确设置一些idmap参数(默认值显然根本不起作用)但是如何?

编辑 3:我已将这两行添加到 smb.conf:

idmap config * : backend = tdb
idmap config * : range = 10000-30000

现在 ẁbinfo -i TESTDOMAIN\testuser reports a valid id, and a different one for each and every user. However I still have the same problems (all users mapping to nobody,id andgetent` 不知道 AD 用户等)。

然而getent passwd TESTAD\\testuser失败了:

# getent passwd TESTAD\\testuser
# echo $? 
2

我可以使用任何 AD 帐户连接smbclient到服务器:

# smbclient //srv1/data -U TESTAD\\testuser
Enter TESTAD\testuser's password: 
Domain=[TESTAD] OS=[Windows 6.1] Server=[Samba 4.2.14-Debian]
smb: \> ls
  .                                   D        0  Fri Feb 17 16:23:04 2017
  ..                                  D        0  Wed Feb  1 16:47:02 2017
  test.txt                            N        5  Fri Feb 17 14:38:21 2017
  popo                                D        0  Fri Feb 17 16:23:04 2017

                117125466112 blocks of size 1024. 117052392484 blocks available
smb: \> 

但是,连接被映射到nobody/nogroup,并且创建的文件也归其所有nobody。Windows 机器无法使用任何 AD 帐户进行连接。但是,如果我创建一个本地帐户smbpasswd -a <user>,他们可以使用它进行连接。但是,它们的连接参数、文件等都是映射到的,nobody尽管该帐户也存在于本地。

这是当前的smb.conf(尽可能接近默认值):

[global]
        workgroup = TESTAD
        realm = TESTAD.lan
        server role = member server
        security = ADS
        map to guest = Bad User
        obey pam restrictions = Yes
        pam password change = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        unix password sync = Yes
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        dns proxy = No
        usershare allow guests = Yes
        panic action = /usr/share/samba/panic-action %d
        idmap config * : backend = tdb
        inherit permissions = Yes
        inherit acls = Yes


[DATA]
        path = /mnt/raid/
        read only = No
        guest ok = Yes

这是/etc/nsswitch.conf(我尝试从阴影中添加和删除'winbindd,根本没有改变):

# cat /etc/nsswitch.conf 
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat winbind
group:          compat winbind
shadow:         compat winbind
gshadow:        files

hosts:          files mdns4_minimal [NOTFOUND=return] dns wins
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

我不明白为什么身份验证似乎永远不会通过 winbind。我越来越绝望了,有什么想法吗?

authentication linux-networking samba4 winbind
  • 4 个回答
  • 33215 Views
Martin Hope
lbanz
Asked: 2016-07-14 01:48:39 +0800 CST

winbindd gss_init_sec_context 因 [未指定 GSS 故障] 而失败

  • 1

运行 CentOS7。每小时我都会收到相同的错误消息。我的身份验证没有问题。我相信有一个 Redhat 解决方案,但我没有订阅。

https://access.redhat.com/solutions/2294131

有人可以告诉我如何解决吗?我有来自 yum repos 的最新更新。

centos7 winbind
  • 2 个回答
  • 9208 Views
Martin Hope
Stefano d'Antonio
Asked: 2016-05-22 13:00:58 +0800 CST

解析没有完全限定的 NetBIOS 名称

  • 0

我已连接到我的办公室 VPN,并且可以使用完全限定名称 PC00001.myofficevpn.plc 成功地 RDP 进入我的计算机。

当我尝试仅使用主机名 PC00001 进行连接时,我无法访问,有没有办法解决这个问题?

netbios linux-networking winbind
  • 1 个回答
  • 170 Views
Martin Hope
moster67
Asked: 2016-04-30 04:24:37 +0800 CST

wbinfo -u 不显示 AD 用户(为空)

  • 3

我们在使用 Samba(版本 4.3.8)/WinBind 和 Kerberos 连接到 Windows Server 2008 R2 上的 AD 的 Ubuntu Server 14.04(文件服务器)上遇到问题。问题是用户在他们的个人文件夹中没有写入权限。

我们还注意到,当使用 wbinfo -u 时,输出不会给出错误,但会生成一个空列表,甚至不显示本地用户。但是,wbinfo -g 正确显示了 AD 组。

直到昨天,此设置都运行良好。我们设置了另一个配置相同的新 Ubuntu 服务器,它产生了同样的问题。

加入并信任 AD 可以正常工作:

net ads join -U administrator
Enter administrator's password:
Using short domain name -- NTB
Joined 'UBUNTUTEST' to dns domain 'NTB.local'

知道问题可能是什么或我们如何进一步排除故障?

kerberos windows-server-2008-r2 samba4 winbind ubuntu-14.04
  • 1 个回答
  • 1857 Views
Martin Hope
koullislp
Asked: 2016-04-21 00:52:04 +0800 CST

使用 PAM 在 ssh 登录时初始化 Kerberos 票证

  • 1

是的,所以我在 Centos7 中的 PAM 上有点挣扎。

我不知道如何手动配置它并使更改永久化,以便在成功 ssh 登录后获得 kerberos 票证。

如您所见,主要的身份验证方法是 winbind,我希望它保持这种状态。

到目前为止,我的 /etc/pam.d/system-auth 是使用 authconfig 自动生成的:

auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        sufficient    pam_winbind.so use_first_pass
auth        required      pam_deny.so

在早期版本中,我会添加:

auth optional       pam_krb5.so       try_first_pass

知道如何在 Centos7 中执行此操作吗?我不想使用 kerberos 进行身份验证,因为它可能会在密码更改时搞砸一切。

linux kerberos pam centos7 winbind
  • 2 个回答
  • 2458 Views
Martin Hope
user368507
Asked: 2016-04-12 09:01:37 +0800 CST

Samba 文件服务器作为域成员:加入域时出错

  • -1

我想将 samba 4 设置为共享本地目录,以便允许域用户挂载该目录。我不希望域用户能够登录 linux 机器,他们应该只能使用共享目录。

涉及3台机器:

  1. dc:充当域控制器的 Windows Server 2012。
  2. 工作站:一个 Windows 工作站,实际上与 dc 是同一台机器,但这只是因为我没有 2 个窗口,应该没关系。
  3. samba : 一个 linux 服务器,其目录 (/srv/rw) 应该在网络上共享

我希望,当域用户登录“工作站”时,他可以在“samba”上看到共享,而不会提示输入登录名/密码。我遵循了本教程: http: //linuxtot.com/add-a-simple-samba-file-server-as-a-domain-member/

当我尝试将“samba”(机器)加入域时,出现错误:

root@samba:~# net ads join -S rootdomainname.com -U "Administrator%password"
kinit succeeded but ads_sasl_spnego_krb5_bind failed: Server not found in Kerberos database
Failed to join domain: failed to connect to AD: Server not found in Kerberos database

net ads join我可以在命令 期间在网络上看到 kerberos 错误:KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN

“Kerberos 数据库”指的是什么?那是AD里的那个吗?

另外,我的 linux 机器上没有任何文件“/etc/krb5.conf”,这正常吗?一些教程引用了这个文件。

知道问题是什么吗?

active-directory samba kerberos samba4 winbind
  • 1 个回答
  • 838 Views
Martin Hope
Bajingan Keparat
Asked: 2012-07-07 06:49:23 +0800 CST

debian 在启动时挂起“正在启动 winbind 守护进程:winbind”

  • 0

我复制了一个运行 debian 的虚拟机,这样我就可以玩弄它了。我启动了副本,但没有给它任何网络连接以避免与原始副本发生冲突。但是,当我打开 VM 时,出现此启动消息后它似乎冻结了

Starting Sambe daemons:nmbd smbd
Starting PostgreSQL 8.4 database server: main    
Starting the Winbind daemon: winbind

我该如何解决?我从来没有收到登录提示。这个虚拟机确实有一个连接到 Windows 共享文件夹的挂载点。

debian winbind
  • 1 个回答
  • 2203 Views
Martin Hope
Jon Skarpeteig
Asked: 2012-05-17 01:53:43 +0800 CST

Ubuntu + 广告;无法加入域:无法设置机器 spn:违反约束

  • 2

我正在尝试将 Ubuntu 12.04 服务器加入 Active Directory。我安装了samba,并kb5-user在 AD 中创建了一个机器帐户,并做了:

> net ads testjoin
Join is OK

到目前为止,一切都很好。然后我遇到了一个问题:

> sudo net join -U myuser
Failed to join domain: failed to set machine spn: Constraint violation

我没有权限修改 Active Directory 服务器上的任何内容,因为我不是管理员。有什么办法解决这个错误吗?

ubuntu active-directory kerberos winbind
  • 7 个回答
  • 30673 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve