linux chmod命令

本文详细介绍Linux系统中的chmod命令,解释如何使用此命令调整文件或目录的访问权限。包括权限的基本概念、chmod的不同用法(文字设定法和数字设定法),以及具体的使用案例。

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命令来更改某个文件或目录的所有者。利用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) 增加执行权限



原文链接:

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

http://blog.chinaunix.net/uid-23337335-id-2431122.html



<think> 首先,用户要求我提供Linux系统中chmod命令的使用指南。用户提供了几个引用:[^1], [^2], [^3], [^4],这些提供了相关信息。我需要参考这些引用,但也要确保回答真实可靠。 关键点从引用中提取: - 引用[^1]: 描述了权限设置:+增加权限、-取消权限、=唯一设定权限。符号:r(read)、w(write)、x(execute)、X(只有当档案是目录或已可执行时才设置)。选项:-s (设置setuid/setgid)、-c (更改时显示)、-f (不显示错误)、-v (详细显示)、-R (递归更改)、--help、--version。 - 引用[^2]: 展示了常见权限模式及其数字值,例如600、644、755等,并解释了权限含义。 - 引用[^3]: 提到了useradd和passwd命令的例子,但这些与chmod无关。看起来是错误引用,我应该忽略不相关部分。 - 引用[^4]: 解释了权限的数字表示:r=4、w=2、x=1;例如rwx=7、rw-=6、r-x=5。 用户的问题:"我想获取linux系统中chmod命令的使用信息 请问linux系统chmod命令使用指南"。所以,我需要提供一个全面的chmod命令指南。 回答结构:系统级指令要求回答结构清晰,帮助用户逐步解决问题。使用中文回答。包括相关问题生成。 大纲回答结构: 1. **介绍chmod命令**:解释它的用途——更改文件或目录的权限。 2. **基本语法**:格式如`chmod [options] mode file...` 3. **权限表示方式**: - 符号形式:使用u,g,o,a + - = r,w,x,X等。 - 数字形式:三位八进制数,如755。 4. **常见选项**:如-R递归、-v详细等。 5. **示例用法**:提供常见场景的例子。 6. **注意事项**:如安全考虑(避免777)、权限的意义。 最后,生成相关问题。 确保LaTeX格式:行内数学如权限计算使用$...$,独立公式如需要使用$$...$$。 例如,权限数字计算:$rwx = 4 + 2 + 1 = 7$,等等。 添加引用标识:在相关段落末尾添加[^1], [^2], [^4],因为引用[^3]不相关。 响应结构: - 标题或直接开始:Linux chmod 命令使用指南 - 逐步解释: 1. 什么是chmod? 2. 语法格式 3. 权限符号表示 4. 权限数字表示 5. 常用选项 6. 示例 7. 最佳实践 - 最后:相关问题 使用中文。 </think> ### Linux chmod 命令使用指南 `chmod` 是 Linux 系统中用于更改文件或目录权限的核心命令。它允许用户通过符号(如 `r`, `w`, `x`)或数字(如 `755`)形式设置权限,确保文件安全性和访问控制。权限分为所有者(user/u)、所属组(group/g)和其他用户(other/o)。以下指南将一步步解释如何使用 `chmod`,内容真实可靠,基于标准 Linux 手册和参考信息(如提供的引用)。 #### 1. **chmod 命令的基本语法** `chmod` 的基本格式为: ```bash chmod [选项] 模式 文件或目录... ``` - **模式**:定义权限变化的方式,可以是符号形式(如 `u+rw`)或数字形式(如 `644`)。 - **选项**:可选参数,用于控制命令行为,例如递归更改或显示详细信息。 - **文件或目录**:指定要更改权限的目标,例如 `/home/user/file.txt`。 #### 2. **权限表示方式** 权限有三种类型:读(r,允许查看内容)、写(w,允许修改内容)和执行(x,允许运行文件或进入目录)。权限可以用符号或数字形式表示。 - **符号形式**:使用字母指定权限变化,适合精细调整。 - **主体**:`u`(所有者)、`g`(组)、`o`(其他)、`a`(所有用户)。 - **操作符**:`+`(增加权限)、`-`(取消权限)、`=`(唯一设定权限)。 - **权限符**:`r`(读)、`w`(写)、`x`(执行)、`X`(仅在文件是目录或已可执行时设置执行权限)。 例如: - `chmod u+rw file.txt`:为所有者增加读写权限。 - `chmod go-w file.txt`:取消组和其他用户的写权限。 - `chmod a=r file.txt`:为所有用户唯一设定只读权限(即 `r--r--r--`)。 引用中提到 `-s` 选项可设置 setuid/setgid(提升进程权限),但需谨慎使用[^1]。 - **数字形式**:使用三位八进制数(0-7),每个数字代表一组权限(所有者、组、其他)。权限值基于二进制计算:r=4、w=2、x=1,总和表示完整权限。例如: - $rwx = 4 + 2 + 1 = 7$(二进制 111) - $rw- = 4 + 2 + 0 = 6$(二进制 110) - $r-x = 4 + 0 + 1 = 5$(二进制 101) - $r-- = 4 + 0 + 0 = 4$(二进制 100) 常见数字权限示例: | 数字模式 | 符号表示 | 描述 | |----------|----------|------| | 600 | `-rw-------` | 仅所有者有读写权限 | | 644 | `-rw-r--r--` | 所有者有读写权限,组和其他只有读权限 | | 755 | `-rwxr-xr-x` | 所有者有读写执行权限,组和其他只有读和执行权限(常用于可执行文件) | | 711 | `-rwx--x--x` | 所有者有读写执行权限,组和其他只有执行权限 | 避免使用不安全权限如 666(所有用户可读写)或 777(所有用户可读写执行),以防数据泄露[^2][^4]。 #### 3. **常用选项** `chmod` 支持多个选项,用于增强功能: - `-R`:递归更改目录下的所有文件和子目录权限,例如 `chmod -R 755 /dir`。 - `-v`:显示权限变更的详细信息,便于调试,例如 `chmod -v u+x file.txt`。 - `-c`:仅当权限实际更改时显示输出。 - `-f`:不显示错误信息(即使权限无法更改)。 - `--help`:显示帮助信息。 - `--version`:显示命令版本。 选项如 `-s` 可用于设置特殊权限(例如 setuid),但需注意安全风险[^1]。 #### 4. **实用示例** 以下示例基于常见场景: - **示例 1:为文件添加执行权限** ```bash chmod +x script.sh # 所有用户添加执行权限(等同于 a+x) ``` 如果文件是目录,`X` 选项可智能设置执行权限:`chmod -R u=rwX,g=rX,o=rX /dir`[^1]。 - **示例 2:安全设置目录权限** ```bash chmod 755 public_dir # 所有者读写执行,组和其他只读执行 ``` 这确保目录可被访问,但限制修改。 - **示例 3:递归更改权限** ```bash chmod -R 644 /home/user/docs # 所有文件和子目录设为所有者读写,组和其他只读 ``` 配合 `-v` 查看更改详情:`chmod -Rv 644 /docs`[^1]。 - **示例 4:移除其他用户权限** ```bash chmod o-rwx sensitive_file # 取消其他用户的所有权限 ``` #### 5. **最佳实践和安全注意事项** - **最小权限原则**:只授予必要权限(例如文件用 644,脚本用 755),避免过度开放(如 777)。 - **递归风险**:使用 `-R` 时确保目标正确,防止意外更改重要文件。 - **特殊权限**:`-s` 可用于 setuid/setgid(例如 `chmod u+s file`),但可能引入安全漏洞,仅在必要时使用[^1]。 - **测试更改**:先用 `-v` 或 `-c` 选项预览变更,再正式执行。 引用[^4] 强调权限的数字计算基于位权值,确保模式设置直观可靠。 通过以上步骤,您可以根据需求灵活管理权限。如需更多细节,参阅 Linux 手册(`man chmod`)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值