Linux文件权限包括读权限、写权限和可执行权限,分别表示用户是否具备读取、修改和执行文件的权限。文件的用户包括拥有自己的人、拥有自己的组和其他人,可以使用 chmod 命令来修改文件权限,使用 chown 和 chgrp 命令来修改文件的所属用户和所属组。
目录
文件的权限
文件有哪些权限
读权限
读权限(Read),又称为可访问权限,用以表示用户是否具备读取这个文件内容的权限,权限占位符为 r ,如果没有此权限,则使用权限占位符 -
写权限
写权限(Write),又称为可修改权限,用以表示用户是否具备修改此文件内容的权限,权限占位符为 w ,如果没有此权限,则使用权限占位符 -
可执行权限
可执行权限(Execute),用以表示用户是否可以将此文件调入到计算机内存,并执行,权限占位符为 x ,如果没有此权限,则使用权限占位符 -
在文件的角度,系统中有哪些用户?
对于一个文件来说,系统中存在三种类别的人:
1.拥有自己的人(User)。
2.拥有自己的组(Group)。
3.其他人(Other)。
4.root用户
以上的四类用户中,只有root用户是特殊的,他可以对文件为所欲为。
文件权限的组合
每一个文件,对于U、G、O
三种用户类别,都会有rwx
三种权限,在Linux中,每一类用户对于文件权限的顺序是确定的rwx
,如果缺少其中某个权限,则用暂未符-
来表示,r-x
则代表有可读可执行权限,但无写权限。
在整体上,按照User、Group、Others的顺序书写整个文件的权限,如左表所示:rwxr-xr-x
,则其中user的权限是rwx
,group和others的权限都是r-x
。
为了书写和修改简单,权限也可以用八进制数来表示,比如0755
,转换为文件权限字符串之后就是rwxr-xr-x
如何修改文件的权限
Linux提供了chmod命令来修改文件的权限,权限可以分为三类:用户权限、组权限和其他人权限。下面列出了几种修改权限的方式:
-
使用+、-和=来修改文件权限,例如:
# 添加其他人的可执行权限
chmod o+x file.txt
# 移除组的可写权限
chmod g-w file.txt
# 设置用户权限为可读可写可执行,其他人和组的权限不变
chmod u=rwx file.txt
-
使用八进制数来表示权限,例如:
-
r表示为4
-
w表示为2
-
x表示为1
-
因此,rwx可以表示为4+2+1=7,rw-可以表示为4+2=6,r-x可以表示为4+1=5。
使用八进制数来表示权限,可以通过以下命令来修改权限:
# 设置用户权限为可读可写可执行,其他人和组的权限为只读
chmod 764 file.txt
修改文件的所属用户和所属组
在Linux中,要修改文件的所属用户和所属组,可以使用 chown 命令。chown 命令的基本语法如下:
chown [选项] 用户名[:组名] 文件名
其中,用户名是要设置为文件所有者的用户名,组名是要设置为文件所属组的组名。如果没有指定组名,则文件的所属组将设置为用户的主要组。
例如,要将名为 f.txt 的文件所有者更改为名为 royi 的用户,可以使用以下命令:
sudo chown royi f.txt
要同时将文件的所有者和所属组都更改为名为 royi 的用户和名为users的组,可以使用以下命令:
sudo chown royi:users f.txt
您还可以使用 chgrp 命令来更改文件的所属组。chgrp 命令的基本语法如下:
chgrp [选项] 组名 文件名
其中,组名是要设置为文件所属组的组名。
例如,要将名为f.txt的文件所属组更改为名为users的组,可以使用以下命令:
sudo chgrp users f.txt
需要注意的是,chown 和 chgrp 命令都需要 root 或 sudo 权限来运行。