【Linux入门】修改文件属性与权限

2023-11-30 12:56:14 浏览数 (3)

常用命令

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 权限不会发生变化

0 人点赞