Linux系统中charp、chown、chmod命令用法
- charp:改变文件所属群组(要被改变的组名必须要在/etc/group文件内存在才可以,否则就会显示错误)
- chown:改变文件拥有者(要被改变的拥有者必须要在/etc/passwd文件内存在才可以,否则就会显示错误)
- chmod:改变文件的权限
1、charp命令的用法
chgrp [-R] 组名 文件或目录
-R:递归变更,即连同次目录下的所有文件目录都改成新的群组
目前demo目录下的两个文件为root群组
使用chgrp -R mrluo demo命令
可以看出群组改变,注意要被改变的组名必须要在/etc/group文件内存在才可以,否则就会显示错误,mrluo为我的群组名
2、chown命令用法
chown [-R] 账号名称 文件或目录
-R:递归变更,即连同次目录下的所有文件目录都改成新的拥有者
使用 chown -R mrluo demo命令
可以看到上图中的拥有者从root变成mrluo。
现在你已经知道怎么改变文件或目录的组或者拥有者了,那在什么时候使用呢?举个最常用的例子,在复制文件给你之外的其他人时,使用cp指令会将文件的原组和拥有者复制过去,这个时候就可以用到charp和chown命令了。
3、chmod命令用法
chmod是用来改变目录或文件的权限的,权限的设定方法有两种,分别可以用数字或者符号来进行权限变更
数字类型
- r:4
- w:2
- x:1
每种身份(owner/group/other)各自的权限(r/w/x)分数是需要累加的,例如上面的例子是:-rw-r–r–
第一个字符减号-代表这是个文件,应该从第二个字符算起
ls展示信息详见:https://blog.csdn.net/qq_55754838/article/details/128379196
分数为: - owner = rw- = 4+2+0 = 6
- group = r-- = 4+0+0 = 4
- owner = r-- = 4+0+0 = 4
所以该文件的权限数字就是644了
chmod的语法为 :chmod [-R] xyz 文件或目录
-R:递归变更,即连同次目录下的所有文件目录都改成新的权限
xyz:就是上面说的权限数字
上图使用chmod命令将demo目录以及下面的文件改为755
符号类型
大家知道我们有三种身份user、group、others,可以由u、g、o代表三种身份的权限,此外,还有 a ,a则代表all,即全部的意思,读写的权限就变成r、w、x
这里我们用字符类型将上面的权限变回来
chmod -R u=rwx,go=r demo
注意u=rwx,go=r是连在一起的,没有空格
此外,如果不知道原文件的属性,只想给某个文件的每个人添加写入的权限,那么就可以使用加号(+)
chmod a+w a.txt
如果不需要某个权限且不动用其他权限的就可以使用减号(-)
chmod a-x a.txt
删除a.txt文件的执行权限