设置安装了kerberized的nfs主目录的程序-gsdd找不到有效的kerberos票证


17

我们的主目录是通过kerberized nfs导出的,因此用户需要有效的kerberos票证才能挂载其主目录。此设置可与我们现有的客户端和服务器配合使用。

现在,我们要添加一些11.10客户端,从而将ldap和kerberos以及pam_mount一起设置。ldap身份验证有效,用户可以通过ssh登录,但是无法安装其家。

当pam_mount配置为以root身份挂载时,gssd找不到有效的kerberos票证,挂载失败。

Nov 22 17:34:26 zelda rpc.gssd[929]: handle_gssd_upcall: 'mech=krb5 uid=0 enctypes=18,17,16,23,3,1,2 '
Nov 22 17:34:26 zelda rpc.gssd[929]: handling krb5 upcall (/var/lib/nfs/rpc_pipefs/nfs/clnt2)
Nov 22 17:34:26 zelda rpc.gssd[929]: process_krb5_upcall: service is '<null>'
Nov 22 17:34:26 zelda rpc.gssd[929]: getting credentials for client with uid 0 for server purple.physcip.uni-stuttgart.de
Nov 22 17:34:26 zelda rpc.gssd[929]: CC file '/tmp/krb5cc_65678_Ku2226' being considered, with preferred realm 'PURPLE.PHYSCIP.UNI-STUTTGART.DE'
Nov 22 17:34:26 zelda rpc.gssd[929]: CC file '/tmp/krb5cc_65678_Ku2226' owned by 65678, not 0
Nov 22 17:34:26 zelda rpc.gssd[929]: WARNING: Failed to create krb5 context for user with uid 0 for server purple.physcip.uni-stuttgart.de
Nov 22 17:34:26 zelda rpc.gssd[929]: doing error downfall

另一方面,当pam_mount用noroot = 1选项配置时,则根本无法装入该卷。

Nov 22 17:33:58 zelda sshd[2226]: pam_krb5(sshd:auth): user phy65678 authenticated as phy65678@PURPLE.PHYSCIP.UNI-STUTTGART.DE
Nov 22 17:33:58 zelda sshd[2226]: Accepted password for phy65678 from 129.69.74.20 port 51875 ssh2
Nov 22 17:33:58 zelda sshd[2226]: pam_unix(sshd:session): session opened for user phy65678 by (uid=0)
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(mount.c:69): Messages from underlying mount program:
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(mount.c:73): mount: only root can do that
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(pam_mount.c:521): mount of /Volumes/home/phy65678 failed

那么,如何允许特定组的用户执行nfs挂载?如果这不起作用,我们可以使pam_mount使用root,但传递正确的uid吗?


同样的问题也适用于与-osec=krb5
AdmiralNemo

确实,这个问题尚未解决。我是否要创建另一个标题和内容相同的问题,或者“重新发布”是什么意思?
janbernlöhr2012年

我认为使用kerberized nfs时,您将以root用户身份安装(使用系统密钥表),但是文件访问是通过每个用户的票证完成的。
Jayen 2012年

删除的查询评论-将监控
Ringtail 2012年

您正在安装/home /home/user还是/home/user/mountpoint?我认为第一个需要在登录之前完成。我尝试使用sshfs进行的第二个操作,但是它在GDM和lightdm登录方面一直失败,我不认为这是sshfs的错。第三个应该起作用,您只需要将用户添加到允许进行nfs挂载的组即可。请让我知道,如果您让第二个工作。我会感兴趣的。
d_inevitable 2012年

Answers:


2

看到这个线程:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=190267

如果fstab中没有“用户”选项,则只有root可以装载卷。mount.c中有一些关于使mount命令可由任何用户执行的注释,但是维护者拒绝了该注释(该注释说明了安全隐患,但没有更具体)。

与原始上游相反,libpam-mount的Debian版本使用用户 uid(而不是root)执行安装命令。将用户指定的挂载作为root用户进行操作是一个安全漏洞。然后,任何用户都可以在登录时将卷挂载到/ usr或/ tmp,或在注销时挂载任何其他卷。

换句话说,libpam-mount只能执行用户可以执行的操作,仅此而已。

那么,有什么建议吗?

将用户条目放入fstab即可。请告诉我这是如何工作的。请注意,其他文件系统(ncp,smb)具有用户可调用的安装二进制文件,如smbmount或ncpmount。对于回送挂载,似乎没有这样的东西:/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.