文章目录
前言:
本章将学习
Linux
中的用户分类、认识Linux
权限相关知识,学会如何查看权限与修改权限、认识粘滞位等等。
一.认识Linux权限
1.用户分类
Linux
下有两种用户:
超级用户(
root
):可以在linux
系统下做任何事情,不受限制
普通用户:在linux
下做有限的事情。
其中,超级用户只能有一个,而普通用户可以有很多个。
su
指令:
- 语法:
su
+ [用户名字] (su root
此时root
可以省略);- 功能:用来切换用户身份;(例如,有些时候,作为普通用户没有权限做某些事,可以临时切换为root身份)
2.认识Linux权限
当我们用 ll
(等于ls -l
)显示文件的详细信息时:
我们并不知道红色方框中的内容代表什么意思,但是有些能大概猜出来。例如,7
表示的是文件名;6
代表的是文件创建时间;5
代表文件的大小(单位:字节)。
至于其他的内容我们并不清楚,接下来的内容就是认识它们。
(1)文件访问者的分类
当我们要访问某个文件时,我们的身份又有了重新的划分:
文件和文件目录的所有者:
u---User
文件和文件目录的所有者所在的组的用户:g---Group
其它用户:o---Others
对于不同身份的文件访问者,都有各自的权限;
(2)文件类型和访问权限
我们之前看到的第 1 个红框中,有这些符号:
其中第一列代表的是文件类型,其余的代表访问权限。
(a)
文件类型
Linux
下的文件类型主要有:
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
(b)
访问权限
除了第一列,剩下得每 3
个为一组,分为三组。
第一组表示文件和文件目录的所有者
(user)
的权限
第二组表示文件和文件目录的所有者所在的组的用户(group)
的权限
第三组表示其他用户(other)
的权限。
3.文件权值的表示方法
(a)
字符表示方法
(b)
8进制数值表示方法
4.目录的权限
- 可执行权限
x
:如果目录没有可执行权限,则无法cd
到目录中- 可读权限
r
:如果目录没有可读权限, 则无法用ls
等命令查看目录中的文件内容- 可写权限
w
:如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件。
根据目录的权值,我们发现,在一个共享目录里,只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限,这就引出了问题:
- 在共享目录里,怎么做才能使我的文件不被其他人删除掉?
答案是:给共享目录添加粘滞位。
粘滞位添加方法:
chmod +t 目标目录
当一个目录被设置为"粘滞位",则该目录下的文件只能由
- 超级管理员删除
- 该文件的所有者删除
。
二.Linux权限管理
1.chmod指令
语法:
chmod
[选项] 目标文件
功能:设置文件的访问权限
注意:只有文件的拥有者和root
才可以改变文件的权限。
示例:
-R :递归修改目录文件的权限
chmod
指令的不同格式:
用户表示符+/-
权限字符
+:向权限范围增加权限代号所表示的权限;
-:向权限范围取消权限代号所表示的权限;
=:向权限范围赋予权限代号所表示的权限;
用户符号:
u:拥有者
g:拥有者同组用户
o:其它用户
a:所有用户
//直接修改对应分组
chmod u+r test.txt
chmod u-w test.txt
chmod u+r,u+w,o+x test.txt
chmod a+r test.txt
chmod a-w test.txt
//按权值的8进制格式修改
chmod 000 test.txt
chmod 777 test.txt
chmod 667 test.txt
2.chown指令
语法:
chown
[选项]username
目标文件
功能:修改文件的拥有者
示例:
-R :递归修改目录文件的拥有者
chown root test.txt
chown -R hxy mydir
3.chgrp指令
语法:
chgrp
[选项] 用户所属组名 目标文件
功能:修改文件或目录的所属组;
示例:
-R :递归修改目录文件的所属组
chgrp root test.txt
chgrp -R hxy mydir
4.权限掩码与umask指令
文件的权限生成其实是有一个过程的,我们最终所看到的权限就是默认权限也叫最终权限,它的生成经过这样的过程:
- 最终权限 = 起始权限 & (~
umask
) (umask
为权限掩码) - 起始权限:系统设定的,及文件一出生系统认为应该带有的权限。普通文件:666;目录文件:777。
- 权限掩码:三位八进制数字,用来控制最终权限的生成。
umask
指令
语法:
umask
权限值
功能:查看或修改文件掩码;
示例:
本文到此结束,码文不易,还请多多支持哦!