拷貝來源:

01.http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html

02.http://www.cnblogs.com/peida/archive/2012/11/29/2794010.html

chmod命令用於改變linux系統檔案或目錄的存取權限。用它控制檔或目錄的存取權限。該命令有兩種用法。一種是包含字母和操作符運算式的文字設定法;另一種是包含數位的數位設定法。

Linux系統中的每個檔和目錄都有訪問許可許可權,用它來確定誰可以通過何種方式對檔和目錄進行訪問和操作。
  檔或目錄的存取權限分為唯讀,只寫和可執行三種。以檔為例,唯讀許可權表示只允許讀其內容,而禁止對其做任何的更改操作。可執行許可權表示允許將該檔作為一個程式執行。檔被創建時,檔所有者自動擁有對該檔的讀、寫和可執行許可權,以便於對檔的閱讀和修改。使用者也可根據需要把存取權限設置為需要的任何組合。
  有三種不同類型的使用者可對檔或目錄進行訪問:檔所有者,同組用戶、其他用戶。所有者一般是檔的創建者。所有者可以允許同組用戶有權訪問檔,還可以將檔的存取權限賦予系統中的其他使用者。在這種情況下,系統中每一位元使用者都能訪問該使用者擁有的檔或目錄。
  每一檔或目錄的存取權限都有三組,每組用三位表示,分別為檔屬主的讀、寫和執行許可權;與屬主同組的用戶的讀、寫和執行許可權;系統中其他使用者的讀、寫和執行許可權。當用ls -l命令顯示檔或目錄的詳細資訊時,最左邊的一列為檔的存取權限。 例如:

命令: 

ls -al

輸出:

[root@localhost test]# ll -al

總計 316lrwxrwxrwx 1 root root     11 11-22 06:58 linklog.log -> log2012.log

-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log

-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log

-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log

-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log

-rw-r--r-- 1 root root      0 11-16 14:41 log2016.log

-rw-r--r-- 1 root root      0 11-16 14:43 log2017.log

我們以log2012.log為例:

-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

第一列共有10個位置,第一個字元指定了檔案類型。在通常意義上,一個目錄也是一個檔。如果第一個字元是橫線,表示是一個非目錄的檔。如果是d,表示是一個目錄。從第二個字元開始到第十個共9個字元,3個字元一組,分別表示了3組使用者對檔或者目錄的許可權。許可權字元用橫線代表空許可,r代表唯讀,w代表寫,x代表可執行。

例如:
  - rw- r-- r--
  表示log2012.log是一個普通檔;log2012.log的屬主有讀寫許可權;與log2012.log屬主同組的用戶只有讀許可權;其他用戶也只有讀許可權。

  確定了一個檔的存取權限後,使用者可以利用Linux系統提供的chmod命令來重新設定不同的存取權限。也可以利用chown命令來更改某個檔或目錄的所有者(ex:sudo chown -R jash:jash /home/jash/_mp4)。利用chgrp命令來更改某個檔或目錄的使用者組。 

chmod命令是非常重要的,用於改變檔或目錄的存取權限。使用者用它控制檔或目錄的存取權限。chmod命令詳細情況如下。

1. 命令格式:

chmod [-cfvR] [--help] [--version] mode file   

2. 命令功能:

用於改變檔或目錄的存取權限,用它控制檔或目錄的存取權限。

3. 命令參數:

必要參數:
-c 當發生改變時,報告處理資訊
-f 錯誤資訊不輸出
-R 處理指定目錄以及其子目錄下的所有檔
-v 運行時顯示詳細處理資訊

選擇參數:
--reference=<目錄或者檔> 設置成具有指定目錄或者檔具有相同的許可權
--version 顯示版本資訊
<許可權範圍>+<許可權設置> 使許可權範圍內的目錄或者檔具有指定的許可權
<許可權範圍>-<許可權設置> 刪除許可權範圍的目錄或者檔的指定許可權
<許可權範圍>=<許可權設置> 設置許可權範圍內的目錄或者檔的許可權為指定的值

許可權範圍:
u :目錄或者檔的當前的用戶
g :目錄或者檔的當前的群組
o :除了目錄或者檔的當前使用者或群組之外的用戶或者群組
a :所有的用戶及群組

許可權代號:
r :讀許可權,用數字4表示
w :寫許可權,用數字2表示
x :執行許可權,用數字1表示
- :刪除許可權,用數字0表示
s :特殊許可權 

