Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1286080
  • 博文数量: 168
  • 博客积分: 3483
  • 博客等级: 中校
  • 技术积分: 1696
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-06 13:17
文章分类

全部博文(168)

文章存档

2015年(6)

2014年(9)

2013年(47)

2012年(11)

2011年(13)

2010年(18)

2009年(11)

2008年(42)

2007年(11)

分类: LINUX

2013-03-28 17:40:34

nfs-secure-server(sysvinit中为rpc.svcgssd) 启动总是失败;
journalctl 或手动rpc.svcssd -frivvv 查看如下错误信息:
  ERROR: GSS-API: error in gss_acquire_cred(): Unspecified GSS failure. Minor code may provide more information - No principal in keytab matches desired name
  Unable to obtain credentials for 'nfs'
  unable to obtain root (machine) credentials
  do you have a keytab entry for nfs/@ in /etc/krb5.keytab?

buddy说kerberos没配对,找资料看看;  kerberos跟rpcsvcgssd啥关系啊?
我的krb账号是好用的呀~~  难道要配个kerberos服务才能把这个服务起来? /etc/krb5.keytab文件怎么生成?
  google了一堆kerberos配置的页面,有说dns不对的,有说时间不对的,有简单说svcgssd依赖krb5.keytab的,,
  最后又搜krb5.keytab生成的方法 结果各式各样不统一,稀里糊涂生成一个,结果还是同样的结果;

郁闷了,不行必须把原理搞清楚,仔细看看kerberos原理介绍,krb5.keytab文件作用再说:
  kerberos工作原理http://blog.chinaunix.net/uid-12076195-id-3545906.html

  What is a keytab, and how do I use one?
 
 

看完介绍,才明白原来重点在nfs/@上面,依据添加principle的方法又加了nfs的principle,
把新生成的keytab拷贝到/etc/krb5.keytab,再启动nfs-secure-server(rpc.svcgssd)终于启动OK了!
    # ktutil

    ktutil:  addent -password -p nfs/
$(hostname)@REDHAT.COM -k 1 -e aes256-cts

    Password for nfs/$(hostname)@REDHAT.COM:
    ktutil:  read_kt  my.keytab
    ktutil:  list
    slot KVNO Principal
    ---- ---- ---------------------------------------------------------------------
       1    1 nfs/$(hostname)@REDHAT.COM
       2    1                         myname@redhat.com
    ktutil:  wkt my.keytab
    ktutil:  q
    # cp my.keytab /etc/krb5.keytab

    # systemctl start  nfs-secure-server
    # systemctl status  nfs-secure-server
    nfs-secure-server.service - Secure NFS Server
          Loaded: loaded (/usr/lib/systemd/system/nfs-secure-server.service; enabled)
          Active: active (running) since Wed, 27 Mar 2013 12:07:48 +0800; 8s ago
         Process: 12537 ExecStart=/usr/sbin/rpc.svcgssd $RPCSVCGSSDARGS (code=exited, status=0/SUCCESS)
        Main PID: 12538 (rpc.svcgssd)
          CGroup: name=systemd:/system/nfs-secure-server.service
                  └ 12538 /usr/sbin/rpc.svcgssd

(Kerberos 5 setup for NFSv4
    )


==============================================================================

ktutil

- Kerberos 密钥表维护实用程序

用法概要

/usr/bin/ktutil 

描述

ktutil 命令是用于管理密钥表文件中的密钥列表的交互式命令行界面实用程序。您必须先读入密钥表的密钥列表,然后才能对其进行管理。此外,运行 ktutil 命令的用户必须对密钥表具有读取/写入权限。例如,如果密钥表由 root 拥有(通常如此),ktutil 必须作为 root 运行才能拥有适当权限。

命令

clear_list clear

清除当前密钥列表。

read_kt file rkt file

将密钥表读取到当前密钥列表。必须指定要读取的密钥表文件

write_kt file wkt file

将当前密钥列表写入密钥表文件。必须制定要写入的密钥表文件。如果密钥表文件已存在,当前密钥列表会附加到现有密钥表文件。

add_entry number addent number

添加一项到当前密钥列表。使用密钥列表槽号指定项。

delete_entry number delent number

从当前密钥列表删除项。使用密钥列表槽号指定项。

list l

列出当前密钥列表。

list_request lr

列出可用请求(命令)。

quit exit q

退出实用程序。

示例

示例 1 从文件中删除主体

以下示例从 /etc/krb5/krb5.keytab 文件中删除 host/denver@ACME.com 主体。请注意,如果您要删除现有密钥表中的项,必须首先将密钥列表写入临时密钥表,然后使用该临时密钥表覆盖现有密钥表。这是因为 wkt 命令实际上会将当前密钥列表附加到现有密钥表,所以您不能使用它来覆盖密钥表。

example# /usr/krb5/bin/ktutil ktutil: rkt /etc/krb5/krb5.keytab
    ktutil: list
slot KVNO Principal
---- ---- ---------------------------------------
   1    8 host/vail@ACME.COM
   2    5 host/denver@ACME.COM
    ktutil:delent 2
    ktutil:l
slot KVNO Principal
---- ---- --------------------------------------
   1    8 host/vail@ACME.COM
    ktutil:wkt /tmp/krb5.keytab
    ktutil:q
example# mv /tmp/krb5.keytab /etc/krb5/krb5.keytab

文件

/etc/krb5/krb5.keytab

Kerberos 客户机的密钥表文件

属性

有关下列属性的说明,请参见



阅读(23543) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~