您的位置:首页 > 运维架构 > Linux

Linux 指令篇:档案目录管理-----chmod----- 命令的使用方法

2011-09-14 17:03 621 查看

说明

变更文件或目录的权限。

chmod有以下三种用法:

# chmod [选项]...[模式,模式]...文件或目录...
# chmod [选项]...[八进制模式] 文件或目录...
# chmod [选项] --reference=参考文件或目录 文件或目录...

选项包括以下几个:

-c,若该文件或目录的权限确实已经更改,才显示其更改动作。
-f,若该文件或目录的权限无法被更改也不要显示错误信息。
-v,显示权限变更的详细信息。
-R,对当前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)。
--help,显示辅助说明。
--version,显示版本。

模式由三部分组成:[ugoa][+-=][rwxXstugo]。各参数的含义如下:

u-user,表示文件或目录的拥有者。
g-group,表示文件或目录的所属群组。
o-other,表示除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a-all,表示全部的用户,包含拥有者,所属群组以及其他用户。
+,表示增加权限。
-,表示取消权限。
=,表示唯一设定权限。
r,读取权限。
w,可写权限。
x,可执行权限。
X,只有当该文件或目录是个子目录或子文件,或者该文件或目录已经被设定过为可执行。
s,特殊。

范例

将“file1.txt”文件设为所有人皆可读取。

# chmod ugo+r file1.txt

将“file1.txt”和“file2.txt”设为该文件拥有者,与其所属同一个群组者可写入,但其他人则不可写入。

# chmod ug+w,o-w file1.txt file2.txt

____________________[b]Linux 指令篇:档案目录管理--chmod_______________________________[/b]

  

功能说明:变更文件或目录的权限
  

语  法:

chmod [-cfRv] [--help] [--version] [<权限范围>+/-/=<权限设置...>][文件或目录...]

chmod [-cfRv] [--help] [--version] [数字代号][文件或目录...]

chmod [-cfRv] [--help] [--reference=<参考文件或目录>][--version][文件或目录...]

  

  说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。

  

  参数 :

  

  mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中

  u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

  + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

  r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

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

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

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

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

  --help : 显示辅助说明

  --version : 显示版本

  

范例 :

1. 将档案 file1.txt 设为所有人皆可读取 :

   chmod ugo+r file1.txt

  

 2. 将档案 file1.txt 设为所有人皆可读取 :

   chmod a+r file1.txt

  

 3. 将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

   chmod ug+w,o-w file1.txt file2.txt

  

 4. 将 ex1.py 设定为只有该档案拥有者可以执行 :

   chmod u+x ex1.py

  

 5. 将目前目录下的所有档案与子目录皆设为任何人可读取 :

   chmod -R a+r *

  

 6. 此外chmod也可以用数字来表示权限如 chmod -R 777 file

语法为:chmod abc file

  

  其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

  

  r=4,w=2,x=1

  若要rwx属性则4+2+1=7;

  若要rw-属性则4+2=6;

  若要r-x属性则4+1=7。

_________________________________________________________

-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) - 所有用户可读该目录,但只有属主才能改变目录中的内容

suid的代表数字是4,比如4755的结果是-rwsr-xr-x

sgid的代表数字是2,比如6755的结果是-rwsr-sr-x

sticky位代表数字是1,比如7755的结果是-rwsr-sr-t

(当然7755这个chmod设置没多大意义,这里只是演示一下)

_________________________________________________________

  

  范例:

   chmod a=rwx file

  

  和

   chmod 777 file

  

  效果相同

   chmod ug=rwx,o=x file

  

  和

   chmod 771 file

  

  效果相同

  

  若用chmod 4755 filename可使此程序具有root的权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: