`
wanwok
  • 浏览: 31294 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux chmod 命令 详解

 
阅读更多
Linux chmod 命令 详解
      chmod 命令用的很多,但是对这个命令却不是很了解。 在网上搜了一下。 整理如下。



命令格式:

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

[root@qs-wg-db2 ~]# chmod --help

Usage: chmod [OPTION]... MODE[,MODE]... FILE...

  or:  chmod [OPTION]... OCTAL-MODE FILE...

  or:  chmod [OPTION]... --reference=RFILE FILE...

Change the mode of each FILE to MODE.



  -c, --changes           like verbose but report only when a change is made

      --no-preserve-root  do not treat `/' specially (the default)

      --preserve-root     fail to operate recursively on `/'

  -f, --silent, --quiet   suppress most error messages

  -v, --verbose           output a diagnostic for every file processed

      --reference=RFILE   use RFILE's mode instead of MODE values

  -R, --recursive         change files and directories recursively

      --help     display this help and exit

      --version  output version information and exit



Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.



Report bugs to <bug-coreutils@gnu.org>.

[root@qs-wg-db2 ~]#





参数说明:

1. -cfvR 部分

       -c : 若该档案权限确实已经更改,才显示其更改动作

       -f : 若该档案权限无法被更改也不要显示错误讯息

       -v : 显示权限变更的详细资料

       -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更), 这个-R 用的还是很多的。



2.  Mode 部分

这部分可以分成如下3块: [who] operator [permission]

                                                 `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.



who的含义是:

       u 文件属主权限

       g 同组用户权限

       o 其它用户权限

       a 所有用户(包括以上三种)

operator的含义:

       + 增加权限

       - 取消权限

       =  唯一设定权限

permission的含义:

       r 读权限

       w 写权限

       x 执行权限

       X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

       s 文件属主和组id

       l 给文件加锁,使其它用户无法访问



如: chmod a+x



3. 示例:

(1)将档案 file1.txt 设为所有人皆可读取 :

       chmod ugo+r file1.txt

(2)将档案 file1.txt 设为所有人皆可读取 :

       chmod a+r file1.txt
(3)将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

       chmod ug+w,o-w file1.txt file2.txt

(4)将 ex1.py 设定为只有该档案拥有者可以执行 :

       chmod u+x ex1.py

(5)将目前目录下的所有档案与子目录皆设为任何人可读取 :

       chmod -R a+r *

(6)收回所有用户的对file1的执行权限

       chmod a-x file1



4. 使用数字来赋权



4.1 先看一下文件的权限格式



[root@qs-wg-db2 scripts]# ll

total 20

-rw-r--r-- 1 oracle oinstall    0 Feb 24 00:00 alertlogbyday.log

-rwxr-xr-x 1 oracle oinstall  430 Feb 20 01:10 alertlogbyday.sh

-rwxr-xr-x 1 oracle oinstall    7 Feb 24 05:00 del_st_arch.log

-rwxr-xr-x 1 oracle oinstall  648 Feb 19 00:51 del_st_archive.sh

-rwxr-xr-x 1 oracle oinstall    9 Feb 24 05:00 max_sn.log

drwxr-xr-x 3 root   root     4096 Feb 23 23:40 pymonitor



ll的结果返回七列,分别表示如下含义:

第一栏  [文件属性]

第二栏  [文件数]

第三栏  [拥有者]

第四栏  [所有者群组]

第五栏  [大小]

第六栏  [建档日期]

第七栏  [档名]



我们设置文件的权限就是这是第一栏里的文件属性。



文件属性这块共有十个字段,如:drwxr-xr-x



我们把这10个列分成4块:[d] [rwx] [r-x] [r-x]

