Linux chmod 命令

chmod用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含

字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

1. 文字设定法

语法:chmod [+ | - | =] 文件名

命令中各选项的含义为:

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

  u 表示“用户(user)”,即文件或目录的所有者。

  g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。

  o 表示“其他(others)用户”。

  a 表示“所有(all)用户”。它是系统默认值。

操作符号可以是:

  + 添加某个权限。

  - 取消某个权限。

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

设置 mode 所表示的权限可用下述字母的任意组合:

  r 可读。

  w 可写。

 x 可执行。

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

  s 在文件执行时把进程的属主或组ID置为该文件的文件属主。

方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。

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

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

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

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

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

  

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

chmod g+r,o+r example  % 使同组和其他用户对文件example 有读权限。

2. 数字设定法

我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限, 2表示可写权限,4表示可读

权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。

例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。

数字设定法的一般形式为:

语法:chmod 文件名

指令实例:

chmod a+x sort

% 即设定文件sort的属性为:

 文件属主(u) 增加执行权限

 与文件属主同组用户(g) 增加执行权限

 其他用户(o) 增加执行权限

chmod ug+w,o-x text

% 即设定文件text的属性为:

 文件属主(u) 增加写权限

 与文件属主同组用户(g) 增加写权限

 其他用户(o) 删除执行权限

chmod u+s a.out

% 假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):

 –rws--x--x 1 inin
users 7192 Nov 4 14:22 a.out

 并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw-------”,

即该文件只有其属主具有读写权限。

   当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod

命令中使用了s选项),所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为

其他人不具备任何权限),这就是s的功能。

  因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非

必要)这样可以保障系统的安全,避免因为某些程序的bug而使系统遭到入侵。

chmod a–x mm.txt

chmod –x mm.txt

chmod ugo–x mm.txt

% 以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。

$chmod 644 mm.txt

% 即设定文件mm.txt的属性为:-rw-r--r--

 文件属主(u)inin 拥有读、写权限

 与文件属主同组人用户(g) 拥有读权限

 其他人(o) 拥有读权限

chmod 750 wch.txt

% 即设定wchtxt这个文件的属性为:-rwxr-x---

 文件主本人(u)inin 可读/可写/可执行权

 与文件主同组人(g) 可读/可执行权

Linux-chmod_命令的详细用法讲解的更多相关文章

  1. linux mount命令参数及用法详解

    linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...

  2. 【转】linux expr命令参数及用法详解

    在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...

  3. (转)linux expr命令参数及用法详解

    linux expr命令参数及用法详解 原文:http://blog.csdn.net/tianmohust/article/details/7628694 expr用法 expr命令一般用于整数值, ...

  4. (转)linux traceroute命令参数及用法详解--linux跟踪路由命令

    linux traceroute命令参数及用法详解--linux跟踪路由命令 原文:http://blog.csdn.net/liyuan_669/article/details/25362505 通 ...

  5. 在DOS下的DEBUG命令的详细用法

    在DOS下的DEBUG命令的详细用法 名称 解释 格式 a (Assemble) 逐行汇编 a [address] c (Compare) 比较两内存块 c range address d (Dump ...

  6. linux dmesg命令参数及用法详解(linux显示开机信息命令)

    linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信 ...

  7. linux sed命令参数及用法详解

    linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...

  8. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

    linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至:            linux dd命令使用详解 dd 的主要 ...

  9. DOS debug 命令的详细用法

    DOS下的DEBUG命令的详细用法       2 推荐 名称 解释 格式 a (Assemble) 逐行汇编 a [address] c (Compare) 比较两内存块 c range addre ...

随机推荐

  1. Java去除所有非中文字符串

    "fdsfjasd阿斯顿飞机阿斯蒂芬,,,,,,,,....".replaceAll("[^\u4E00-\u9FA5]", "");

  2. Linq系列(5)——表达式树之案例应用

    在进入今天的正题之前,先感慨下本人的blog的人气一篇不如一篇.再加上换公司后人身自由受到了比之前大得多得多的限制,实在令本人有些郁闷.不过每次提笔写些东西跟大家分享,总是能让我感到愉悦和欣慰,希望我 ...

  3. 如何在ChemDraw中缩短双键长度

    双键是化学绘图软件ChemDraw在绘制化学图形的过程中会遇到各种各样的化学结构.而双键就是一种常见的化学基础结构,有的用户希望自己绘制的图形更加的美观,希望可以调整双键的长度并且不影响到其他的结构. ...

  4. box-sizing在什么情况下会失效

    众所周知,box-sizing是将w3c盒模型与IE盒模型相互转换的利器,但是有时候也会失效,那么在什么情况下回失效呢,MD在没设置高度的时候回失效的透透的,所以一定记得需要转换的时候设置个高度!!!

  5. UIWindow和UIScreen

    UIWindow和UIScreen 目录 概述 职责 实用操作 概述 UIWindow职责 包含了应用程序的可视化的内容 为视图和其他应用程序对象在触摸事件中提供了关键性的作用 与视图控制器一起协作来 ...

  6. 【BZOJ2982】combination Lucas定理

    [BZOJ2982]combination Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然, ...

  7. iOS 判断某一日期是否在一日期区间

    -(BOOL)date:(NSDate*)date isBetweenDate:(NSDate*)beginDate andDate:(NSDate*)endDate { if ([date comp ...

  8. 170420、maven内置常量

    Maven工程插件配置中通常会用到一些Maven变量,因此需要找个地方对这些变量进行统一定义,下面介绍如何定义自定义变量. 在根节点project下增加properties节点,所有自定义变量均可以定 ...

  9. Python全栈day14-15-16-17(函数)

    一,数学定义的函数 函数的定义:给定一个数集A,对A施加对应法则f,记作f(A),得到另一数集B,也就是B=f(A).那么这个关系式就叫函数关系式,简称函数.函数概念含有三个要素:定义域A.值域C和对 ...

  10. centos 安装 Vmare tool

    增强工具的作用 和host共享文件夹 鼠标自动捕捉释放 高分屏 自适应窗口 1.打开centOs虚机进入图形界面,点击工具栏上的虚拟机->重新安装WMare Tools 2.挂载光驱 查询光驱完 ...