可以在脚本中使用 kadmin.local 命令,以自动创建新的 Kerberos 主体。如果要将许多新主体添加到数据库,自动化将很有用。
以下 shell 脚本行显示了如何自动创建新主体:
awk '{ print "ank +needchange -pw", $2, $1 }' < /tmp/princnames | time /usr/sbin/kadmin.local> /dev/null
为了方便阅读,以上示例拆分为两行。
脚本读取名为 princnames 的文件。此文件包含主体名称及其口令,并将它们添加到 Kerberos 数据库。
您必须创建 princnames 文件,并在每一行上包含一个主体名称及其口令,中间用一个或多个空格分隔。
ank 命令添加一个新密钥。ank 是 add_principal 命令的别名。
+needchange 选项用于配置主体,以便在属于主体的用户首次登录时提示其提供新口令。
要求更改口令有助于确保 princnames 文件中的口令不会引入安全风险。
可以生成更详细的脚本。例如,脚本可使用名称服务中的信息来获取主体名称的用户名列表。所执行的操作和执行操作的方式取决于站点的需要以及脚本编制技术。