小编Eli*_*son的帖子

在 FreeBSD 上,Kerberised NFSv4 的权限没有生效

我目前正在尝试在 FreeBSD 上设置 NFSv4 服务器。我在其他 Unices(Solaris 和 Linux)上有丰富的经验,但我对 FreeBSD 还很陌生。

我的目标是实现以下目标:

  • 从 FreeBSD 系统提供的文件
  • 唯一的安全模型应该是krb5p
  • 客户端是 Linux (Ubuntu) 和 OSX

目前,我已经设法进行设置,以便我需要一个有效的 TGT 才能访问文件系统。尝试访问这些文件后,我可以klist在客户端上运行,并且可以看到nfs/domainname主体已被检索。这表明 NFS 挂载的 Kerberos 部分是正确的。

我的问题是所有客户端访问仍然使用nobody用户执行。当我这样做时,我可以看到权限ls -l。即使用户映射工作正常,但除非nobody有权对文件执行任何操作,否则我的权限被拒绝。

这是来自客户端的示例交互(在本例中为 Ubuntu,但在 OSX 中也会发生同样的情况)。在这个例子中,/export/shared/testshare是来自 FreeBSD 服务器的共享目录:

(我已将实际域名更改为domain,并将 Kerberos 领域名称更改为REALM

$ kinit
Password for elias@REALM:
$ klist
Ticket cache: FILE:/tmp/krb5cc_1000_GBjtDP
Default principal: elias@REALM

Valid starting       Expires              Service principal
09/02/2013 09:40:47  10/02/2013 09:40:44  krbtgt/REALM@REALM
$ …
Run Code Online (Sandbox Code Playgroud)

freebsd nfs kerberos nfs4

7
推荐指数
1
解决办法
1526
查看次数

在 MIT Kerberos 和 Active Directory 之间设置跨领域信任时“KDC 不支持加密类型”

我目前正在设置一个环境,其中我有一组 Solaris 和 Linux 机器,使用专用的 Krberos 5 领域(MIT,在 Solaris 11 上,krb5-config --version返回:)Solaris Kerberos (based on MIT Kerberos 5 release 1.6.3)。我们还有一个用于单独领域的 Active Directory (Windows 2003) 服务器。

我的目标是让 AD 服务器中的所有用户,以及基于 MIT 的领域中的 host/nnn、nfs/nnn 和 cifs/nnn 主体。我正在尝试在这两个领域之间建立跨域信任。

假设如下:

  • Unix 领域:EXAMPLE.COM
  • AD领域:AD.EXAMPLE.COM

我已经根据Microsoft 文档设置了 AD 跨领域信任,具有双向信任。

发生的情况是跨领域身份验证仅在一个方向上起作用。从 AD 到 Unix 的工作原理:

# kinit adtest@AD.EXAMPLE.COM
Password for adtest@AD.EXAMPLE.COM: 
root@clienttest2:~# kvno ltest@EXAMPLE.COM
ltest@EXAMPLE.COM: kvno = 1
Run Code Online (Sandbox Code Playgroud)

但是,相反的情况并没有,并给我一条错误消息:KDC 在获取 adtest@AD.EXAMPLE.COM 的凭据时不支持加密类型

# kinit ltest@EXAMPLE.COM
Password for ltest@EXAMPLE.COM: 
root@clienttest2:~# …
Run Code Online (Sandbox Code Playgroud)

active-directory kerberos nfs4 pam-krb

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

kerberos ×2

nfs4 ×2

active-directory ×1

freebsd ×1

nfs ×1

pam-krb ×1