使用权限 : 所有使用者使用方式 : chmod [-cfvR] [–help][–version] mode file…
说明 : Linux/Unix 的档案存取权限分为三级 :档案拥有者、群组、其他,即[type][u][g][o] ,利用 chmod可以藉以控制档案如何被他人所存取。
mode : 权限设定字串,格式如下 :[ugoa…][[+-=][rwxX]…][,…],其中u 表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a表示这三者皆是。
+ 表示增加权限、- 表示取消权限、=表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c :若该档案权限确实已经更改,才显示其更改动作
-f :若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R :对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本
范例 :将档案 file1.txt 设为所有人皆可读取 :
将档案 file1.txt 与 file2.txt设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:
将 ex1.py 设定为只有该档案拥有者可以执行 :
将目前目录下的所有档案与子目录皆设为任何人可读取 :
此外chmod也可以用数字来表示权限如 chmod 777 file 语法为
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod ug=rwx,o=x file 和 chmod 771 file 效果相同
若用chmod 4755 filename可使此程式具有root的权限
指令名称 : chown 使用权限 :root
范例 :
chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者lamport :
chmod -R lamport:users *
-rw——- (600) — 只有属主有读写权限。
-rw-r–r– (644) —只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx—— (700) — 只有属主有读、写、执行权限。
-rwxr-xr-x (755) —属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx–x–x (711) —属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) —所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) —所有用户都有读、写、执行权限。更不可取的做法。
以下是对目录的两个普通设定:
drwx—— (700) - 只有属主可在目录中读、写。
drwxr-xr-x (755) -所有用户可读该目录,但只有属主才能改变目录中的内容。
s权限代表该类用户的对此文件有root权限
suid的代表数字是4,比如4755的结果是-rwsr-xr-x
sgid的代表数字是2,比如6755的结果是-rwsr-sr-x
sticky位代表数字是1,比如7755的结果是-rwsr-sr-t
都无权限代表数字是0,比如0755的结果是-rwxr-xr-x
当然7755这个chmod设置没多大意义
默认命令行如果输入三位权限,则自动把s权限为设置成0
chmod xxxx
四位数是标准写法,在有些语言编程里比如php里0755和755的意义就可能不一样噢…