前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 下chmod方法简单介绍

python 下chmod方法简单介绍

作者头像
py3study
发布2020-01-09 15:17:59
5330
发布2020-01-09 15:17:59
举报
文章被收录于专栏:python3

         闲着无聊,想着如何能用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.                                                     
  • 对于其他组执行的权限

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

代码语言:javascript
复制
   1:  In [36]: import os
代码语言:javascript
复制
   2:   
代码语言:javascript
复制
   3:  In [37]: import stat
代码语言:javascript
复制
   4:   
代码语言:javascript
复制
   5:  In [38]: !touch abc
代码语言:javascript
复制
   6:   
代码语言:javascript
复制
   7:  In [39]: !ls -l abc
代码语言:javascript
复制
   8:  -rw-r--r-- 1 root root 0  6月  9 11:15 abc
代码语言:javascript
复制
   9:   
代码语言:javascript
复制
  10:  In [40]: os.chmod('abc',stat.S_IREAD)
代码语言:javascript
复制
  11:   
代码语言:javascript
复制
  12:  In [41]: !ls -l abc
代码语言:javascript
复制
  13:  -r-------- 1 root root 0  6月  9 11:15 abc
代码语言:javascript
复制
  14:   
代码语言:javascript
复制
  15:   
代码语言:javascript
复制
  16:  In [43]: os.chmod('abc',stat.S_IREAD+stat.S_IWOTH)
代码语言:javascript
复制
  17:   
代码语言:javascript
复制
  18:  In [44]: !ls -l abc
代码语言:javascript
复制
  19:  -r------w- 1 root root 0  6月  9 11:15 abc
代码语言:javascript
复制
  20:   
代码语言:javascript
复制
  21:  In [45]: os.chmod('abc',stat.S_IREAD+stat.S_IWOTH+stat.S_IXUSR)
代码语言:javascript
复制
  22:   
代码语言:javascript
复制
  23:  In [46]: !ls -l abc
代码语言:javascript
复制
  24:  -r-x----w- 1 root root 0  6月  9 11:15 abc
代码语言:javascript
复制
  25:   
代码语言:javascript
复制
  26:  In [47]: os.chmod('abc',stat.S_IREAD+stat.S_IWOTH+stat.S_IXUSR+stat.S_IRWX)
代码语言:javascript
复制
  27:  stat.S_IRWXG  stat.S_IRWXO  stat.S_IRWXU
代码语言:javascript
复制
  28:   
代码语言:javascript
复制
  29:  In [47]: os.chmod('abc',stat.S_IREAD+stat.S_IWOTH+stat.S_IXUSR+stat.S_IRWXO)
代码语言:javascript
复制
  30:   
代码语言:javascript
复制
  31:  In [48]: !ls -l abc
代码语言:javascript
复制
  32:  -r-x--x--x 1 root root 0  6月  9 11:15 abc
代码语言:javascript
复制
  33:   
代码语言:javascript
复制
  34:  In [49]: os.chmod('abc',stat.S_IRWX)
代码语言:javascript
复制
  35:  stat.S_IRWXG  stat.S_IRWXO  stat.S_IRWXU
代码语言:javascript
复制
  36:   
代码语言:javascript
复制
  37:  In [49]: os.chmod('abc',stat.S_IRWXO+stat.S_IRW)
代码语言:javascript
复制
  38:  stat.S_IRWXG  stat.S_IRWXO  stat.S_IRWXU
代码语言:javascript
复制
  39:   
代码语言:javascript
复制
  40:  In [49]: os.chmod('abc',stat.S_IRWXO+stat.S_IRWXG+stat.S_IRWX)
代码语言:javascript
复制
  41:  stat.S_IRWXG  stat.S_IRWXO  stat.S_IRWXU
代码语言:javascript
复制
  42:   
代码语言:javascript
复制
  43:  In [49]: os.chmod('abc',stat.S_IRWXO+stat.S_IRWXG+stat.S_IRWXO)
代码语言:javascript
复制
  44:   
代码语言:javascript
复制
  45:  In [50]: !ls -l abc
代码语言:javascript
复制
  46:  ---x---rw- 1 root root 0  6月  9 11:15 abc
代码语言:javascript
复制
  47:   
代码语言:javascript
复制
  48:  In [51]:
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档