主题
  • 默认模式
  • 浅蓝色模式
  • 淡绿色模式
  • 深夜模式

文件基本属性

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 文件名   # 移除组和其他人的写权限


评论区 0
发表评论