专栏首页python3python 下chmod方法简单介绍

python 下chmod方法简单介绍

         闲着无聊,想着如何能用python完全替代shell来管理服务器,呵呵,这个想法实在疯狂,首先来介绍下os模块下的chmod这个方法来替代shell下chmod这个命令呢,下面来看看这个方法的使用:

       os.chmod(path,mode)   这个方法应该很简单,只需要2个参数,一个是路径,一个是说明路径的模式,下面列出了这个用法中可以使用的一些常用的模式:

  • stat.S_ISUID: Set user ID on execution.                      不常用
  • stat.S_ISGID: Set group ID on execution.                    不常用
  • stat.S_ENFMT: Record locking enforced.                                          不常用
  • stat.S_ISVTX: Save text p_w_picpath after execution.                                在执行之后保存文字和图片
  • stat.S_IREAD: Read by owner.                                                          
  • 对于拥有者读的权限
  • stat.S_IWRITE: Write by owner.                                                         
  • 对于拥有者写的权限
  • stat.S_IEXEC: Execute by owner.                                                       
  • 对于拥有者执行的权限
  • stat.S_IRWXU: Read, write, and execute by owner.                          对于拥有者读写执行的权限
  • stat.S_IRUSR: Read by owner.                                                           
  • 对于拥有者读的权限
  • stat.S_IWUSR: Write by owner.                                                          
  • 对于拥有者写的权限
  • stat.S_IXUSR: Execute by owner.                                                      
  • 对于拥有者执行的权限
  • stat.S_IRWXG: Read, write, and execute by group.                         
  • 对于同组的人读写执行的权限
  • stat.S_IRGRP: Read by group.                                                            
  • 对于同组读的权限
  • stat.S_IWGRP: Write by group.                                                     
  • 对于同组写的权限
  • stat.S_IXGRP: Execute by group.                                                      
  • 对于同组执行的权限
  • stat.S_IRWXO: Read, write, and execute by others.                        
  •   对于其他组读写执行的权限
  • stat.S_IROTH: Read by others.                                                         
  • 对于其他组读的权限
  • stat.S_IWOTH: Write by others.                                                      
  •    对于其他组写的权限
  • stat.S_IXOTH: Execute by others.                                                     
  • 对于其他组执行的权限

介绍以上这么多的模式,下面来看下实际的操作吧:

   1:  In [36]: import os
   2:   
   3:  In [37]: import stat
   4:   
   5:  In [38]: !touch abc
   6:   
   7:  In [39]: !ls -l abc
   8:  -rw-r--r-- 1 root root 0  6月  9 11:15 abc
   9:   
  10:  In [40]: os.chmod('abc',stat.S_IREAD)
  11:   
  12:  In [41]: !ls -l abc
  13:  -r-------- 1 root root 0  6月  9 11:15 abc
  14:   
  15:   
  16:  In [43]: os.chmod('abc',stat.S_IREAD+stat.S_IWOTH)
  17:   
  18:  In [44]: !ls -l abc
  19:  -r------w- 1 root root 0  6月  9 11:15 abc
  20:   
  21:  In [45]: os.chmod('abc',stat.S_IREAD+stat.S_IWOTH+stat.S_IXUSR)
  22:   
  23:  In [46]: !ls -l abc
  24:  -r-x----w- 1 root root 0  6月  9 11:15 abc
  25:   
  26:  In [47]: os.chmod('abc',stat.S_IREAD+stat.S_IWOTH+stat.S_IXUSR+stat.S_IRWX)
  27:  stat.S_IRWXG  stat.S_IRWXO  stat.S_IRWXU
  28:   
  29:  In [47]: os.chmod('abc',stat.S_IREAD+stat.S_IWOTH+stat.S_IXUSR+stat.S_IRWXO)
  30:   
  31:  In [48]: !ls -l abc
  32:  -r-x--x--x 1 root root 0  6月  9 11:15 abc
  33:   
  34:  In [49]: os.chmod('abc',stat.S_IRWX)
  35:  stat.S_IRWXG  stat.S_IRWXO  stat.S_IRWXU
  36:   
  37:  In [49]: os.chmod('abc',stat.S_IRWXO+stat.S_IRW)
  38:  stat.S_IRWXG  stat.S_IRWXO  stat.S_IRWXU
  39:   
  40:  In [49]: os.chmod('abc',stat.S_IRWXO+stat.S_IRWXG+stat.S_IRWX)
  41:  stat.S_IRWXG  stat.S_IRWXO  stat.S_IRWXU
  42:   
  43:  In [49]: os.chmod('abc',stat.S_IRWXO+stat.S_IRWXG+stat.S_IRWXO)
  44:   
  45:  In [50]: !ls -l abc
  46:  ---x---rw- 1 root root 0  6月  9 11:15 abc
  47:   
  48:  In [51]:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python stat 模块

    fileStats = os.stat ( 'test.txt' )  #获取文件/目录的状态 fileInfo...

    py3study
  • Python 多环境配置管理

    实际工程开发中常常会对开发、测试和生产等不同环境配置不同的数据库环境,传统方式可以通过添加不同环境的配置文件达到部署时的动态切换的效果。这种方式还不错,不过不同...

    py3study
  • python cookbook 3 翻译

    自己买了个影印版,边翻边看边实践以期增强学习效果。计划是每日一个小片段,希望能坚持到底。

    py3study
  • R绘图-ggplot2 (2)

    #这一小节介绍标尺,在对图形属性进行映射之后,使用标尺可以控制这些属性的显示方式,

    西游东行
  • Python自动提取生成博客园年度报告

    Hi 小狼的世界 你在博客园已经发表了373篇文章 2020年你一共写了24篇文章

    大江小浪
  • 《Hello NumPy》系列-运算与函数应用

    高阶部分篇篇都是干货,建议大家不要错过任何一节内容,最好关注我,方便看到每次的文章推送。

    小一不二三
  • innobackupex命令总结

    innobackupex默认会读取/etc/my.cnf文件中的datadir参数,可以使用--defaults-file手动指定

    bsbforever
  • XtraBackup工具详解 Part 9 innobackupex命令总结

    innobackupex默认会读取/etc/my.cnf文件中的datadir参数,可以使用--defaults-file手动指定

    bsbforever
  • 如何利用Requests和网dai平台做一个短信hz

    对于众所周知的事就是网dai害人,尤其是对于那些高炮系列,更是害人不浅那,今天我们就来尝试用网dai的短xin接口做一个用于娱乐的短信hzj,耗光这些网dai平...

    吾爱小白
  • Linux内核设备驱动之内核的调试技术笔记整理

    内核的配置选项中包含了一些与内核调试相关的选项,都集中在”kernel hacking”菜单中。包括:

    砸漏

扫码关注云+社区

领取腾讯云代金券