从PAM模块写入文件时权限被拒绝

时间:2014-11-02 22:02:28

标签: linux file-io centos permission-denied pam

我正在尝试编写一个PAM模块,将有关SSH身份验证尝试的信息记录到文件中。

我编写了一个由OpenSSH加载的模块,然后在验证尝试时调用。该模块基于以下代码:http://www.adeptus-mechanicus.com/codex/logsshp/logsshp.html

然而,问题在于,每当我尝试编写日志时,我的代码总是无法打开日志文件:它返回错误13,"权限被拒绝"。

我曾尝试写过" /var/log/auth_ssh_attempts.log" ;," / var / log / auth_ssh_attempts"并进入我的主目录中的文件。这些位置都不允许我打开文件。我不确定我的做法有什么问题。

我甚至尝试在函数的开头调用setuid(0),该函数返回成功。所以我不知道为什么我不允许写入/ var / log。

这是在CentOS 6.5上。

对此问题的任何帮助都将受到高度赞赏。

非常感谢!

1 个答案:

答案 0 :(得分:0)

我在CentOS 7上遇到了完全相同的问题-可以写入/ tmp文件夹中的文件,但是在尝试写入/ var / log目录中的文件时不断出现Errno 13。 原来是由于SELinux阻止了我的访问-https://wiki.centos.org/HowTos/SELinux

如果禁用它并重新启动计算机,它应该可以解决该问题- https://linuxize.com/post/how-to-disable-selinux-on-centos-7/