Python中获取某个用户对某个文件或目录的访问权限
来源:互联网 发布:tsp 遗传算法 java 编辑:程序博客网 时间:2024/04/30 11:57
Python中获取某个用户对某个文件或目录的访问权限
在Python中我们通常可以使用os.access()函数来获取当前用户对某个文件或目录是否有某种权限,但是要获取某个用户对某个文件或目录是否有某种权限python中没有很好的方法直接获取,因此我写了个函数使用stat和pwd模块来实现这一功能。
#!/usr/bin/env python# -*- coding: utf-8 -*-import osimport pwdimport statdef is_readable(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(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(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) )
使用方法
print is_readable('/home', root)print is_writable('/home', root)print is_executable('/home', root)print is_readable('/tmp', admin)print is_writable('/tmp', admin)print is_executable('/tmp', admin)
转载请以链接形式标明本文链接
本文链接:http://blog.csdn.net/kongxx/article/details/51697433
2 0
- Python中获取某个用户对某个文件或目录的访问权限
- Python判断某个用户对某个文件的权限
- 使用sc分配权限-限制某个用户或用户组对某个service的访问
- python 获取某个目录字段下的子目录或文件
- 如何快速设置Windows XP系统中某个文件夹对某用户的访问权限
- 判断用户对某个磁盘文件的读写权限
- 设置用户对数据库中某个表的查看权限
- 如何赋予某个用户对某个表的权限
- mysql设置某个用户对某个库的所有权限
- mysql设置某个用户对某个库的所有权限
- PHP中获取某个网页或文件内容的方法
- 在SQL Server中如何获取某用户对某个表中所有权限
- android使某个目录或文件具有写权限
- 设置Windows系统NTFS某个目录的用户访问权限(c#)
- linux 修改文件权限命令:chmod,更改某个文件或目录的所有者:chown
- 获取某个目录下所有的文件
- 使用facl和mount实现某用户对某个目录的访问控制
- linux给用户加个操作某个目录的权限
- 产品管理-职责
- php匿名函数与闭包的简单使用
- 三十分钟掌握STL
- OpenCV3.1开发系列-OpenCV2.4.13更新介绍
- ORMlite多表关联查询实现
- Python中获取某个用户对某个文件或目录的访问权限
- java线程中断方式
- hdu 5578 Friendship of Frog 2015ACM/ICPC亚洲区上海站-重现赛
- 深入理解Java:注解(Annotation)基本概念
- thinkphp控制器变量在模板中显示
- NoSQL之Morphia操作MongoDB
- 指针数组和数组指针
- 把玩之python爬虫urllib2高级篇
- 【Android】31、常见控件的使用方法——ProgressBar