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

吾爱主题 阅读:143 2024-04-05 15:04:39 评论:0

在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/*

代表设置上述文件夹下所有文件可读写,也可以这样。

?
1 2 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的这个用户所有

?
1 chown codetc hh.c

这样就把hh.c的用户访问权限应用到codetc作为所有者

2、将目录 /tmp/sco 这个目录的所有者和组改为codetc和组net

?
1 chown -R codetc:net /tmp/sco

chmod 修改文件和文件夹读写执行属性

1、把hh.c文件修改为可写可读可执行

?
1 chmod 777 hh.c

要修改某目录下所有的文件属性为可写可读可执行

?
1 chmod 777 *.*

把文件夹名称与后缀名用*来代替就可以了。

同理若是要修改所有htm文件的属性

?
1 chmod 777 *.htm

2、把目录 /tmp/sco修改为可写可读可执行

?
1 chmod 777 /tmp/sco

要修改某目录下所有的文件夹属性为可写可读可执行

?
1 chmod 777 *

把文件夹名称用*来代替就可以了

要修改/tmp/sco下所有的文件和文件夹及其子文件夹属性为可写可读可执行

?
1 chmod -R 777 /tmp/sco

可写 w=4

可读 r=2

可执行 x=1

777就是拥有全权限。根据需要可以自由组合用户和组的权限

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:http://www.codetc.com/article-274-1.html

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容