当我运行 mount 命令时,我能够 connect/ls 到共享,直到出现似乎是票证续订的时间。然后我得到主机已关闭。
我查看了所有建议的类似问题并搜索了网络。请参阅“下面的一些背景信息”
我似乎无法在日志/日记中找到任何可以告诉我发生了什么事或何时发生的信息。
我的环境是:AWS Amazon Linux 2 AWS Active Directory,用户设置为永不过期 AWS FSx 共享 在 Linux 服务器上,我运行着 k5start、一个 fstab 文件和一个 krb5.conf 文件(见下文)
简单介绍一下背景,我在另一个环境中使用过这个,但看不出有什么不同。我们最初聘请了一位顾问来帮助设置,但他们无法提供帮助。
我们的要求是:
- 不要将 Linux 机器加入到 AD,
- 不要在机器上使用带有用户名/密码的计划文本文件
- 该共享可供计算机上的所有进程使用
- 自动更新权限/票证
- 重启时自动挂载
我们的配置:
============
k5start.service 文件:[Unit] 描述=FSx Mount 的 Kerberos Credential Cache Manager Daemon After=network.target Before=mnt-fsx.mount
[服务] 类型=简单 用户=ec2-user 组=ec2-user ExecStart=/usr/bin/k5start -aLK 15 -l 1hr -f /etc/myUser.keytab “[电子邮件保护]“
[安装] WantedBy=multi-user.target
==========
fstab 文件: //my.fsx.myAD.aws.msad.com/share /mnt/fsx cifs vers=3.0,cache=none,user=ec2-user,cruid=ec2-user,sec=krb5,uid=1000,gid=1000,ip=myFSxIP
========== 使用以下方式创建的 keytab 文件:
- 工具
- 添加-密码-p[电子邮件保护]-k 1 -e RC4-HMAC - 输入用户名密码 -
- wkt myUser.keytab
- 问
- 然后我将文件移动到磁盘上的另一个位置,并将权限更改为 755
==========
安装先决条件:sudo yum -y install sssd realmd krb5-workstation samba-common-tools sudo yum install -y cifs-utils sudo amazon-linux-extras enable epel sudo yum install -y epel-release sudo yum install -y kstart
==========
通过以下方式安装服务: sudo systemctl daemon-reload sudo systemctl enable k5start sudo systemctl start k5start sudo systemctl status k5start -l 输出:k5start.service - 用于 FSx Mount 的 Kerberos Credential Cache Manager Daemon 已加载:已加载(/usr/lib/systemd/system/k5start.service;已启用;供应商预设:已禁用) 活动:自 2022-09-12 星期一 22:43:52 UTC 以来处于活动状态(正在运行);24 小时前 主 PID:2990(k5start) CGroup:/system.slice/k5start.service └─2990 /usr/bin/k5start -a -L -K 15 -l 1h -f /etc/myUser.keytab[电子邮件保护]
——————————
我运行了一些命令来尝试解决问题......
=====
如果我运行这两个命令,挂载将重新上线,但会间隔一段时间再次消失
- sudo umount -l /mnt/fsx
- sudo mount -a --verbose
=====
挖掘 myAD.AWS.MSAD.COM
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> myAD.AWS.MSAD.COM ;; 全局选项:+cmd ;; 得到答案: ;; ->>HEADER<<- 操作码:QUERY,状态:NOERROR,id:30388 ;; 标志:qr aa rd ra;查询:1,答案:2,权威:0,附加:1
;; OPT 伪部分: ; EDNS:版本:0,标志:; udp:4000 ;; 问题部分: ; myAD.AWS.MSAD.COM。在
;; 答案部分:myAD.AWS.MSAD.COM. 600 IN A 172.31.xxx.xxx myAD.AWS.MSAD.COM. 600 IN A 172.31.xxx.xxx
;; 查询时间:0 毫秒 ;; 服务器:172.31.19.208#53(172.31.19.208) ;; 时间:2022 年 9 月 13 日星期二 23:27:25 UTC ;; 收到的消息大小:83
=====
klist 票证缓存:KEYRING:persistent:1000:1000 默认主体:[电子邮件保护]
有效开始到期服务主体 09/12/2022 22:22:46 09/12/2022 23:22:46 krbtgt/[电子邮件保护] 续订至 2022 年 9 月 19 日 22:22:46
=======
感谢您的观看!
答案1
确保所有设置正确:
/etc/kr5.conf已正确设置您的域名详细信息。测试您可以使用 keytab 手动 klist 和 kinit 用户。
密钥表文件使用ktpass.exe
而不是 ktutil。使用 ktpass 它还将在 KDC 中创建服务主体名称,从 DC 运行 ktpass,示例 ktpass:
ktpass.exe -princ CIFS/[email protected] -mapuser [email protected] -crypto All -ptype KRB5_NT_SRV_INST -pass ***** +dumpsalt -out c:\username.keytab
这将为用户创建一个密钥表:具有文件服务器(FS.DOMAIN.LOCAL)权限的用户名,并将在密钥表文件中为其创建一个 CIFS 服务主体。
k5开始:在你的 Linux 机器上:
k5start -b -U -L -a -K 60 -f /full/path/to/username.keytab
-b 使其在后台运行。
-U 使用 keytab 主体名称。
-L 将日志写入/var/log/syslog。
-每次启动时进行硬更新(类似 kinit 而不是 krenew)。
-K 设置 -a 间隔。
-f keytab 的路径,绝对路径至关重要。
您可以使用klist
来查看是否获取票证成功。
山:
sudo mount -t cifs --verbose -o vers=2.1,sec=krb5,[email protected] //FS.DOMAIN.LOCAL/SharedFolder/ /mnt/SharedFolder/
您也可以将其添加到 /etc/fstab。
k5start 将每 60 分钟请求一次新票。这应该满足 mount.cifs 并保持其运行,而无需每次都提供密码。