常用命令
chgrp:修改文件所属用户组
chown:修改文件拥有者
chmod:修改文件权限
如需了解用户与权限的相关知识,可参考【Linux入门】了解用户、用户组及文件权限
修改所属用户组 chgrp
chgrp 命令可以理解为change group的缩写,用于改变文件或目录的用户组。需要注意的是,只有 root 用户和文件或目录的拥有者才能更改其用户组,且要更改的用户组必须实际存在。
命令格式:
代码语言:javascript复制chgrp [-R] 用户组 文件或目录
# -R 表示递归处理,对目录下所有子目录及文件进行更改
该命令有更多选项参数,此处只列出常用参数 -R
命令示例:
代码语言:javascript复制# 将 test_file.txt 文件用户组更改为 group1
chgrp group1 test_file.txt
# 递归方式将目录 test_dir 及其子目录和文件的用户组更改为 group1
chgrp -R group1 test_dir/
修改文件拥有者 chown
chown 命令可以理解为change owner的缩写,用于改变文件或目录的用户和用户组信息。
命令格式:
代码语言:javascript复制chown [-R] [拥有者][:组] 文件或目录
# -R 表示递归处理,对目录下所有子目录及文件同时更改
该命令有更多选项参数,此处只列出常用参数 -R
命令示例:
代码语言:javascript复制# 将文件 test_file.txt 拥有者更改为 test1
chown test1 test_file.txt
# 递归方式将目录 test_dir 及其子目录和文件的拥有者和用户组分别更改为 test1、group1
chown -R test1:group1 test_dir/
修改权限 chmod
chmod 命令用于改变文件或目录的权限,修改权限可以使用2种方式进行,分别为数字类型、字符类型。
1、数字类型修改文件权限
在Linux系统中,对应的权限字符类似与 -rwxrwxrwx,可用数字来代表各个权限,权限数字对照表如下:
代码语言:javascript复制r:4
w:2
x:1
每种身份(owner、group、other)各自的三个权限(r、w、x)数字是需要累加的,例如权限为-rwxrwx---的数字则是:
代码语言:javascript复制owner = rwx = 4 2 1 =7
group = rwx = 4 2 1 =7
other = --- = 0 0 0= 0
所以可以通过数字770来设置-rwxrwx---权限。
命令格式:
代码语言:javascript复制chmod [-R] 权限数字 文件或目录
# -R 表示递归处理,对目录下所有子目录及文件同时更改
# 权限数字 为所需权限累加后的数值
该命令有更多选项参数,此处只列出常用参数 -R
命令示例:
代码语言:javascript复制# 将文件 test_file.txt 权限置为770,即rwxrwx---
chmod 770 test_file.txt
# 递归方式将目录 test_dir 及其子目录和文件的权限更改为770,即rwxrwx---
chown -R 770 test_dir/
2、符号类型修改文件权限
Linux系统中的身份、权限可以进行简写,配合操作符号,即可完成权限设置。
三种身份:user、group、other可以对应为u、g、o来代替,a则代表all即全部身份 具体权限:可以写成 r、w、x 操作符号 : (加入)-(移除)=(设置)
命令格式:
代码语言:javascript复制chmod [-R] 符号 文件或目录
# -R 表示递归处理,将目录下的所有子目录和文件都修改为指定权限
# 符号 表示权限简写组合
该命令有更多选项参数,此处只列出常用参数 -R
命令示例:
代码语言:javascript复制# 更改文件 test_file.txt 的权限,将user设置为rwx,group、other设置为rx
chmod u=rwx,go=rx test_file.txt
# 更改文件 test_file.txt 的权限,加入 w 权限,rx权限不变
chmod a w test_file.txt
# 更改文件 test_file.txt 的权限,移除 w 权限,rx权限不变
chmod a-x test_file.txt
# 递归方式更改目录 test_dir 的权限,移除 w 权限,rx权限不变
chmod -R a-x test_dir/
与-状态下,只要没有指定的项目,则该权限不会被改变
举例说明,对 test_file.txt 文件进行 a w 操作,只会增加 w 权限,至于r x 权限不会发生变化