linux中的chmod和chown的区别

发布时间 2023-04-18 21:14:30作者: 一先生94

在linux系统中,chmod和chown命令都可以来设置权限,但他们也是不同的;chmod是用来设置文件夹和文件权限的,比如我们系统中的文件不可读写,需要用来设置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 修改文件和文件夹读写执行属性

、把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就是拥有全权限。根据需要可以自由组合用户和组的权限

 

参考自:https://www.modb.pro/db/430536