# 4. 权限管理
# 4.1 文件属性
- rwx r-x r--
- 1:指明这是一个什么玩意
- d:目标
- -:普通文件
- l:链接文件(link file)
- b:块文件,如硬盘
- c:字符设备,如键盘、鼠标
- 234:拥有者的权限
- r:可读 —— 用数字表示为 4(即100)
- 文件:可以读取查看文件
- 目录:可以查看目录内容(ls)
- w:可写 —— 用数字表示为 2(即010)
- 文件:可以修改文件,但是不一定能删除,删除一个文件的前提条件是对该文件所在的目录有 w 权限,才能删除该文件
- 目录:可以在目录内创建、修改、重命名目录
- x:可执行 —— 用数字表示为 1(即001)
- 文件:可以被执行
- 目录:可以进入该目录
- -:没有对应的权限
- r:可读 —— 用数字表示为 4(即100)
- 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
# 4.3 修改文件所有者 —— chown username filename
将 apple.txt 的所有者改为 hedon
chown hedon apple.txt
这里可以看到文件所有者已经改成 hedon 了,但是文件所属用户组并没有改变,这也就说明了文件所有者不一定就在文件所属用户组的那个组里面。
# 4.4 修改文件所在组 —— chgrp groupname filename
将 apple.txt 文件所属用户组改成 monster
chgrp monster apple.txt
# 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目录下的所有玩意的所有者和所在组