更改文件权限。格式为:chmod [参数] 文件列表

参数若干,说明如下 :

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

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

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

  • -R,对目前目录下的所有文件与子目录进行权限变更(即以递回的方式逐个变更)

mode是权限设定字串,包含有[ugoa…][[±=][rwx]等,说明如下:
  • [ugoa…]:u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 (默认值,包含上面三者)。

  • [±=]:+表示增加权限,-表示取消权限,=表示设置具体权限(且是唯一)。

  • [rwx]:r为读,w为写,x为可执行

文件列表:单个或者多个文件、目录的名称

用法示例如下:

设置文件f1的属主(u)权限为rwx,属组(g)权限为rw,其他人(o)权限为r

chmod u=rwx,g=rw,o=r f1
范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 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 *

设置后,显示该文件详情如下:

权限除了使用字母外,还可以用数字表示,linux系统规定用数字4、2和1分别表示读、写、执行权限,即r=4,w=2,x=1。而且每一类用户的权限组合也可以用数字来表示,如:rwx=4+2+1=7;rw=4+2=6;rx=4+1=5。按照这一规则,一个文件包含三类用户的完整权限表达示例如下:

rwxrwxrwx (777)所有用户都有读、写、执行权限。
rwx------ (700)只有属主有读、写、执行权限。
rw------- (600)只有属主有读写权限。
r-------- (400)只有属主有读权限。
r–r--r-- (444)所有用户只有读权限。
rwxr-xr-x (755)属主有读、写、执行权限,属组用户和其他人只有读、执行权限。
rwxr-x— (750)属主有读、写、执行权限,属组用户有读、执行权限,其他用户无任何权限。
rwx–x--x (711)属主有读、写、执行权限;属组用户和其他用户只有执行权限。
rw-rw-rw- (666)所有用户都有文件读、写权限。
我们可以把前面的三个用法示例改为数字方式:

chmod 764 f1

改变文件拥有者 chmod [-cfhvR] user[] file…

说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

  • user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)

  • -c : 若该档案拥有者确实已经更改,才显示其更改动作

  • -f : 若该档案拥有者无法被更改也不要显示错误讯息

  • -h : 只对于连结(link)进行变更,而非该 link 真正指向的档案

  • -v : 显示拥有者变更的详细资料

  • -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)

范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :

chown jessie:users file1.txt