自由半径问题阅读google_authenticator秘密 Centos 7.



我有一个freeradius服务器设置与谷歌authenticator,以提供基本的多因素设置。

当我以 root 身份在调试模式下运行radiusd时,一切正常。 如果我将其作为服务启动,登录将失败,并且在处理消息时会记录此消息:

radiusd(pam_google_authenticator([1115]:无法读取"/home/user@domain.com/.google_authenticator"的"user@domain.com">

我认为这一定是一个权限问题,因为它在以root运行时工作正常。

我真的不想为每个用户编辑每个秘密文件的权限。

我试过指定根

/

etc/raddb/radiusd.conf

用户 = 根组 = 根

但除非以 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

最好将.service文件的内容放在您的帖子中以供radiusd

最新更新