面试题答案
一键面试读权限判断逻辑
- user1(所有者):所有者对文件的权限设置直接决定其对文件的访问能力。如果文件所有者的读权限位被设置(r),则user1可以读取该文件;若未设置(-),则不能读取。
- user2(所属组group1成员):因为user2属于group1,其对文件的读权限取决于文件所属组的权限设置。当所属组的读权限位被设置(r),user2能读取文件;若未设置(-),则无法读取。
- 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)有读权限。
修改权限
- 使用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 文件名
。
- 例如,设置所有者有读写权限(4+2 = 6),所属组有读权限(4),其他用户有读权限(4),命令为
- 符号模式: