Linux知识点 – Linux权限
文章目录
- Linux知识点 -- Linux权限
- 一、shell命令及运行原理
- 二、Linux权限
- 1.概念
- 2.文件类型和访问权限
- 3.更改文件的权限
- 4.没有权限的情况
- 5.更改文件的拥有者和所属组
- 6.添加用户到信任列表
- 7.umask权限掩码
- 8.粘滞位
一、shell命令及运行原理
Linux严格意义上说是一个操作系统,我们称之为核心(kernel),但我们一般用户,不能直接使用kernel,而是通过kernel的外壳程序,也就是shell,来与kernel沟通;
从技术角度,shell最简单的定义:命令行解释器
(1)将使用者的命令翻译给核心(kernel)处理;
(2)同时,将核心的处理结果翻译给使用者;
外壳程序的意义:
(1)是用户和操作系统交互中间的软件层;
(2)可以在一定程度起到保护操作系统的作用;
二、Linux权限
1.概念
Linux下有两种用户:超级用户(root)、普通用户;
超级用户(root):只有一个,可以在linux系统下做任何事,不受限制;
普通用户:在linuxia做有限的事,要受权限的约束;
超级用户的命令提示符是#, 普通用户的命令提示符是$;
用户切换:
切换成root:su -
从root切换回刚才的用户:CTRL + D
从root切换成其他用户:su 用户名
root切换为普通用户不需要密码;
普通用户切换普通用户需要密码;
添加用户: adduser 用户名
需切换至root用户;
[root@VM-8-2-centos ~]# add user
-bash: add: command not found
[root@VM-8-2-centos ~]# adduser tmp
[root@VM-8-2-centos ~]# passwd tmp
Changing password for user tmp.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
passwd是更改用户密码;
2.文件类型和访问权限
文件类型:
访问权限:
r:读;
w:写;
x:执行;
(1)ll指令显示的第一个字符,表明该文件的文件类型;
(2)文件的访问者分为三类:
拥有者:文件属于谁
所属组:文件属于哪一个组
other:不属于拥有者和所属组的访问者,就是other
ll指令信息会标明文件的拥有者和所属组;
(3)ll指令显示的文件类型后面的9个字符,分别表明三类访问者对该文件的权限
rwx代表读写执行权限都有,rw-代表只能读写,不可以执行(-代表访问者没有该权限);
3.更改文件的权限
(1)更改拥有者权限
chmod u+增加的权限 文件名
u是文件拥有者,+是增加权限;
删去权限:
(2)更改所属组权限
g是所属组;
(3)更改other权限
o是other;
(4)更改所有人权限
a表示所有人;
(5)多人多权限
中间用’ , '隔开
(6)八进制方案改权限
一个人的权限可以使用1个3位二进制数表示,例如:
111 对应 rwx,100 对应 r - -;
将这个三位二进制数看作八进制的数,例如:
111是7,100是4;
则三类用户权限就可以使用三个八进制数来表示:
777 表示 rwxrwxrwx;
4.没有权限的情况
拥有者没有读权限,cat命令会被拒绝;
注:权限只会认证一次,用户是拥有者就认证拥有者权限,即使用户同时是所属组,也不会重新认证;
5.更改文件的拥有者和所属组
更改所有者:需提升权限,切换至root用户;
chown是更改拥有者
从上图看出,普通用户无法更改更改文件拥有者;
只有切换成root用户才能更改;
更改所属组:同样需要切换至root用户
chgrp是更改所属组
若普通用户想更改文件拥有者和所属组,需要使sodu指令;
sudo指令需要普通用户提升权限,需要该用户在信任列表里面,才可以执行sudo,添加用户到信任列表需要root身份;
6.添加用户到信任列表
第一步:
vim /etc/sudoers
打开sudoers文件;
第二步
在文件中找到这部分文本,然后将需要提升权限的用户名按照格式输入进去;
第三步
强制保存和退出;
这样操作下来,普通用户就有了sudo权限,就可以执行sudo指令了;
7.umask权限掩码
[lmx@VM-8-2-centos lesson07-20]$ umask
0002
凡是在umask中出现的权限,都不应该在最终权限中出现;
umask权限只看后三位;
最终权限 = 起始权限 & (~umask)
设置umask
[lmx@VM-8-2-centos lesson07-20]$ umask 0777
[lmx@VM-8-2-centos lesson07-20]$ umask
0777
8.粘滞位
文件的删除不是文件的本身属性,而是文件所在目录的属性;
在公共的目录下创建文件,只能阻止别人看文件,不能阻止别人删除,是由目录写权限决定的;
粘滞位
粘滞位只能给目录设置,一般是哪个用户设置,哪个用户才能取消;
所有用户都是在一个共同的路径下,对该目录具有读写执行权限;
(1)当多个用户共享一个目录,需要在该目录下进行读写,创建删除文件;
(2)但是只能自己删除自己的,不能删除别人的;
chmod +t 目录 就是给目标目录加粘滞位;
在该目录下,只能自己删除自己的文件,无法删除其他人的文件;