我们已经知道,Linux下的权限设置包括文件权限和目录权限,两种权限都包括r,w,x三种,又分别包括所属用户权限、所属组用户权限、其它用户权限。
首先要明白r,w,x三种权限分别代表什么意思:
r(Read):只读权限。对文件来说,r权限代表文件可读;对目录来说,r权限代表目录可以浏览(shell中可以使用ls等命令)。
w(Write):只写权限。对文件来说,W权限代表文件可修改;对目录来说,W权限代表目录可添加、删除、移动目录内文件。
x(excute):可执行权限。对文件来说,X权限代表文件(这里指可执行程序)可执行;对目录来说,X权限代表具有打开进入目录的权限。
其次要掌握通过chmod改变权限的用法:
chmod 命令
chmod 命令用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法
语法:chmod [选项] [操作对象] [操作符] [权限] 文件名
选项:
-c
: 若该档案权限确实已经更改,才显示其更改动作
-f
: 若该档案权限无法被更改也不要显示错误讯息
-v
: 显示权限变更的详细资料
-R
: 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
操作对象,可是下述字母中的任一个或者它们的组合:
u
表示“用户(user)”,即文件或目录的所有者。
g
表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o
表示“其他(others)用户”。
a
表示“所有(all)用户”。它是系统默认值。
操作符号:
+
添加某个权限。
-
取消某个权限。
=
赋予给定权限并取消其他所有权限(如果有的话)。
权限。可用下述字母的任意组合:
r
可读。
w
可写。
x
可执行。
X
只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s
在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t
保存程序的文本到交换设备上。
u
与文件属主拥有一样的权限。
g
与和文件属主同组的用户拥有一样的权限。
o
与其他用户拥有一样的权限。
将档案 file1.txt 设为所有人皆可读取: chmod ugo+r file1.txt chmod a+r file1.txt 将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 : chmod ug+w,o-w file1.txt file2.txt 将 ex1.py 设定为只有该档案拥有者可以执行: chmod u+x ex1.py 将目前目录下的所有档案与子目录皆设为任何人可读取: chmod -R a+r *
2. 数字设定法
语法:chmod abc 文件名
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r为4,w为2,x为1,-为0
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
文件mm.txt的属性为:-rw-r--r-- 文件属主(u)拥有读、写权限:6 与文件属主同组人用户(g) 拥有读权限:4 其他人(o) 拥有读权限:4 chmod 644 mm.txt 即设定wchtxt这个文件的属性为:-rwxr-x--- 文件主本人(u)inin 可读/可写/可执行权:7 与文件主同组人(g) 可读/可执行权:5 其他人(o) 没有任何权限:0 chmod 750 wch.txt