我正在尝试定义一个 systemd 挂载,cloud-config.yml
以便 CoreOS 在启动时挂载一个使用 Kerberos 的文件系统。
文件系统提供商已将和交给我,krb5.conf
我使用的部分krb5.keytab
将其写入文件夹。/etc
write_files
cloud-config.yml
这是我的安装规格:
- name: mnt-backup.mount
enable: true
content: |
[Mount]
What=vid52590.nas1.lan:/vid52590
Where=/mnt/backup
Options=sec=krb5
Type=nfs
[Install]
WantedBy=multi-user.target
当系统尝试挂载 nfs 文件系统时,我通过 journalctl 收到以下消息:
Sep 12 16:30:40 backend systemd[1]: Mounting /mnt/backup...
Sep 12 16:30:40 backend systemd[1]: mnt-backup.mount: Mount process exited, code=exited status=32
Sep 12 16:30:40 backend systemd[1]: Failed to mount /mnt/backup.
Sep 12 16:30:40 backend systemd[1]: mnt-backup.mount: Unit entered failed state.
我尝试在控制台上发出如下命令:
sudo mount -o sec=krb5 vid52590.nas1.lan:/vid52590 /mnt/backup
收到以下错误:
mount.nfs: access denied by server while mounting vid52590.nas1.lan:/vid52590
我已仔细检查 krb5.keytab 是否已逐字节正确写入。
有关于如何解决此配置问题的想法吗?提前致谢!
运行时:
kinit -kt /etc/krb5.keytab <principal>
命令返回,但未显示任何响应。如果我使用不存在的主体,它会显示:
kinit: Keytab contains no suitable keys for <invalid_pricipal> while getting initial credentials
答案1
遗憾的是,coreos 中的 nfs-utils 包似乎不支持 kerberos。因此系统缺少 rpc.gssd,而 rpc.gssd 是 kerberized nfs 设置所必需的