# 4. 权限管理

# 4.1 文件属性

image-20201111142918973

- rwx r-x r--

  • 1:指明这是一个什么玩意
    • d:目标
    • -:普通文件
    • l:链接文件(link file)
    • b:块文件,如硬盘
    • c:字符设备,如键盘、鼠标
  • 234:拥有者的权限
    • r:可读 —— 用数字表示为 4(即100)
      • 文件:可以读取查看文件
      • 目录:可以查看目录内容(ls)
    • w:可写 —— 用数字表示为 2(即010)
      • 文件:可以修改文件,但是不一定能删除,删除一个文件的前提条件是对该文件所在的目录有 w 权限,才能删除该文件
      • 目录:可以在目录内创建、修改、重命名目录
    • x:可执行 —— 用数字表示为 1(即001)
      • 文件:可以被执行
      • 目录:可以进入该目录
    • -:没有对应的权限
  • 567:同用户组的用户权限
  • 890:其他用户权限
# 例题: drwxr-xr-- 1 test1 testgroup 5238 June 19 20:25 groups/
① d 表示这是一个目录
② rwx 表示目录的拥有者 test1 可以在本目录中进行任何操作
③ r-x 表示 testgroup 这个用户组可以进入本目录进行工作,但是不能在本目录进行写入操作
④ r-- 表示其他用户只有 r 权限,但是由于没有 x 权限,所有其他用户并不能进入此目录
# 注意:
文件所有者不一定在文件所属用户组的那个组里面

# 4.2 查看文件属性 —— ls -ahl

image-20201111144415905

# 4.3 修改文件所有者 —— chown username filename

将 apple.txt 的所有者改为 hedon

image-20201111144017600

chown hedon apple.txt

image-20201111144110634

这里可以看到文件所有者已经改成 hedon 了,但是文件所属用户组并没有改变,这也就说明了文件所有者不一定就在文件所属用户组的那个组里面。

# 4.4 修改文件所在组 —— chgrp groupname filename

将 apple.txt 文件所属用户组改成 monster

chgrp monster apple.txt

image-20201111144746150

# 4.5 修改文件权限 —— chmod

# [法一] 通过 +、-、= 变更权限

u:所有者;g:所有组;o:其他人;a:所有人

chmod u=rwx,g=rx,o=x filename
chmod o+w filename   #给其他用户加上 w 权限
chmod a-x filename   #去掉所有人的 x 权限

# [法二] 通过数字变更权限

  • r = 4
  • w = 2
  • x = 1
chmod u=rwx,g=rx,o=x filename
# 等价于
chmod 751 filename

# [法三] chown newowner[:newgroup] [-R] filename

chown hedon filename	 				  			   #将 filename 的所有者改为 hedon
chown hedon:hedongroup filename 				 #同时修改 filename 的所有者和所在组
chown hedon:hedongroup -R directoryName  #递归修改directoryName目录下的所有玩意的所有者和所在组
上次更新: 8/28/2022, 11:43:26 PM