我有一个带有 google authenticator
的 freeradius
服务器设置,以提供基本的工作多因素设置。
当我以 root 身份在 Debug模式下运行 radiusd
时,一切正常。如果我将其作为服务启动,登录将失败,并且在处理消息时会记录此消息:
radiusd(pam_google_authenticator)[1115]:无法读取“user@domain.com”的“/home/user@domain.com/.google_authenticator”
我认为这一定是一个权限问题,因为它以 root
身份运行时工作正常。
我真的不想为每个用户编辑每个 secret 文件的权限。
我尝试在
中指定 root/etc/raddb/radiusd.conf
user = root group = root
但除非以 root 身份从命令行运行,否则服务仍然会失败。有没有人有一个很好的优雅的解决方案来解决这个难题?
最佳答案
我认为您应该检查一下您的 systemd 服务文件中的 radiusd
。它可能看起来像:
https://github.com/ipfire/ipfire-3.x/blob/master/freeradius/systemd/freeradius.service
如果需要,您可以在 .service
文件的 [Service]
部分添加 User=
和 Group=
。参见
https://unix.stackexchange.com/questions/347358/how-to-change-service-user-in-centos-7
和
https://serverfault.com/questions/806617/configuring-systemd-service-to-run-with-root-access
最好将 radiusd
的 .service
文件内容放入您的帖子中。
关于linux - Freeradius 读取 google_authenticator secret 时出现问题 Centos 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52896151/