在FreeBSD上,Kerberised NFSv4的权限不会生效

我目前正在尝试在FreeBSD上设置NFSv4服务器.我在其他Unices(Solaris和 Linux)上有这方面的丰富经验,但我对FreeBSD还不熟悉.

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

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

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

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

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

(我已将实际域名更改为域,将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
$sudo mount -t nfs4 -osec=krb5p,vers=4 lion:/export/shared/testshare /mnt
$ls -l /mnt
total 4
-rw-r--r-- 1 nobody nogroup   5 Feb  7 18:17 bar.txt
-rw------- 1 elias  nogroup   4 Feb  5 23:09 foo.txt
$cat /mnt/bar.txt
blah
$echo foo >>/mnt/bar.txt
bash: /mnt/bar.txt: Permission denied
$cat /mnt/foo.txt
cat: /mnt/foo.txt: Permission denied
$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
09/02/2013 09:41:56  10/02/2013 09:40:44  nfs/lion.domain@REALM

服务器配置

我在找到一个在FreeBSD上设置NFSv4的综合指南时遇到了一些问题.这本身有点令人惊讶,因为我发现有关如何在FreeBSD中做事的信息非常好.

以下是/etc/rc.conf中的相关行:

rpcbind_enable="YES"
nfs_server_enable="YES"
nfsv4_server_enable="YES"
nfsuserd_enable="YES"
nfscbd_enable="YES"
mountd_enable="YES"
gssd_enable="YES"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
zfs_enable="YES"

这是/ etc / exports的内容

/export/shared/testshare -sec=krb5p
V4: / -sec=krb5p

一个有趣的方面是,当我使用tcpdump记录客户端和服务器之间的NFS网络流量时,我看到了NFS3数据包和NFS4数据包.这两种数据包类型都包含加密数据,所以我仍然认为使用了Kerberos,但考虑到上面的配置,我原本预计除了NFS4流量之外什么也没有.

解决方法

>需要使用vfs.nfsd.server_min_nfsvers = 4禁用nfs3. >为避免“nobody”,NFSv4客户端和服务器应位于同一域域中.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...