Kerberos + LDAP + NFSv4实现单点登录(中)
五.nfs服务器的安装
1。安装nfs-kernel-server
<代码> root@debian: ~ # apt-get安装nfs-kernel-server nfs-common 代码>
修改/etc/违约/nfs-kernel-server文件
将
NEED_SVCGSSD=啊?br/>改为
NEED_SVCGSSD=皔es"
重启nfs-kernel-server
<代码> root@debian: ~ #/etc/init.d/nfs-kernel-server停止 root@debian: ~ #/etc/init.d/nfs-kernel-server开始代码> >之前<代码> root@debian: ps - e ~ # | grep gss 10275年?就是rpc.svcgssd 代码>2。安装libnss-ldapd, nslcd
为了获取ldap用户信息,要安装libnss-ldapd, nslcd
在新立得选上libnss-ldapd, nslcd会自动将libpam-ldapd, nscd, nslcd-utils三个包打上安装标记,可手工将该三个包去掉安装标记,不需此三个包<代码> root@debian: ~ # apt-get安装libnss-ldapd nslcd 代码>
注意安装nslcd配置过程中,提示输入LDAP服务器地址的输入框默认了uri ldapi:///,一定要将ldapi改为LDAP,因为ldapi:///表示用在unix域
1) nslcd
安装过程中
ldap服务器uri填ldap://192.168.1.101/
ldap服务器搜索起点填dc=ctp, dc=净查看配置文件
<代码> root@debian: ~ #猫/etc/nslcd.conf #用户和组nslcd应该运行。 uid nslcd gid nslcd # LDAP服务器(s)的位置应该是可以达到的。 #填LDAP服务器地址,即kdc服务器地址 uri ldap://192.168.1.101/#搜索基地,将用于所有查询。 基本dc=ctp, dc=净 root@debian: ~ # 代码>2) libnss-ldapd
安装过程中
名称服务来配置选[*]passwd新建测试目录
<代码> root@debian: ~ # mkdir/home/linlin/share 代码>将该目录属性改为用户ID及用户组ID都为4001,即为ldap用户krblinlin的uidNumber/gid号,但并在nfs客/服两主机本地不存在该ID用户
<代码> root@debian: ~ #乔恩4001:4001/home/linlin/share 代码>2.1)假定没选[*]passwd
<代码> linlin@debian: ~ $ ls ld/home/linlin/share drwxr-xr-x 2 4001 4001 4096 9月18点13/home/linlin/share 代码>则取不到ldap用户信息
2.2)可重设libnss-ldapd,选上[*]passwd
<代码> root@debian: ~ # dpkg-reconfigure libnss-ldapd 代码><代码>… ┌───────────┤正在设定libnss-ldapd├──────────────────────────┐ │这个包工作,您需要修改/etc/nsswitch.配置文件使用ldap数据源。│ │你可以选择的服务应该启用LDAP查找。新LDAP查找将│补充道 │作为最后一个数据源。一定要检查这些更改。│ │名称服务配置:│ ││[]主机 │[]netgroup│ ││[]网络 ││[*]密码 │[]协议 …代码>/etc/nsswitch。配置:启用LDAP查找passwd
<代码> root@debian: ~ # 代码>查看配置文件,可见passwd一行后添加了ldap
<代码> root@debian: ~ #猫/etc/nsswitch.conf 密码:兼容ldap 组:兼容 影子:兼容 gshadow:文件 主持人:文件mdns4_minimal NOTFOUND=返回dns 网络:文件 协议:db文件 服务:db文件 醚:db文件 rpc: db文件 netgroup: nis root@debian: ~ # 代码><代码> linlin@debian: ~ $ ls ld/home/linlin/share drwxr-xr-x krblinlin 4001 4096 9月18点13/home/linlin/share 代码>则已获取显示ldap用户信息,krblinlin为ldap用户,同时也是Kerberos用户
获取用户信息很重要,因为nfs客/服两端的认证用户信息要匹配,即两边的域+用户名要一致注:本实验只获取ldap用户的用户名,无法获取ldap用户的所属用户组名(如上仍显示用户组ID 4001),但不影响实验效果
3。网络共享
本实验目的NFSv4认证采用安全性强的gss/krb5认证(Kerberos),而不是弱的系统认证(AUTH_SYS)编辑/etc/出口文件
<代码> root@debian: ~ #猫/etc/exports 同步,no_subtree_check/home/linlin/share gss/krb5 (rw) root@debian: ~ # 代码>执行导出
<代码> root@debian: ~ # exportfs - r 代码>查看导出
<代码> root@debian: ~ # exportfs - v/home/linlin/share gss/krb5 (rw, wdelay、root_squash no_subtree_check,秒=sys, rw, root_squash, no_all_squash) root@debian: ~ # 代码>4。问题解决
nfs服务器没有启动rpc.idmapd,导致nfs客户机没写权限Kerberos + LDAP + NFSv4实现单点登录(中)