python导出linux用户权限的实例代码

发布时间:2020-02-10编辑:脚本学堂
分享一例python代码,使用python中的os、stat模块导出linux的用户权限,包括用户与用户组的信息等,有需要的朋友参考学习下。

本节主要内容:
python直接用linux管道输出,输出权限到info文件可以写成python filePermissions.py > info。然后,给info加执行权限即可。

例1,python获得文件或文件夹权限
 

复制代码 代码示例:

#! /usr/bin/env python
#-*- coding: utf-8 -*-
#site: www.jb200.com
#
import os,stat

def WalkDir(dir, file_callback=None):
    for root, dirs, files in os.walk(dir):
        for d in dirs:
            #print d
            if(not d[0] == "."):
                file_path = os.path.join(root, d)
                if file_callback: file_callback(file_path)

    for root, dirs, files in os.walk(dir):
        for f in files:
            #print f
            if(not f[0] == "."):
                file_path = os.path.join(root, f)
                if file_callback: file_callback(file_path)

def LogFile(file):
    try:
        fileStats = os.stat(file)
        #print file
        #print fileStats.st_mode
        #print oct(stat.S_IMODE(fileStats.st_mode))
        #print fileStats.st_uid
        #print fileStats.st_gid
        fileInfo = 'chmod ' +  oct(stat.S_IMODE(fileStats.st_mode)) + ' ' + file
        print fileInfo
    except:
        pass

if __name__ == "__main__":
    path = raw_input('')
    WalkDir(path, LogFile)

例2,获得用户和组信息
 

复制代码 代码示例:

#! /usr/bin/env python
#-*- coding: utf-8 -*-
#site: www.jb200.com
import os,stat

def WalkDir(dir, file_callback=None):
    for root, dirs, files in os.walk(dir):
        for d in dirs:
            #print d
            if(not d[0] == "."):
                file_path = os.path.join(root, d)
                if file_callback: file_callback(file_path)

    for root, dirs, files in os.walk(dir):
        for f in files:
            #print f
            if(not f[0] == "."):
                file_path = os.path.join(root, f)
                if file_callback: file_callback(file_path)

def LogFile(file):
    try:
        fileStats = os.stat(file)
        #print file
        #print fileStats.st_mode
        #print oct(stat.S_IMODE(fileStats.st_mode))
        #print fileStats.st_uid
        #print fileStats.st_gid
        fileInfo = 'chown ' +  str(fileStats.st_uid) +':' + str(fileStats.st_gid) + ' ' + file
        print fileInfo
    except:
        pass

if __name__ == "__main__":
    path = raw_input('')
    WalkDir(path, LogFile)