gpt4 book ai didi

python - limits.conf 文件有 644 权限时,access() 返回无可写权限

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:21:00 31 4
gpt4 key购买 nike

/etc/security/limits.conf权限为644

当我使用 python 时:


>>导入操作系统;
>>os.access("/etc/security/limits.conf", os.W_OK);
错误

linux 已经禁用了 SELinux,我现在很困惑。

enter image description here

而且,当我vi这个文件时,底部有“[readonly]”,其他具有相同权限的文件(644),没有这个提示。
所以我猜某些安全系统即使使用 644 也会将此文件保持为只读状态,这很糟糕,我不明白。

最佳答案

如果输入文件不存在,

os.access 不会抛出错误。只是为了确保 python 可以看到该文件,您可以使用 F_OK 标志运行 os.access 吗?

更新:

您已经说过 R_OK 返回 true,所以我怀疑 F_OK 标志是否会突出显示任何有用的信息,但仍然值得一试。

例如

>>> os.access(r'/etc/xpasswd', os.F_OK)
False
>>>

对比

>>> os.access(r'/etc/passwd', os.F_OK)
True
>>>

另外,尝试下面的一些命令,看看它们是否突出了任何问题。

作为根用户:

>>> 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'
>>>

作为非根用户:

>>> 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
>>>

关于python - limits.conf 文件有 644 权限时,access() 返回无可写权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42925086/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com