You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python修改文件权限,仅允许当前运行的Python程序全量访问

仅让当前Python程序拥有文件全量访问权限的最简方法

Unix-like 系统(Linux/macOS)

最简方式是将文件权限设置为仅所有者拥有读、写、执行权限(八进制0o700),这样组和其他用户完全没有任何访问权限。直接用os.chmod即可实现:

import os

filename = "your_file.txt"
# 设置权限为仅所有者可读、可写、可执行
os.chmod(filename, 0o700)

这里0o700等价于stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR,直接写八进制数更简洁。需要注意:root用户不受此权限限制,仍能访问文件,这是Unix系统的固有特性。

Windows 系统

Windows依赖ACL(访问控制列表)管理权限,需要移除所有其他用户的权限,仅保留当前进程所属用户的完全控制权限。可以借助pywin32库实现:

首先安装依赖:

pip install pywin32

然后执行权限设置:

import win32security
import os

filename = "your_file.txt"

# 获取当前运行程序的用户SID
current_user_sid = win32security.GetCurrentUser()

# 获取文件的安全描述符
sd = win32security.GetFileSecurity(filename, win32security.DACL_SECURITY_INFORMATION)

# 创建仅允许当前用户完全控制的新ACL
dacl = win32security.ACL()
dacl.AddAccessAllowedAce(win32security.ACL_REVISION, win32security.FILE_ALL_ACCESS, current_user_sid)

# 应用新的ACL(关闭权限继承)
sd.SetSecurityDescriptorDacl(1, dacl, 0)
win32security.SetFileSecurity(filename, win32security.DACL_SECURITY_INFORMATION, sd)

这段代码会清除文件原有所有非当前用户的权限,确保只有运行该Python程序的用户能操作文件。

内容的提问来源于stack exchange,提问作者SOFArminRh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 09:48:19