文件基本属性
Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
✅ 在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:
chown (change owner)
: 修改所属用户与组。chmod (change mode)
: 修改用户的权限。
下图中通过chown
命令来授权用户,通过chmod
命令为用户设置可以开门的权限。
1. 使用 ls -l 查看文件
✅ 在 Linux 中,我们可以使用ls –l
命令来显示一个文件的属性以及文件所属的用户和组,如:
ls -l kaicz.txt
✅ 执行以上命令后,输出结果如下:
-rw-r--r-- 1 kaicz developers 1024 Aug 14 12:50 kaicz.txt
✅ 这个输出包含 7 个关键部分,从左到右分别是:
1. 文件类型和权限:-rw-r--r--
- 第 1 个字符表示文件类型(
-
表示普通文件)。 - 后面 9 个字符分为 3 组,分别定义所有者、组和其他用户的权限。
- 每组 3 个字符分别表示可以读(
r
)、可以写(w
)和可以执行(x
)权限。 - 如果没有某个权限,则用
-
表示。
2. 链接数:1
- 显示有多少个文件名指向该文件(硬链接数量)。
3. 文件所有者:kaicz
- 创建该文件的用户账户名
4. 所属组:developers
- 同一个组可以包含多个用户,该组的所有成员会继承组对文件的访问权限。
5. 文件大小:1024
- 以字节为单位的大小,1024 个字节(Bytes)就是 1 KB(千字节)。
6. 最后修改时间:Aug 14 12:50
- 文件内容最后一次被修改的日期和时间,如果文件中途没有被修改过,则现实的是文件创建的日期和时间。
7. 文件名:kaicz.txt
- 文件的实际名称,这里指的是包含扩展名在内的名称。
2. 使用 ll 查看目录
在 Linux 中,ll
命令通常可以作为ls -l
的别名使用(部分发行版默认设置),如:
ll /path/to/directory
✅ 执行以上命令后,输出结果如下:
total 64
dr-xr-xr-x 2 root root 4096 Aug 14 2025 bin
dr-xr-xr-x 4 root root 4096 Aug 10 2025 boot
……
在这个实例中,bin 文件的第一个属性用d
表示。d
在 Linux 中代表该文件是一个目录文件。
✅ 在 Linux 文件权限表示中,第一个字符代表这个文件是目录、文件或链接文件等等:
- 若是
d
则表示为目录,就像文件夹,用来装其他文件的。 - 若是
-
则表示为文件,比如文本文档、图片、视频等。 - 若是
l
则表示为链接文档(link file),可以理解为快捷方式,点它会跳转到另一个文件。 - 若是
b
则表示为装置文件里面的可供储存的接口设备(可随机存取装置),比如硬盘、U盘这样的存储设备。 - 若是
c
则表示为装置文件里面的串行端口设备,比如键盘、鼠标这些需要一个个字符处理的设备。
✅ 在 Linux 文件权限表示中,dr-xr-xr-x
这样的权限字符串可以分为 四个部分,每个部分都有明确的名称和含义:
d r-x r-x r-x
↑ ↑ ↑ ↑
│ │ │ └─ 其他用户(Others)权限
│ │ └─ 所属组(Group)权限
│ └─ 所有者(User/Owner)权限
└─ 文件类型标识
除了上面讲的d
以外,其他的以三个为一组,且均为rwx
的三个参数的组合。其中,r
代表可读(read)、w
代表可写(write)、x
代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号-
而已。
其中,第 1、4、7 位表示读权限,如果用r
字符表示,则有读权限,如果用-
字符表示,则没有读权限;第 2、5、8 位表示写权限,如果用w
字符表示,则有写权限,如果用-
字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用x
字符表示,则有执行权限,如果用-
字符表示,则没有执行权限。
权限管理命令
chgrp:修改文件所属组
chgrp
命令用于更改文件或目录的所属组,需要你对目标文件有适当的权限,或者使用sudo
获取root
权限。
chgrp 新组名 文件名 # 只修改文件所属组
sudo chgrp www-data 文件名 # 需要root权限时
chgrp -R 组名 目录名 # 递归修改目录内所有文件
chown:更改文件所有者(owner),也可以同时更改文件所属组
chown
命令用于修改文件或目录的所有者(owner)和所属组(group),通常需要管理员权限(sudo)才能更改其他用户的文件所有权。
chown 新主人 文件名 # 只修改所有者
chown 新主人:新组 文件名 # 同时修改所有者和组
sudo chown root:root 文件名 # 需要root权限时
chmod:更改文件 9 个属性
chmod
命令用于修改文件或目录的访问权限(读r
、写w
、执行x
),可以控制文件所有者(user)、所属组(group)和其他用户(others)的权限。权限可以用数字(八进制)或符号方式设置。
# 数字方式(推荐)
chmod 755 文件名 # 主人:读写执行(rwx),组和其他:读执行(r-x)
# 符号方式
chmod u+x 文件名 # 给主人添加执行权限
chmod go-w 文件名 # 移除组和其他人的写权限
反馈提交成功
感谢您的反馈,我们将尽快处理您的反馈