linux命令chmod、chown、chgrp详解

这篇博客详细介绍了Linux系统中的文件权限管理,包括使用ls-l命令查看文件权限,理解rwx权限含义,以及如何通过chmod、chown和chgrp命令修改文件或目录的权限和所有者。chmod命令用于改变文件或目录的访问权限,chown用于更改文件所有者,而chgrp用于更改文件所属组。内容深入浅出,适合Linux初学者和管理员参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

权限介绍:Linux系统中的每个文件和目录都有访问许可权限,分为只读,只写和可执行三种。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限。
用户介绍:Linux系统中有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户,文件所有者也就是创建文件或目录的用户。
详细介绍:
1.如何查看目录或者文件的有哪些权限,可用命令:ls -l [目录或者文件名],不写[]中的内容代表不指定,就会把当前目录下的所有目录和文件的权限都展示出来,如下图:
在这里插入图片描述
如需指定某个目录或者文件:如下图:
在这里插入图片描述
2.代表的意思
横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。
– rw- r– r–:对应如下
普通文件 文件所有者 组用户 其他用户
表示意思为:TongWeb7.0.zip是一个普通文件;TongWeb7.0.zip的文件所有者主有读写权限;与TongWeb7.0.zip文件所有者同组的用户只有读权限;其他用户也只有读权限。

确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。接着往下看,下面分别对这些命令加以介绍。

chmod命令

chmod命令格式:chmod [-cfvR] [--help] [--version] mode file
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该文件或目录的所有者(user),g 表示与该文件或目录的所有者属于同一个群组的用户(group),o 表示其他用户(other),a 表示这三者皆是(all)。
+表示增加权限、- 表示取消权限、= 表示设置权限。
r 表示可读权限(read),w 表示可写权限(write),x 表示可执行权限(execute),X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本

范例 :将文件 TongWeb7.0.zip 设为所有人皆可读取 :
chmod ugo+r TongWeb7.0.zip
将文件 TongWeb7.0.zip 设为所有人皆可读取 :
chmod a+r TongWeb7.0.zip
将文件 TongWeb7.0.zip 与 TongWeb7.1.zip 设为该文件拥有者,与其所属同一个群组的用户可写入,但其他用户则不可写入 :
chmod ug+w,o-w TongWeb7.0.zip TongWeb7.1.zip
将 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 TongWeb7.0.zip和 chmod 777 TongWeb7.0.zip效果相同
chmod ug=rwx,o=x TongWeb7.0.zip和 chmod 771 TongWeb7.0.zip效果相同

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

chown

命令格式:chown [选项] 用户或组 文件
参数说明:

user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
-c : 若该档案拥有者确实已经更改,才显示其更改动作
-f : 若该档案拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本

实例:chown -R book TongWeb7.0 表示把目录TongWeb7.0及其目录下的所有文件及子目录的所有者变为用户book。
注意:chown将指定文件的所有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。

chgrp命令

命令格式:chgrp [选项] [组] [文件]
参数:

-c或–changes 效果类似”-v”参数,但仅回报更改的部分。
-f或–quiet或–silent  不显示错误信息。
-h或–no-dereference  只对符号连接的文件作修改,而不更动其他任何相关文件。
-R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
-v或–verbose  显示指令执行过程。
–help  在线帮助。
–reference=<参考文件或目录>;  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
–version  显示版本信息。

实例:chgrp - R book TongWeb7.0 表示改变TongWeb7.0及其子目录下的所有文件的属组为book。
注意:该命令改变指定指定文件所属的用户组。其中[组]可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

Ubuntu 系统的注意注意注意(说三遍),在执行命令前加 sudo,如sudo chmod …

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值