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 / 问题 / 1070276
Accepted
AveryFreeman
AveryFreeman
Asked: 2021-07-23 00:07:59 +0800 CST2021-07-23 00:07:59 +0800 CST 2021-07-23 00:07:59 +0800 CST

Active Directory + NFS:为什么域用户的 uidNumber、gidNumber 在 Windows 中不通过“id”命令显示?

  • 772

我正在将 NFS v3 共享(ZFS 数据集)从域用户拥有的 Solaris 文件服务器连接到 Windows 计算机,但这个概念基本上应该适用于任何 POSIX 样式的服务器。我希望找到一种直观的方式让权限跨平台持久化,这也可以应用于使用同一客户端的多个用户。

mountSolaris 服务器在使用命令 in装载数据集时无法识别用户身份cmd,尽管数据集被设置为服务器上存在的同一域用户,但使用 AD LDAPuidNumber和gidNumber.

我已经看到了一种uid/gid可以在注册表中设置的解决方案,允许 NFS 共享作为具有一个用户身份的匿名共享安装在 Windows 中。这不仅不方便,而且只适用于一个用户。

我正在使用 MSYS2(例如“Git Bash”)并注意到该命令在's 属性选项卡中的集合id附近没有显示任何内容。我知道 Windows 使用s 来识别用户和设备,这与 Unix id 系统完全不同——但是从哪里得到这个数字呢?uidNumber/gidNumberADUCSIDMSYS2

我希望通过阐明这一点,它可以帮助我找到一些设置用户属性的方法,这样mount命令 incmd将以我的 Solaris 服务器可以理解的方式传递我的用户身份。

这是我正在谈论的一个例子:

在ADUC中,让我们回顾uid/gid一下Administrator:

Active Directory Users and Computers
----------------------------------------------
    [Menu]  View --> Advanced Features -->
+ [Domain] Users --> Administrator --> Properties -->
  + [Tabs] Attribute Editor -->
+ [Tables] uidNumber, gidNumber

uidNumber: 2500
gidNumber: 2512

好的,那么让我们检查Administrator一下:idMSYS2

└─ ▶ id administrator
uid=1049076(Administrator) gid=1049089(Domain Users) groups=1049089(Domain Users)

显然,这些是非常不同的数字。显示用户的 Unix 不是更有意义uid/gid吗?

从哪里MSYS2得到这些看起来很奇怪的数字,有没有办法uid/gid在命令行中使用用户指定的 AD 作为身份?

nfs bash active-directory windows-command-prompt identity-management
  • 1 1 个回答
  • 389 Views

1 个回答

  • Voted
  1. Best Answer
    AveryFreeman
    2021-07-23T21:42:40+08:002021-07-23T21:42:40+08:00

    uidNumber好吧,这很容易——因为我的用户gidNumber已经设置好了,我所要做的就是在客户端上启用 AD 身份映射。

    我打开了一个管理员命令提示符,启动了 powershell(版本 7),然后运行了 cmdlet:

    PS C:\Windows\System32> Set-NfsMappingStore -EnableADLookup $True -ADDomainName "example.com"
    

    为了确认,我检索了设置:

    PS C:\Windows\System32> Get-NfsMappingStore
    
    UNMServer               :
    UNMLookupEnabled        : False
    ADDomain                : example.com
    ADLookupEnabled         : True
    LdapServer              :
    LdapNamingContext       :
    LdapLookupEnabled       : False
    PasswdFileLookupEnabled : False
    

    现在,关键时刻——安装用户的 NFS 共享(这是 ConEmu 中的用户级 cmd shell):

    happyuser@WINSLAVE C:\Users\happyuser
    $ mount \\solarisbeast\mnt\hallofzmirrors\trough\happyuser\all-pascal-projects n:
    

    到目前为止看起来不错,不需要身份设置(无论如何都不能使用 NFS v3,但仍然......)

    留下了一些痕迹...

    happyuser@WINSLAVE N:\
    $ echo 'this is from winslave' > 'test-from-winslave.txt'
    

    然后,检查服务器上文件创建者的身份:

    admin@solarisbeast:/mnt/hallofzmirrors/trough/happyuser/all-pascal-projects% ls -la
    total 88
    drwxr-xr-x   6 happyuser    DomainUsers       8 Jul 22 22:19 .
    drwxr-x---  35 happyuser    DomainUsers      56 Jul 21 11:37 ..
    drwxr-xr-x   2 happyuser    DomainUsers       3 Jul 21 11:37 .$EXTEND
    -rw-r--r--   1 happyuser    DomainUsers      25 Jul 21 13:04 test-from-bloatedwharfrat.txt
    -rwxr-xr-x   1 happyuser    DomainUsers      25 Jul 22 22:02 test-from-winslave.txt
    

    在身份方面看起来很不错。让我们希望它是稳定的!

    在 Windows 中从 Unix 服务器挂载 NFS 导出

    更新:我很快提到了它,但对于任何错过它的人,NFS 挂载应该以在非提升 cmd 中拥有共享的用户身份执行。对于更熟悉 Posix 系统上的 NFS 挂载的人来说,这可能看起来不直观,其中只有 root(即 sudo)有权调用mount命令。

    • 0

相关问题

  • 在 NFS 文件服务器上获取不规则时间戳

  • 过时的 NFS 句柄

  • sh 脚本:如果未安装远程文件系统,如何安装它?

  • 分析 Linux NFS 服务器性能

  • NFS 缓存导致间歇性滞后

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