/etc/security/limits.conf的权利是644
当我使用python时:
>>导入操作系统;
>> os.access(“/ etc / security / limits.conf”,os.W_OK);
假
linux已禁用SELinux,我现在很困惑。
而且,当我查看此文件时,底部有“[readonly]”,其他文件具有相同的权限(644),没有此提示。
所以我猜是某些安全系统即使用644也只保留这个文件,这是不好的我不明白。
答案 0 :(得分:0)
os.access
不会抛出错误。只是为了确保python可以看到该文件,您可以使用os.access
标志运行F_OK
吗?
更新:
你已经说过R_OK返回true,所以我怀疑F_OK
标志会突出显示任何有用的信息,但仍值得尝试一下。
e.g。
>>> os.access(r'/etc/xpasswd', os.F_OK)
False
>>>
vs
>>> os.access(r'/etc/passwd', os.F_OK)
True
>>>
另外,请尝试以下某些命令,看看它们是否突出显示任何问题。
以root身份:
>>> import os
>>> os.getuid()
0
>>> os.access(r'/etc/passwd', os.R_OK)
True
>>> os.access(r'/etc/passwd', os.W_OK)
True
>>> os.access(r'/etc/passwd', os.F_OK)
True
>>> os.access(r'/etc/xpasswd', os.R_OK)
False
>>> os.access(r'/etc/xpasswd', os.W_OK)
False
>>> os.stat(r'/etc/xpasswd')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file or directory: '/etc/xpasswd'
>>>
作为非root用户:
>>> import os
>>> os.getuid()
501
>>> os.access(r'/etc/passwd', os.R_OK)
True
>>> os.access(r'/etc/passwd', os.W_OK)
False
>>> os.access(r'/etc/passwd', os.F_OK)
True
>>> os.access(r'/etc/xpasswd', os.R_OK)
False
>>>