該命令有兩種用法。一種是包含字母和操作符運算式的文字設定法;另一種是包含數位的數位設定法。
  1). 文字設定法:
  chmod [who] [+ | - | =] [mode] 檔案名
  2). 數字設定法
  我們必須首先瞭解用數位表示的屬性的含義:0表示沒有許可權,1表示可執行許可權,2表示可寫許可權,4表示可讀許可權,然後將其相加。所以數位屬性的格式應為3個從0到7的八進位數,其順序是(u)(g)(o)。
  例如,如果想讓某個檔的屬主有“讀/寫”二種許可權,需要把4(可讀)+2(可寫)=6(讀/寫)。
  數位設定法的一般形式為:
  chmod [mode] 檔案名

數位與字元對應關係如下:

r=4,w=2,x=1
若要rwx屬性則4+2+1=7
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=7。 

4. 使用實例:
實例1:增加檔所有用戶組可執行許可權

命令:

chmod a+x log2012.log

輸出:

[root@localhost test]# ls -al log2012.log 

-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]# chmod a+x log2012.log 

[root@localhost test]# ls -al log2012.log 

-rwxr-xr-x 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]#

說明:
  即設定文件log2012.log的屬性為:檔屬主(u) 增加執行許可權;與檔屬主同組用戶(g) 增加執行許可權;其他用戶(o) 增加執行許可權。
 

實例2:同時修改不同用戶許可權

命令:

chmod ug+w,o-x log2012.log

輸出:

[root@localhost test]# ls -al log2012.log 

-rwxr-xr-x 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]# chmod ug+w,o-x log2012.log 

[root@localhost test]# ls -al log2012.log 

-rwxrwxr-- 1 root root 302108 11-13 06:03 log2012.log


說明:
  即設定檔text的屬性為:檔屬主(u) 增加寫許可權;與檔屬主同組用戶(g) 增加寫許可權;其他用戶(o) 刪除執行許可權

實例3:刪除檔許可權

命令:

chmod a-x log2012.log

輸出:

[root@localhost test]# ls -al log2012.log 

-rwxrwxr-- 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]# chmod a-x log2012.log 

[root@localhost test]# ls -al log2012.log 

-rw-rw-r-- 1 root root 302108 11-13 06:03 log2012.log

說明:
 刪除所有用戶的可執行許可權 
 

實例4:使用“=”設置許可權 

命令:

chmod u=x log2012.log

輸出:

[root@localhost test]# ls -al log2012.log 

-rw-rw-r-- 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]# chmod u=x log2012.log 

[root@localhost test]# ls -al log2012.log 

---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log

說明:

撤銷原來所有的許可權,然後使擁有者具有可讀許可權 

實例5:對一個目錄及其子目錄所有檔添加許可權 

命令:

chmod -R u+x test4

輸出:

[root@localhost test]# cd test4

[root@localhost test4]# ls -al

總計 312drwxrwxr-x 2 root root   4096 11-13 05:50 .

drwxr-xr-x 5 root root   4096 11-22 06:58 ..

-rw-r--r-- 1 root root 302108 11-12 22:54 log2012.log

-rw-r--r-- 1 root root     61 11-12 22:54 log2013.log

-rw-r--r-- 1 root root      0 11-12 22:54 log2014.log

[root@localhost test4]# cd ..

[root@localhost test]# chmod -R u+x test4

[root@localhost test]# cd test4

[root@localhost test4]# ls -al

總計 312drwxrwxr-x 2 root root   4096 11-13 05:50 .

drwxr-xr-x 5 root root   4096 11-22 06:58 ..

-rwxr--r-- 1 root root 302108 11-12 22:54 log2012.log

-rwxr--r-- 1 root root     61 11-12 22:54 log2013.log

-rwxr--r-- 1 root root      0 11-12 22:54 log2014.log

說明:

遞迴地給test4目錄下所有檔和子目錄的屬主分配許可權 

其他一些實例:

1). 

命令:

chmod 751 file   

說明:

給file的屬主分配讀、寫、執行(7)的許可權,給file的所在組分配讀、執行(5)的許可權,給其他用戶分配執行(1)的許可權

2). 

命令:

chmod u=rwx,g=rx,o=x file 

說明:

上例的另一種形式

3). 

命令

chmod =r file 

說明:                    

為所有用戶分配讀許可權

3). 

命令:

chmod 444 file 

說明: 

   同上例

4). 

命令:

chmod a-wx,a+r   file

說明:

同上例