第一块:也就是第一列,用来表示这个文件的类型,有如下值:

       (1)[ d ]则是目录,我这里的是d,表示的是一个目录

       (2)[ - ]则是文件;

       (3)[ l ]则表示为连结档(link file);

       (4)[ b ]则表示为装置文件里面的可供储存的接口设备;

       (5)[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。

第二块:第 2到4 列,表示文件拥有者的权限。

第三块:第5到7 列,表示拥有者同组人的权限。

第四块:第8到10列,表示是非拥有者组人的权限。



       这些权限均有[rwx] 三个参数表示,而且分别对应不同的位置。每块由3个列组成,每列对应一个值。 [ r ]代表可读、[ w ]代表可写、[ x ]代表可执行。

       举例: 如果拥有者只有只读的权限,那么第2到4列就是[r--],有读写的权限就是[rw-],有读写和执行的权利就是[rwx].



4.2 使用数字赋权

在4.1 中了解准备知识之后,就可以使用数字赋权了。 每块用户有3个权限[rwx]. 他们对应数字:

       r -->4

       w-->2

       x-->1



使用数字赋权的命令格式如下:

       chmod abc filename

其中的abc 分别代表3个数字,并且分别对应问个不同的属组。 即:

       数字a 对应 第2到4位,表示拥有者的权限。

       数字b 对应 第5到7位,表示同组用户的权限。

       数字c 对应第8到10位,表示其他组的权限。



       rwx 对应4,2,1. 那么只读的权限用4表示[r--],读写用6(4+2)表示[rw-],写加执行用7(4+2+1)表示[rwx]。 只读加执行用5(4+1)表示[r-x]。



示例:

       chmod 755 file1

       chmod 777 file1 <==> chmod a=rwx file

       chmod 771 file  <==> chmod ug=rwx,o=x file 
分享到:
评论

相关推荐

    linux中chmod命令详解.pdf

    linux中chmod命令详解

    Linux chmod命令用法详解

    Linux chmod命令 Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。 使用权限 : 所有使用者 语法 chmod [-cfvR] [--help] [--version] mode file... ...

    chmod命令使用详解

    ### Linux chmod 命令详解 #### 一、命令简介 `chmod` 是 Linux 和 Unix 系统中用于更改文件权限的重要工具。“chmod”代表“change mode”,它允许用户修改文件或目录的访问权限,包括读取(read)、写入(write...

    linuxchmod命令参数及用法详解--文件文件夹权限设定命令借鉴.pdf

    **Linux chmod命令详解** 在Linux操作系统中,`chmod`是一个非常重要的命令,它用于更改文件或目录的权限。权限管理是Linux系统安全的基础,通过`chmod`,你可以控制谁可以读取、写入或执行一个文件,以及这些权限...

    Linux+chmod+命令+详解.doc

    ### Linux chmod 命令详解 #### 命令概述 `chmod` 是 Linux 和 Unix 系统中用于更改文件或目录权限的重要命令。通过 `chmod`,用户能够精细地控制文件系统的访问权限,这对于系统安全性和用户权限管理至关重要。 ...

    linux的chmod命令使用详解借鉴.pdf

    linux的chmod命令使用详解借鉴.pdf

    Linux chmod

    ### Linux chmod 命令详解 #### 一、引言 `chmod` 是 Linux 和 Unix 系统中用于更改文件或目录权限的重要命令之一。它允许用户根据需求精确地设置文件或目录的访问权限,这对于保护系统安全至关重要。本文将详细...

    linux的chmod使用详解

    ### `chmod`命令详解 #### 命令语法 `chmod`的基本语法如下: ```bash chmod [-cfvR] [--help] [--version] mode file ``` 其中,`mode`参数定义了权限模式,`file`则是要修改权限的文件或目录。`chmod`还支持...

    linux的chmod命令使用详解[归纳].pdf

    linux的chmod命令使用详解[归纳].pdf

    linux常用命令详解(小强提供).pdf

    Linux常用命令详解 Linux 操作系统提供了许多实用的命令来帮助用户管理和维护系统。下面是 Linux 中的一些常用命令的详解: 文件管理命令 1. ls 命令 ls 命令是 Linux 中最常用的命令之一,用于显示当前目录下的...

    linux常用命令详解

    Linux 常用命令详解 在 Linux 操作系统中,命令是用户与系统交互的基本方式。熟练掌握 Linux 命令是每个 Linux 用户的必修课。下面我们将详细介绍一些常用的 Linux 命令。 cat 命令 cat 命令用于连接文件并将其...

    Linux编程命令详解

    "Linux编程命令详解"这本书深入浅出地介绍了Linux系统中的常用命令,是程序员进阶必备的参考资料。以下是根据标题、描述以及标签提炼出的一些关键知识点: 1. **Linux基础**:Linux是一种类Unix操作系统,它基于...

    linux常用命令详解.doc

    ### Linux常用命令详解 #### 1. `cat` 命令 - **用途**: 显示文本文件的内容或连接多个文件并打印到标准输出设备上。 - **参数**: - `-e`: 打印一个 `$` 来表示每行的结尾,此选项只有与 `-v` 选项一起使用时才...

    linux主要shell命令详解

    ### Linux主要Shell命令详解 #### 一、Shell概念与作用 **Shell** 是连接用户与Linux操作系统的桥梁,用户通过Shell与系统进行交互。在Linux系统中,Shell扮演着多种角色,包括命令语言、命令解释程序以及程序设计...

    Linux命令大全详解

    本文将深入探讨“Linux命令大全详解”这一主题,帮助读者掌握Linux操作系统的精髓,提升日常工作效率。 首先,Linux命令行是Linux系统中最基础且强大的工具。它允许用户通过输入命令来执行各种任务,如文件管理、...

    Linux命令详解词典(绝版)

    《Linux命令详解词典(绝版)》作为施威铭研究室所著的一本经典Linux工具书,主要针对Linux操作系统中的各种命令进行了深入的解释和阐述。Linux作为一种自由和开放源代码的类Unix操作系统,广泛应用于服务器、桌面、...

    书籍Linux编程命令详解

    本书“Linux编程命令详解”旨在帮助读者深入理解和掌握Linux环境下的编程与命令行操作,这对于提升工作效率和进行系统级别的调试至关重要。 在Linux中,命令行界面(CLI)是与操作系统交互的主要方式之一,它提供了...

    linux命令详解词典

    这份“Linux命令详解词典”由施威铭研究室提供,涵盖了Linux系统下的所有基本及高级操作命令,对于学习和理解Linux系统的管理至关重要。下面将详细阐述一些关键的Linux命令。 1. **ls**:列出目录内容。`ls`命令...

Global site tag (gtag.js) - Google Analytics