Linux中chown与chmod两个命令的区别详解
作者:CODETC
在linux系统中,chmod和chown命令都可以来设置权限,但他们也是不同的;chmod是用来设置文件夹和文件权限的,比如我们系统中的文件不可读写,需要用来设置777权限;而chown是用来设置用户组的,比如授权某用户组,方便控制用户权限。
今天要分享的2个命令也是我们平时常用的,chmod与chown看似拼写还有点差不多,但是两者的用途是不同的。chmod是用来设置文件夹和文件权限的,比如我们在VPS主机中文件不可读写,需要用来设置777权限;而chown是用来设置用户组的,比如授权某用户组,方便控制用户权限。
具体的使用我们用实例解答,那些所谓的各种参数命令我不喜欢分享,因为平时也用不到,直接用实用的。
第一、使用权限 : 所有使用者
使用方式 : 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 : 显示版本
比如 : chmod -R 777 /www/itbulu.com/wp-content/*
代表设置上述文件夹下所有文件可读写,也可以这样。
cd wp-content chmod -R 777 *
第二、指令名称 : 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:显示版本信息
chown -R www:www /home/wwwroot/*
解释:-R递归处理所有文件和文件夹,第一个www代表文件的拥有者名称,第二个www代表所属群组名称。
chown与chmod命令的区别
chown 修改文件和文件夹的用户和用户组属性
1、要修改文件hh.c的所有者.修改为codetc的这个用户所有
chown codetc hh.c
这样就把hh.c的用户访问权限应用到codetc作为所有者
2、将目录 /tmp/sco 这个目录的所有者和组改为codetc和组net
chown -R codetc:net /tmp/sco
chmod 修改文件和文件夹读写执行属性
1、把hh.c文件修改为可写可读可执行
chmod 777 hh.c
要修改某目录下所有的文件属性为可写可读可执行
chmod 777 *.*
把文件夹名称与后缀名用*来代替就可以了。
同理若是要修改所有htm文件的属性
chmod 777 *.htm
2、把目录 /tmp/sco修改为可写可读可执行
chmod 777 /tmp/sco
要修改某目录下所有的文件夹属性为可写可读可执行
chmod 777 *
把文件夹名称用*来代替就可以了
要修改/tmp/sco下所有的文件和文件夹及其子文件夹属性为可写可读可执行
chmod -R 777 /tmp/sco
可写 w=4
可读 r=2
可执行 x=1
777就是拥有全权限。根据需要可以自由组合用户和组的权限
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接