文件的属性和权限是 Linux 文件系统管理中的重要概念,通过它可以灵活地控制用户对文件和目录的访问权限。
文件的属性显示了文件的类型、权限、所属用户和组,以及其他文件的相关信息。
ls -l
查看文件属性vnxi@Debian:~$ ls -l
-rw-r--r-- 1 root root 2981 Mar 9 11:58 adduser.conf
-rw-r--r-- 1 root root 44 Mar 9 12:12 adjtime
drwxr-xr-x 2 root root 4096 Mar 13 06:22 alternatives
drwxr-xr-x 2 root root 4096 Mar 9 11:59 apparmor
文件属性说明:
-
表示普通文件。d
表示目录。l
表示符号链接。c
表示字符设备文件。b
表示块设备文件。(rwx)
组成:
r
:读权限。w
:写权限。x
:执行权限。-
:无权限。root root
**:前一个 root
是文件的所有者,后一个 root
是文件所属组。权限的含义:
权限 | 对文件的意义 | 对目录的意义 |
---|---|---|
r |
可以查看文件内容 | 可以列出目录中的内容 |
w |
可以修改文件内容 | 可以创建、删除目录中的文件 |
x |
可以执行文件(如脚本) | 可以进入目录 |
chmod
修改文件权限chmod
命令用于更改用户对文件或目录的权限。
语法:
chmod [-R] xyz 文件或目录
参数说明:
xyz
:权限值,由 r=4
,w=2
,x=1
组成,分别为用户、组、其他用户设置权限。-R
:递归修改,包括子目录和文件。示例:
文件权限为 -rwxrwx---
:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = --- = 0+0+0 = 0
770
。修改权限:
chmod 770 filename
文件权限为 -rw-------
:
owner = rw- = 4+2+0 = 6
group = --- = 0+0+0 = 0
others = --- = 0+0+0 = 0
600
。修改权限:
chmod 600 filename
chgrp
和 chown
修改属组和所有者**chgrp
命令**:更改文件的所属组。 语法:
chgrp [-R] 属组名 文件名
-R
:递归更改子目录和文件的属组。示例:
chgrp developers test.txt
**chown
命令**:更改文件的所有者或同时更改所有者和属组。 语法:
chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
示例:
chown vnxi test.txt
chown vnxi:developers test.txt
假如有文件 test.txt
:
vnxi
:
chown vnxi test.txt
vnxi
:
chown vnxi:vnxi test.txt
chmod 600 test.txt
chmod 660 test.txt
chmod 700 test.txt
chmod 770 test.txt
chmod 777 test.txt
权限符号 | 数字表示 | 说明 |
---|---|---|
-rw------- |
600 |
只有拥有者有读写权限。 |
-rw-r--r-- |
644 |
拥有者有读写权限;属组用户和其他用户只有读权限。 |
-rwx------ |
700 |
只有拥有者有读写和执行权限。 |
-rwxr-xr-x |
755 |
拥有者有读写和执行权限;其他用户有读和执行权限。 |
-rwx--x--x |
711 |
拥有者有读写和执行权限;其他用户只有执行权限。 |
-rw-rw-rw- |
666 |
所有用户有读写权限。 |
-rwxrwxrwx |
777 |
所有用户有读写和执行权限。 |
rwx
)以及所属组权限组成。chmod
修改文件权限,chown
和 chgrp
修改文件的所有者和所属组。