`
凤凰涅磐
  • 浏览: 83727 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

(转)linux的chmod,chown命令使用详解

阅读更多
Java代码  收藏代码
  1. 在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。  
  2. 例如我用ls -l命令列文件表时,得到如下输出:  
  3. -rw-r--r-- 1  bu users  2254   2006 - 05 - 20   13 : 47  tt.htm  
  4. 从 第二个字符起rw-是说用户bu有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人 (others)只有读权限,没有写权和运行权。这是系统默认设置,我可以改写tt.htm,同组的人和其他人只有权读,没人有权运行,因为只是一个 html文件,不必运行。这在Novell的directory services之前很先进。  
  5. 读、写、运行三项权限可以用数字表示,就是r=4 ,w= 2 ,x= 1 。所以,上面的例子中的rw-r--r--用数字表示成 644 。  
  6. 反过来说777 就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。  
  7. 再多说一句。我用chmod o-r tt.htm命令改权限,o-r是others的权限中减掉读。结果是  
  8. -rw-r----- 1  bu users  2254   2006 - 05 - 20   13 : 47  tt.htm  
  9. 如果用命令chmod 777  tt.htm,结果是  
  10. -rwxrwxrwx 1  bu users  2254   2006 - 05 - 20   13 : 47  tt.htm  
  11. 任何人都有读、写、运行三项权限。  
  12.    
  13.   
  14. 指令名称 : chmod  
  15.   
  16. 使用权限 : 所有使用者  
  17.   
  18. 使用方式 : chmod [-cfvR] [--help] [--version] mode file...  
  19. 说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉  
  20.   
  21. 以控制档案如何被他人所存取。  
  22.   
  23. 把计 :  
  24.   
  25. mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有  
  26.   
  27. 者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆  
  28.   
  29. 是。  
  30.   
  31. + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。  
  32.   
  33. r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被  
  34.   
  35. 设定过为可执行。  
  36.   
  37. -c : 若该档案权限确实已经更改,才显示其更改动作  
  38.   
  39. -f : 若该档案权限无法被更改也不要显示错误讯息  
  40.   
  41. -v : 显示权限变更的详细资料  
  42.   
  43. -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)  
  44.   
  45. --help : 显示辅助说明  
  46.   
  47. --version : 显示版本  
  48.   
  49.   
  50.   
  51. 范例 :将档案 file1.txt 设为所有人皆可读取 :  
  52.   
  53. chmod ugo+r file1.txt  
  54.   
  55.   
  56.   
  57. 将档案 file1.txt 设为所有人皆可读取 :  
  58.   
  59. chmod a+r file1.txt  
  60.   
  61.   
  62.   
  63. 将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的  
  64.   
  65. 人则不可写入 :  
  66.   
  67. chmod ug+w,o-w file1.txt file2.txt  
  68.   
  69.   
  70.   
  71. 将 ex1.py 设定为只有该档案拥有者可以执行 :  
  72.   
  73. chmod u+x ex1.py  
  74.   
  75.   
  76.   
  77. 将目前目录下的所有档案与子目录皆设为任何人可读取 :  
  78.   
  79. chmod -R a+r *  
  80.   
  81.   
  82.   
  83. 此外chmod也可以用数字来表示权限如 chmod 777  file  
  84.   
  85. 语法为:chmod abc file  
  86.   
  87.   
  88.   
  89. 其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。  
  90.   
  91.   
  92.   
  93. r=4 ,w= 2 ,x= 1   
  94.   
  95. 若要rwx属性则4 + 2 + 1 = 7 ;  
  96.   
  97. 若要rw-属性则4 + 2 = 6 ;  
  98.   
  99. 若要r-x属性则4 + 1 = 7 。  
  100.   
  101. 范例:  
  102.   
  103. chmod a=rwx file  
  104.   
  105.   
  106.   
  107. 和  
  108.   
  109. chmod 777  file  
  110.   
  111. 效果相同  
  112.   
  113. chmod ug=rwx,o=x file  
  114.   
  115. 和  
  116.   
  117. chmod 771  file  
  118.   
  119. 效果相同  
  120.   
  121. 若用chmod 4755  filename可使此程式具有root的权限  
  122.   
  123. 指令名称 : chown  
  124.   
  125. 使用权限 : root  
  126.   
  127. 使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...  
  128.   
  129.   
  130.   
  131. 说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥  
  132.   
  133. 有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以  
  134.   
  135. 改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才  
  136.   
  137. 有这样的权限。  
  138.   
  139. 把计 :  
  140.   
  141. user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案  
  142.   
  143. 拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h :  
  144.   
  145. 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目  
  146.   
  147. 前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助  
  148.   
  149. 说明--version : 显示版本  
  150.   
  151. 范例 :  
  152.   
  153. 将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :  
  154.   
  155. chown jessie:users file1.txt  
  156.   
  157. 将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :  
  158.   
  159. chmod -R lamport:users *  
  160.   
  161. -rw------- (600 ) -- 只有属主有读写权限。  
  162.   
  163. -rw-r--r-- (644 ) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。  
  164. -rwx------ (700 ) -- 只有属主有读、写、执行权限。  
  165.   
  166. -rwxr-xr-x (755 ) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。  
  167. -rwx--x--x (711 ) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。  
  168. -rw-rw-rw- (666 ) -- 所有用户都有文件读、写权限。这种做法不可取。  
  169.   
  170. -rwxrwxrwx (777 ) -- 所有用户都有读、写、执行权限。更不可取的做法。  
  171.   
  172. 以下是对目录的两个普通设定:  
  173.   
  174. drwx------ (700 ) - 只有属主可在目录中读、写。  
  175.   
  176. drwxr-xr-x (755 ) - 所有用户可读该目录,但只有属主才能改变目录中的内容  
  177.   
  178. suid的代表数字是4 ,比如 4755 的结果是-rwsr-xr-x  
  179.   
  180. sgid的代表数字是2 ,比如 6755 的结果是-rwsr-sr-x  
  181.   
  182. sticky位代表数字是1 ,比如 7755 的结果是-rwsr-sr-t  
  183.   
  184. (当然7755 这个chmod设置没多大意义,这里只是演示一下)   
在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。
例如我用ls -l命令列文件表时,得到如下输出:
-rw-r--r-- 1 bu users 2254 2006-05-20 13:47 tt.htm
从第二个字符起rw-是说用户bu有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人(others)只有读权限,没有写权和运行权。这是系统默认设置,我可以改写tt.htm,同组的人和其他人只有权读,没人有权运行,因为只是一个html文件,不必运行。这在Novell的directory services之前很先进。
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,上面的例子中的rw-r--r--用数字表示成644。
反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。
再多说一句。我用chmod o-r tt.htm命令改权限,o-r是others的权限中减掉读。结果是
-rw-r----- 1 bu users 2254 2006-05-20 13:47 tt.htm
如果用命令chmod 777 tt.htm,结果是
-rwxrwxrwx 1 bu users 2254 2006-05-20 13:47 tt.htm
任何人都有读、写、运行三项权限。
 

指令名称 : chmod

使用权限 : 所有使用者

使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉

以控制档案如何被他人所存取。

把计 :

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有

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

是。

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

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

设定过为可执行。

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

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

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

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

--help : 显示辅助说明

--version : 显示版本



范例 :将档案 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 *



此外chmod也可以用数字来表示权限如 chmod 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。

范例:

chmod a=rwx file



和

chmod 777 file

效果相同

chmod ug=rwx,o=x file

和

chmod 771 file

效果相同

若用chmod 4755 filename可使此程式具有root的权限

指令名称 : chown

使用权限 : root

使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...



说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥

有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以

改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才

有这样的权限。

把计 :

user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案

拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h :

只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目

前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助

说明--version : 显示版本

范例 :

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

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

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

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

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

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

 

Java代码  收藏代码
  1. chown 修改文件和文件夹的用户和用户组属性   
  2. 1 ,要修改文件hh.c的所有者.修改为sakia的这个用户所有   
  3. chown sakia hh.c   
  4. 这样就把hh.c的用户访问权限应用到sakia作为所有者   
  5.   
  6. 2 ,将目录 /tmp/sco 这个目录的所有者和组改为sakia和组net   
  7. chown -R sakia:net /tmp/sco   
  8.   
  9. chmod 修改文件和文件夹读写执行属性   
  10. 1 ,把hh.c文件修改为可写可读可执行   
  11. chmod 777  hh.c   
  12. 要修改某目录下所有的文件属性为可写可读可执行   
  13. chmod 777  *.*   
  14. 把文件夹名称与后缀名用*来代替就可以了。   
  15. 同理若是要修改所有htm文件的属性   
  16. chmod 777  *.htm   
  17.   
  18. 2 ,把目录 /tmp/sco修改为可写可读可执行   
  19. chmod 777  /tmp/sco   
  20. 要修改某目录下所有的文件夹属性为可写可读可执行   
  21. chmod 777  *   
  22. 把文件夹名称用*来代替就可以了   
  23. 要修改/tmp/sco下所有的文件和文件夹及其子文件夹属性为可写可读可执行   
  24. chmod -R 777  /tmp/sco   
  25. 可写 w=4    
  26. 可读 r=2    
  27. 可执行 x=1    
  28. 777 就是拥有全权限。根据需要可以自由组合用户和组的权限。 
分享到:
评论

相关推荐

    Linux系统命令及其使用详解

    Linux系统命令及其使用详解cat cd chmod chown cp cut

    Linux 系统命令及其使用详解

    Linux 系统命令及其使用详解 cat cd chmod chown cp cut 名称: cat cat cat cat 使用权限:所有使用者 使用方式: cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(萤幕或加 >...

    Linux系统命令及其使用详解.doc

    Linux系统命令及其使用详解.doc Linux 系统命令及其使用详解(大全) (来源: 中国系统分析员)  cat cd  chmod chown  cp cut  名称:cat  使用权限:所有使用者  使用方式:cat [-AbeEnstTuv] [--help] [-...

    linux中权限管理命令详解(chmod/chown/chgrp/unmask)

    本文给大家介绍linux中权限管理命令详解(chmod/chown/chgrp/unmask),具体内容如下: chmod 解释 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户...

    Linux中chown与chmod两个命令的区别详解

    在linux系统中,chmod和chown命令都可以来设置权限,但他们也是不同的;chmod是用来设置文件夹和文件权限的,比如我们系统中的文件不可读写,需要用来设置777权限;而chown是用来设置用户组的,比如授权某用户组,...

    linux文件属性和更改文件权限详解

    2.3 chown命令 2.4 chmod命令 2.5 umask命令  1.文件属性 1.1 ls命令 ls命令是我们最常用的命令之一,用来查看当前目录下的文件或文件夹. ls命令有以下几个基本选项 选项 作用 -a 显示所有文件及目录(包括一”....

    基础电子中的Linux系统命令及其使用详解

     chmod chown  cp cut  名称:cat  使用权限:所有使用者  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName  说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)

    linux常用命令大全及详解.zip

    Linux操作系统是一种开源的、免费的操作系统,提供了许多强大的命令和工具来管理和控制系统。以下是一些常用的Linux命令: ls:列出当前目录下的文件和子目录。 cd:切换到指定目录。 pwd:显示当前所在目录的路径...

    LINUX常用命令详解

    9. chmod 10. chown 11. chgrp 12. touch 13. cp 14. mv 15. rm 16. find 17. grep 18. more 19. less 20. head 21. tail 22. cut 23. at 24. crontab 25. sleep 26. kill 27. ps pstree 28. top 29. expr 30. ...

    linux常用命令全集

    Linux 系统命令及其使用详解(大全)。cat cd 
 chmod chown 
 cp cut
 名称:cat 
 使用权限:所有使用者 
 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 
 说明:把档案串连接后传到基本...

    入门学习Linux常用必会60个命令实例详解doc/txt

    入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不...

    修改linux文件权限命令:chmod命令详解

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其...

Global site tag (gtag.js) - Google Analytics