博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux chmod命令参数及用法详解-文件文件夹权限设定命令
阅读量:6120 次
发布时间:2019-06-21

本文共 1578 字,大约阅读时间需要 5 分钟。



  1.作用

  chmod命令是非常重要的,用于改变文件或目录的访问权限,用户可以用它控制文件或

目录的访问权限,使用权限是超级用户。


  2.格式

  chmod命令有两种用法。一种是包含字母和操作符表达式的字符设定法(相对权限设定

);另一种是包含数字的数字设定法(绝对权限设定)。


  (1)字符设定法

  chmod [who] [+ | - | =] [mode] 文件名


  ◆操作对象who可以是下述字母中的任一个或它们的组合

  u:表示用户,即文件或目录的所有者。

  g:表示同组用户,即与文件属主有相同组ID的所有用户。

  o:表示其它用户。

  a:表示所有用户,它是系统默认值。


  ◆操作符号

  +:添加某个权限。

  -:取消某个权限。

  =:赋予给定权限,并取消其它所有权限(如果有的话)。


  ◆设置mode的权限可用下述字母的任意组合

  r:可读。

  w:可写。

  x:可执行。

  X:只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。

  s:文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的

用户ID位,“g+s”设置组ID位。

  t:保存程序的文本到交换设备上。

  u:与文件属主拥有一样的权限。

  g:与和文件属主同组的用户拥有一样的权限。

  o:与其它用户拥有一样的权限。

  文件名:以空格分开的要改变权限的文件列表,支持通配符。

  一个命令行中可以给出多个权限方式,其间用逗号隔开。


  (2) 数字设定法

  数字设定法的一般形式为: chmod [mode] 文件名


  数字属性的格式应为3个0到7的八进制数,其顺序是(u)(g)(o)文件名,以空格分开的要

改变权限的文件列表,支持通配符。


   数字表示的权限的含义如下:0001为所有者的执行权限;0002为所有者的写权限;

0004为所有者的读权限;0010为组的执行权限;0020为组的写权限;0040为组的读权限;

0100为其他人的执行权限;0200为其他人的写权限;0400为其他人的读权限;1000为粘贴位

置位;2000表示假如这个文件是可执行文件,则为组ID为位置位,否则其中文件锁定位置位

;4000表示假如这个文件是可执行文件,则为用户ID为位置位。



应用实例:

A例:如果这是我写的一个脚本,我希望能够具有执行权限,并取消其他用户(所有其他用户)的写权限,可以用:

# chmod u+x o-w myfile


B例:如果希望某个脚本文件对你自己来说可执行,而且你对该文件的缺省权限很放心,那么只要使它对你来说具有执行权限即可。

#chmod u+x dt


如果希望一次设置目录下所有文件的权限,可以用:

#chmod 644*


如果希望自己对该文件可读、写和执行,对其他所有用户只读,我可以用:

#chmod 744 myfile


还可以通过使用- R选项连同子目录下的文件一起设置: -R是递归

chmod -R 664 /usr/local/home/dave/*



注:此命令经常用在shell和awk脚本

编写shell和awk脚本,统计apache指定日期的IP访问量

          #vi /51ou/ak2

          #!/bin/awk -f

          BEGIN{

          printf "date:"

          getline d<"-"       

          }

          {

          if(substr($4,2,11)=d)

           {

           print $1

           }

          }


          #vi /shell/sh2

          #!/bin/bash

          /shell/ak2 /var/log/httpd/access_log|sort|uniq|wc -l

          #chmod a+x /51ou/ak2
          #chmod a+x /51ou/sh2

更多Linux命令:

本文转自 sswqzx 51CTO博客,原文链接:http://blog.51cto.com/sswqzx/1333476

转载地址:http://pgmka.baihongyu.com/

你可能感兴趣的文章
Web视频合成器Seriously.js入门教程
查看>>
python 和 ruby的对比
查看>>
翻译连载 | JavaScript 轻量级函数式编程-第3章:管理函数的输入 |《你不知道的JS》姊妹篇 ...
查看>>
JS中原型的理解
查看>>
LAMP--wordpress实现
查看>>
vue组件开发练习--焦点图切换
查看>>
浅谈OSI七层模型
查看>>
Webpack 2 中一些常见的优化措施
查看>>
移动端响应式
查看>>
python实现牛顿法求解求解最小值(包括拟牛顿法)【最优化课程笔记】
查看>>
老鸟学Javascript - 第二弹
查看>>
js中var、let、const的区别
查看>>
vue.js动态数据绑定学习
查看>>
Vue.js学习系列四 —— Webpack学习实践
查看>>
Native | Hybrid | Web App选型及演进方案
查看>>
webpack1学习笔记
查看>>
Unity5中文API参考手册
查看>>
微信、QQ内web页进行二次分享问题小结
查看>>
使用WireMock进行集成测试
查看>>
IE兼容性
查看>>