`
天梯梦
  • 浏览: 13612126 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

linux: chmod,chown命令详解

 
阅读更多

指令名称 : 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

 

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


user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
-c或-change:作用与-v相似,但只传回修改的部分
-f或–quiet或–silent:不显示错误信息
-h或–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件
-R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-v或–verbose:显示指令执行过程
–dereference:作用和-h刚好相反
–help:显示在线说明
–reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同
–version:显示版本信息


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

chown jessie:users file1.txt 

 
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :

chown -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设置没多大意义,这里只是演示一下)

 

# chown [-R] [用户名称] [文件或目录]
# chown[-R] [用户名称:组名称] [文件或目录]

 

 

范例1:将test3.txt文件的属主改为test用户。

# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown test:root test3.txt
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59

 

 

范例2:chown所接的新的属主和新的属组之间可以使用:连接,属主和属组之一可以为空。如果属主为空,应该是“:属组”;如果属组为空,“:”可以不用带上。

 # ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt

# chown :test test3.txt <==把文件test3.txt的属组改为test
# ls -l test3.txt
-rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt

 

范例3:chown也提供了-R参数,这个参数对目录改变属主和属组极为有用,可以通过加 -R参数来改变某个目录下的所有文件到新的属主或属组。

# ls -l testdir <== 查看testdir目录属性
drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件属主是usr用户,属组是 root用户
# ls -lr testdir <==查看testdir目录下所有文件及其属性
total 0
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt
# chown -R test:test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组
# ls -l testdir
drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/
# ls -lr testdir
total 0
-rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt

 

参考:

http://linux.chinaunix.net/techdoc/system/2007/12/11/974135.shtml

http://www.ipinba.com/archives/518

 

 

分享到:
评论

相关推荐

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

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

    Linux系统命令及其使用详解

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

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

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

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

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

    Linux 系统命令及其使用详解

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

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

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

    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文件属性和更改文件权限详解

    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  说明:把档案串连接后传到基本输出(萤幕或加 &gt; fileName 到另一个档案)

    linux常用命令全集

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

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

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

Global site tag (gtag.js) - Google Analytics