介绍:
chmod用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

语法:


#文字设定法:
chmod [-cfvR] [who][ + | - | = ][mode] 文件名
#数字设定法:
chmod [-cfvR] [mode] 文件名

选项介绍:
    -c: 若该文件权限确实已经更改,才显示其更改动作;
    -f: 若该文件权限无法被更改也不要显示错误讯息;
    -v: 显示权限变更的详细资料;
    -R: 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更);

方法1.文字设定法
操作对象who可是下述字母中的任一个或者它们的组合:
    u 表示“用户(user)”,即文件或目录的所有者。
    g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
    o 表示“其他(others)用户”。
    a 表示“所有(all)用户”。
默认情况下who的值为a。

    + 添加某个权限。
    - 取消某个权限。
    = 赋予给定权限并取消其他所有权限。

设置mode所表示的权限可用下述字母的任意组合:
    r 可读。
    w 可写。
    x 可执行。

注意
[who][ + | - | = ][mode]
这三个选项之间不能有空格。

方法2.数字设定法
文件权限有三个0-7的数字表示:
0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限
所以:
755 = rwxr-xr-x
其中7=4+2+1=rwx, 5=4+1=r-x;

执行范例:
 

view source print?
1 $ chmod a-x text.txt #取消text.txt文件的执行权限
2 $ chmod ugo -x text.txt #等价上一语句
3 $ chmod +x text.txt #等价上一语句
4   
5 $ chmod u+w text.txt#添加用户写权限
6 $ chmod 755 text.txt
7 $ chmod 744 text.txt

扩展阅读:
linux文件权限简要介绍:
    在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
    每一个用户都有它自身的读、写和执行权限。第一套权限控制访问自己的文件权限,即所有者权限。第二套权限控制用户组访问其中一个用户的文件的权限。第三套 权限控制其他所有用户访问一个用户的文件的权限,这三套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的 权限组。
    我们可以用-l参数的ls命令显示文件的详细信息

 
1 $ ls -l /etc/passwd
2 -rw-r--r--  1 root root 4011 Jan 22 21:02 /etc/passwd