Python判断某个用户对某个文件的权限
作者:kongxx 时间:2023-12-15 01:25:27
在Python我们要判断一个文件对当前用户有没有读、写、执行权限,我们通常可以使用os.access函数来实现,比如:
# 判断读权限
os.access(<my file>, os.R_OK)
# 判断写权限
os.access(<my file>, os.W_OK)
# 判断执行权限
os.access(<my file>, os.X_OK)
# 判断读、写、执行权限
os.access(<my file>, os.R_OK | os.W_OK | os.X_OK)
但是如果要判断任意一个指定的用户对某个文件是否有读、写、执行权限,Python中是没有默认实现的,此时我们可以通过下面的代码断来判断
import os
import pwd
import stat
def is_readable(cls, path, user):
user_info = pwd.getpwnam(user)
uid = user_info.pw_uid
gid = user_info.pw_gid
s = os.stat(path)
mode = s[stat.ST_MODE]
return (
((s[stat.ST_UID] == uid) and (mode & stat.S_IRUSR > 0)) or
((s[stat.ST_GID] == gid) and (mode & stat.S_IRGRP > 0)) or
(mode & stat.S_IROTH > 0)
)
def is_writable(cls, path, user):
user_info = pwd.getpwnam(user)
uid = user_info.pw_uid
gid = user_info.pw_gid
s = os.stat(path)
mode = s[stat.ST_MODE]
return (
((s[stat.ST_UID] == uid) and (mode & stat.S_IWUSR > 0)) or
((s[stat.ST_GID] == gid) and (mode & stat.S_IWGRP > 0)) or
(mode & stat.S_IWOTH > 0)
)
def is_executable(cls, path, user):
user_info = pwd.getpwnam(user)
uid = user_info.pw_uid
gid = user_info.pw_gid
s = os.stat(path)
mode = s[stat.ST_MODE]
return (
((s[stat.ST_UID] == uid) and (mode & stat.S_IXUSR > 0)) or
((s[stat.ST_GID] == gid) and (mode & stat.S_IXGRP > 0)) or
(mode & stat.S_IXOTH > 0)
)
来源:http://www.kongxx.info/blog/?p=610
标签:Python,用户,权限
0
投稿
猜你喜欢
django从请求到响应的过程深入讲解
2021-08-09 19:41:06
用Python给文本创立向量空间模型的教程
2021-07-13 17:06:41
Python如何使用PIL Image制作GIF图片
2023-08-24 22:42:17
Python解析CDD文件的代码详解
2021-07-04 23:10:19
python解决汉字编码问题:Unicode Decode Error
2022-12-18 21:22:53
centos 下面安装python2.7 +pip +mysqld
2024-01-22 15:10:43
MySQL OOM 系列三 摆脱MySQL被Kill的厄运
2024-01-13 19:14:40
Python 函数装饰器应用教程
2022-08-17 05:53:24
微信小程序实现扫雷游戏
2024-05-11 09:06:59
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2021-06-11 17:17:54
Python编程使用PyQt5库实现动态水波进度条示例
2021-11-16 18:50:16
python对配置文件.ini进行增删改查操作的方法示例
2023-10-25 05:56:13
Python Playwright的使用详解
2021-10-10 03:30:44
Window下安装JDK1.8+Tomcat9.0.27+Mysql5.7.28的教程图解
2024-01-26 22:24:12
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2022-08-25 05:19:38
pytorch模型的保存和加载、checkpoint操作
2022-07-14 00:36:20
PHP仿微信多图片预览上传实例代码
2024-05-03 15:27:45
python面试题之列表声明实例分析
2022-01-10 12:46:51
新手必备Python开发环境搭建教程
2023-07-09 03:25:35
Python Django2 model 查询介绍(条件、范围、模糊查询)
2023-11-02 15:32:09