文件的属性和权限是 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 = 7group = rwx = 4+2+1 = 7others = --- = 0+0+0 = 0770。修改权限:
chmod 770 filename
文件权限为 -rw-------:
owner = rw- = 4+2+0 = 6group = --- = 0+0+0 = 0others = --- = 0+0+0 = 0600。修改权限:
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 修改文件的所有者和所属组。