Linux修改文件属性与权限

2024-07-09 11:51:45 1186

Linux修改文件属性与权限

常用命令

chgrp:修改文件所属用户组

chown:修改文件拥有者

chmod:修改文件权限

修改所属用户组 chgrp

chgrp 命令可以理解为change group的缩写,用于改变文件或目录的用户组。需要注意的是,只有 root 用户和文件或目录的拥有者才能更改其用户组,且要更改的用户组必须实际存在。

命令格式:

chgrp [-R] 用户组 文件或目录
# -R 表示递归处理,对目录下所有子目录及文件进行更改

该命令有更多选项参数,此处只列出常用参数 -R

命令示例:

# 将 test_file.txt 文件用户组更改为 group1
chgrp group1 test_file.txt

#
递归方式将目录 test_dir 及其子目录和文件的用户组更改为 group1
chgrp -R group1 test_dir/

修改文件拥有者 chown

chown 命令可以理解为change owner的缩写,用于改变文件或目录的用户和用户组信息。

命令格式:

chown [-R] [拥有者][:组] 文件或目录
# -R 表示递归处理,对目录下所有子目录及文件同时更改

该命令有更多选项参数,此处只列出常用参数 -R

命令示例:

# 将文件 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,可用数字来代表各个权限,权限数字对照表如下:

r:4
w:2
x:1

每种身份(owner、group、other)各自的三个权限(r、w、x)数字是需要累加的,例如权限为-rwxrwx---的数字则是:

owner = rwx = 4+2+1 =7
group = rwx = 4+2+1 =7
other = --- = 0+0+0= 0

所以可以通过数字770来设置-rwxrwx---权限。

命令格式:

chmod [-R] 权限数字 文件或目录
# -R 表示递归处理,对目录下所有子目录及文件同时更改
# 权限数字 为所需权限累加后的数值

该命令有更多选项参数,此处只列出常用参数 -R

命令示例:

# 将文件 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 操作符号 :+(加入)-(移除)=(设置)

命令格式:

chmod [-R] 符号 文件或目录
# -R 表示递归处理,将目录下的所有子目录和文件都修改为指定权限
# 符号 表示权限简写组合

该命令有更多选项参数,此处只列出常用参数 -R

命令示例:

# 更改文件 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 权限不会发生变化

 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: