MST

星途 面试题库

面试题:文件系统中文件读权限在不同用户组下的控制机制

在Linux文件系统中,一个文件具有所有者、所属组以及其他用户的读权限设置。假设存在一个文件,其所有者为user1,所属组为group1,当前系统中有user2属于group1,user3不属于group1。请详细说明user1、user2、user3对该文件读权限的判断逻辑以及如何通过命令行来查看和修改这些权限。
30.2万 热度难度
操作系统文件系统

知识考点

AI 面试

面试题答案

一键面试

读权限判断逻辑

  1. user1(所有者):所有者对文件的权限设置直接决定其对文件的访问能力。如果文件所有者的读权限位被设置(r),则user1可以读取该文件;若未设置(-),则不能读取。
  2. user2(所属组group1成员):因为user2属于group1,其对文件的读权限取决于文件所属组的权限设置。当所属组的读权限位被设置(r),user2能读取文件;若未设置(-),则无法读取。
  3. user3(不属于group1):user3作为其他用户,其读权限由文件其他用户的权限设置决定。若其他用户的读权限位被设置(r),user3可读取文件;若未设置(-),则不能读取。

查看权限

使用ls -l命令查看文件详细信息,其中从左到右第1个字符表示文件类型,接下来3个字符代表所有者权限,再接下来3个字符代表所属组权限,最后3个字符代表其他用户权限。例如,对于文件test.txt,执行ls -l test.txt,输出类似如下内容:

-rw-r--r-- 1 user1 group1 1234 Jan  1 12:00 test.txt

上述输出中,rw-表示所有者user1有读和写权限,r--表示所属组group1成员(如user2)有读权限,最后r--表示其他用户(如user3)有读权限。

修改权限

  1. 使用chmod命令
    • 符号模式
      • 给所有者添加读权限:chmod u+r 文件名
      • 给所属组添加读权限:chmod g+r 文件名
      • 给其他用户添加读权限:chmod o+r 文件名
      • 例如,给文件test.txt的所有者、所属组和其他用户都添加读权限:chmod ugo+r test.txt
    • 数字模式:权限用数字表示,r=4,w=2,x=1 。
      • 例如,设置所有者有读写权限(4+2 = 6),所属组有读权限(4),其他用户有读权限(4),命令为chmod 644 文件名 。若要设置所有者有读写执行权限(4+2+1 = 7),所属组有读执行权限(4+1 = 5),其他用户有读执行权限(4+1 = 5),命令为chmod 755 文件名