每天一個Linux指令- chmod指令的更多相关文章

  1. Linux入门50指令

    1, mkdir创建目录 make directory 可以带着路径,在什么位置创建什么目录 如:mkdir /etc/date  在目录etc下创建date目录 重要参数 –p 递归创建,mkdir ...

  2. linux常用操作指令

    Linux常用操作指令: 常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及目录,包括隐藏的a(a ...

  3. Linux日常使用指令大全

    Linux日常使用指令大全 Java代码 www.ahlinux.com 001.日常维护常用查询命令 #top    显示系统进程 #clear  清理屏幕信息 #cat /etc/redhat-r ...

  4. (转)Linux最常用指令及快捷键 Linux学习笔记

    Linux最常用指令及快捷键 Linux学习笔记 原文:http://blog.csdn.net/yanghongche/article/details/50827478 [摘自 鸟叔的私房菜]--转 ...

  5. linux的一些指令

    linux的一些指令 █查看指令參數man 指令,如:man ls ,按q鍵退出 █查看文件列表ls -lht 按時間排序ll 列表ls 列表 目錄cd 目錄名稱 進入路徑cd .. 返回上層路徑 █ ...

  6. Linux配置及指令

    目录 Linux配置及指令 一.linux中常用软件的安装 二.主机名和网络 1.修改主机名 2.设置网络 三.关闭防火墙 1.检查防火墙是否开启 2.清除策略 3.永久关闭第一个防火墙 4.关闭第二 ...

  7. Linux shell--基础指令

    Linux shell--基础指令 浏览Linux文件系统 Linux中最基础也是最必要的一条指令 cd destination cd命令可接受单个参数destination,用以指定想切换到的目录名 ...

  8. [fw]Linux 的 time 指令

    Linux 的 time 指令   Linux 有個很有意思的 time 指令,可以用來查看另一個指令的執行時間,例如執行 time helloworld 會顯示 helloworld 這支程式的執行 ...

  9. Linux(二)—— Linux配置及指令

    目录 Linux配置及指令 一.linux中常用软件的安装 二.主机名和网络 1.修改主机名 2.设置网络 三.关闭防火墙 1.检查防火墙是否开启 2.清除策略 3.永久关闭第一个防火墙 4.关闭第二 ...

随机推荐

  1. error while loading shared libraries *.so.*

    转自 http://my.oschina.net/u/561492/blog/192341 ubuntu12.04-64位编译Android4.2时出现问题:error while loading s ...

  2. UITableView__cell 距tableview顶端有间距

    UITableView__cell 距tableview顶端有间距     如何去掉这个间距呢?解决方法如下: //top 为cell距顶端的间距 (一般为负值) self.formTable.con ...

  3. 总结iOS9中的新的方法

    iOS平台在快速的发展,各种接口正在不断的更新.随着iOS9的发布,又有一批老方法不推荐使用了,你若调用这些方法,运行的结果是没有问题的,但是会出现警告“***is deprecated :first ...

  4. sass 的使用心得

    //定义颜色 $c55:#; $c22:#; $c33:#; $c99:#; $c77:#; $c00:#; $cff:#fff; $caa:#aaa; $ccc:#ccc; $cf0:#f0f0f0 ...

  5. FreeRTOS 中断优先级配置(重要)

    以下转载自安富莱电子: http://forum.armfly.com/forum.php NVIC 的全称是 Nested vectored interrupt controller,即嵌套向量中断 ...

  6. 在sql中根据成绩显示学生排名

    1.准备 create table newtable ( name ), yuwen ), shuxue ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; , ); , ...

  7. linphone 调试信息

    root@phyCORE-AM335x:~ linphonec -V -d 6INFO: no logfile, logging to stdoutortp-message-oRTP-0.20.0 i ...

  8. 面向对象设计原则二:开闭原则(OCP)

    开闭原则(OCP)定义:对扩展开发,对修改关闭.好处:      适应性和灵活性.      稳定性和延续性.      可复用性与可维护性. 解释说明:开闭原则指的是两方面:对功能扩展开发,对修改进 ...

  9. C++ 匿名对象产生场景

    //匿名对象产生的三种场景 #include<iostream> using namespace std; class Point{ public: Point(int a,int b){ ...

  10. Linux心得记录

    2014.4.8 linux环境下如何删除一个目录? rm -r linux本身提供删除目录命令——rmdir,但是如果你要删除的目录中含有子目录或者子文件,那么该命令会提示“删除失败:目录非空“也就 ...