Linux权限的概念

目录

认识Linux下用户的分类

root与普通用户的差别

这两个用户之间如何切换

当前是普通用户

su

su -

当前是root

su+普通用户名

sudo(命令集权,以root身份执行指令)

什么叫做权限

1.权限认证的是身份(权限和“人”有关)

与root和普通用户的关系

2.权限也和事物的“属性”有关

文件类型

Linux下后缀没有意义

Linux中如何看待后缀:看用户需求

没有权限会有什么现象

 文件拥有者

other

普通用户

root

我们将所有权限都修改为-

拥有者

other

 root

 我们可以看到拥有者和other都无法进行读写操作,但是root依旧不受影响

权限的修改问题

能够更改权限的只有两种人

chmod 修改权限(+加权限,-减权限)

​编辑

使用8进制方案进行修改权限(111)

拥有者和所属组修改

修改other不需要单独提供指令

chown修改拥有者

charp 修改所属组

 同时修改拥有者和所属组

补充一点

关于权限面试的3个问题

问题1:为什么我们创建文件的默认权限是我们所看到的样子?

 umask 权限掩码

最终权限=起始权限&(~umask)  

 rm * -rf 删除全部文件

问题2:目录权限

目录文件3个权限选项的意义

问题3:粘滞位(给目录文件设置)

2.设置粘滞位

再次见证root的强大

自带的共享目录文件


认识Linux下用户的分类

root:超级用户 类似Windows中管理员的身份

普通用户

adduser 添加用户(第一节课最后)

root与普通用户的差别

root基本不受权限的约束

普通用户是受权限约束的

这两个用户之间如何切换

Linux中所有的用户,都有有密码,无论是root还是其他,即便是多个普通用户,也都要设置密码

当前是普通用户

su

后面什么都不跟,那么就是root密码(2023.5.13 .  11minute)pwd 路径还是先前普通用户的路径下

只是身份变换

su -

也是切换成root用户  pwd1路径发生变化,变到了root下  

相当于重新登录

普通用户想切换成其它普通用户,需要输入其它普通用户的密码,输入自己的和root密码都没用

 ctrl+d

exit

上面两个都可以退回到普通用户

当前是root

su+普通用户名

直接切换,不需要输入密码,超级用户,不受权限约束

退出方式相同

ctrl+d

exit

sudo(命令集权,以root身份执行指令)

如果我们想暂时的对一条命令进行提权 sudo command,输入的是当前普通用户的密码

但是目前我们用adduser新建的用户,没用办法执行sudo,除非未来将普通用户,添加到系统的信任白名单里面

 你不在  /etc/sudoers

什么叫做权限

一件事情是否允许被你做

1.权限认证的是身份(权限和“人”有关)

比如张三是校长,坐在校长办公室

因为他是校长,所以可以坐在校长办公室

而不是因为他是张三,

人+身份角色

角色,权限身份()

拥有者:

所属组:同一组内的人可以共享某些资源

其他人:

与root和普通用户的关系

一个是具体的人,任何一个人都可以扮演某个角色

一个是具体的角色

2.权限也和事物的“属性”有关

文件类型

以d开头 块设备文件——磁盘文件

c开头 字符设备文件

[Yechenchen@VM-4-9-centos ~]$ ls /dev/tty*
/dev/tty    /dev/tty19  /dev/tty3   /dev/tty40  /dev/tty51  /dev/tty62
/dev/tty0   /dev/tty2   /dev/tty30  /dev/tty41  /dev/tty52  /dev/tty63
/dev/tty1   /dev/tty20  /dev/tty31  /dev/tty42  /dev/tty53  /dev/tty7
/dev/tty10  /dev/tty21  /dev/tty32  /dev/tty43  /dev/tty54  /dev/tty8
/dev/tty11  /dev/tty22  /dev/tty33  /dev/tty44  /dev/tty55  /dev/tty9
/dev/tty12  /dev/tty23  /dev/tty34  /dev/tty45  /dev/tty56  /dev/ttyS0
/dev/tty13  /dev/tty24  /dev/tty35  /dev/tty46  /dev/tty57  /dev/ttyS1
/dev/tty14  /dev/tty25  /dev/tty36  /dev/tty47  /dev/tty58  /dev/ttyS2
/dev/tty15  /dev/tty26  /dev/tty37  /dev/tty48  /dev/tty59  /dev/ttyS3
/dev/tty16  /dev/tty27  /dev/tty38  /dev/tty49  /dev/tty6
/dev/tty17  /dev/tty28  /dev/tty39  /dev/tty5   /dev/tty60
/dev/tty18  /dev/tty29  /dev/tty4   /dev/tty50  /dev/tty61
[Yechenchen@VM-4-9-centos ~]$ ls /dev/tty* -l
crw-rw-rw- 1 root tty     5,  0 May 20 16:13 /dev/tty
crw--w---- 1 root tty     4,  0 Apr 14 21:51 /dev/tty0
crw--w---- 1 root tty     4,  1 Apr 14 21:51 /dev/tty1
crw--w---- 1 root tty     4, 10 Apr 14 21:51 /dev/tty10
crw--w---- 1 root tty     4, 11 Apr 14 21:51 /dev/tty11
crw--w---- 1 root tty     4, 12 Apr 14 21:51 /dev/tty12
crw--w---- 1 root tty     4, 13 Apr 14 21:51 /dev/tty13
crw--w---- 1 root tty     4, 14 Apr 14 21:51 /dev/tty14
crw--w---- 1 root tty     4, 15 Apr 14 21:51 /dev/tty15
crw--w---- 1 root tty     4, 16 Apr 14 21:51 /dev/tty16
crw--w---- 1 root tty     4, 17 Apr 14 21:51 /dev/tty17
crw--w---- 1 root tty     4, 18 Apr 14 21:51 /dev/tty18
crw--w---- 1 root tty     4, 19 Apr 14 21:51 /dev/tty19
crw--w---- 1 root tty     4,  2 Apr 14 21:51 /dev/tty2
crw--w---- 1 root tty     4, 20 Apr 14 21:51 /dev/tty20
crw--w---- 1 root tty     4, 21 Apr 14 21:51 /dev/tty21
crw--w---- 1 root tty     4, 22 Apr 14 21:51 /dev/tty22
crw--w---- 1 root tty     4, 23 Apr 14 21:51 /dev/tty23
crw--w---- 1 root tty     4, 24 Apr 14 21:51 /dev/tty24
crw--w---- 1 root tty     4, 25 Apr 14 21:51 /dev/tty25
crw--w---- 1 root tty     4, 26 Apr 14 21:51 /dev/tty26
crw--w---- 1 root tty     4, 27 Apr 14 21:51 /dev/tty27
crw--w---- 1 root tty     4, 28 Apr 14 21:51 /dev/tty28
crw--w---- 1 root tty     4, 29 Apr 14 21:51 /dev/tty29
crw--w---- 1 root tty     4,  3 Apr 14 21:51 /dev/tty3
crw--w---- 1 root tty     4, 30 Apr 14 21:51 /dev/tty30
crw--w---- 1 root tty     4, 31 Apr 14 21:51 /dev/tty31
crw--w---- 1 root tty     4, 32 Apr 14 21:51 /dev/tty32
crw--w---- 1 root tty     4, 33 Apr 14 21:51 /dev/tty33
crw--w---- 1 root tty     4, 34 Apr 14 21:51 /dev/tty34
crw--w---- 1 root tty     4, 35 Apr 14 21:51 /dev/tty35
crw--w---- 1 root tty     4, 36 Apr 14 21:51 /dev/tty36
crw--w---- 1 root tty     4, 37 Apr 14 21:51 /dev/tty37
crw--w---- 1 root tty     4, 38 Apr 14 21:51 /dev/tty38
crw--w---- 1 root tty     4, 39 Apr 14 21:51 /dev/tty39
crw--w---- 1 root tty     4,  4 Apr 14 21:51 /dev/tty4
crw--w---- 1 root tty     4, 40 Apr 14 21:51 /dev/tty40
crw--w---- 1 root tty     4, 41 Apr 14 21:51 /dev/tty41
crw--w---- 1 root tty     4, 42 Apr 14 21:51 /dev/tty42
crw--w---- 1 root tty     4, 43 Apr 14 21:51 /dev/tty43
crw--w---- 1 root tty     4, 44 Apr 14 21:51 /dev/tty44
crw--w---- 1 root tty     4, 45 Apr 14 21:51 /dev/tty45
crw--w---- 1 root tty     4, 46 Apr 14 21:51 /dev/tty46
crw--w---- 1 root tty     4, 47 Apr 14 21:51 /dev/tty47
crw--w---- 1 root tty     4, 48 Apr 14 21:51 /dev/tty48
crw--w---- 1 root tty     4, 49 Apr 14 21:51 /dev/tty49
crw--w---- 1 root tty     4,  5 Apr 14 21:51 /dev/tty5
crw--w---- 1 root tty     4, 50 Apr 14 21:51 /dev/tty50
crw--w---- 1 root tty     4, 51 Apr 14 21:51 /dev/tty51
crw--w---- 1 root tty     4, 52 Apr 14 21:51 /dev/tty52
crw--w---- 1 root tty     4, 53 Apr 14 21:51 /dev/tty53
crw--w---- 1 root tty     4, 54 Apr 14 21:51 /dev/tty54
crw--w---- 1 root tty     4, 55 Apr 14 21:51 /dev/tty55
crw--w---- 1 root tty     4, 56 Apr 14 21:51 /dev/tty56
crw--w---- 1 root tty     4, 57 Apr 14 21:51 /dev/tty57
crw--w---- 1 root tty     4, 58 Apr 14 21:51 /dev/tty58
crw--w---- 1 root tty     4, 59 Apr 14 21:51 /dev/tty59
crw--w---- 1 root tty     4,  6 Apr 14 21:51 /dev/tty6
crw--w---- 1 root tty     4, 60 Apr 14 21:51 /dev/tty60
crw--w---- 1 root tty     4, 61 Apr 14 21:51 /dev/tty61
crw--w---- 1 root tty     4, 62 Apr 14 21:51 /dev/tty62
crw--w---- 1 root tty     4, 63 Apr 14 21:51 /dev/tty63
crw--w---- 1 root tty     4,  7 Apr 14 21:51 /dev/tty7
crw--w---- 1 root tty     4,  8 Apr 14 21:51 /dev/tty8
crw--w---- 1 root tty     4,  9 Apr 14 21:51 /dev/tty9
crw--w---- 1 root tty     4, 64 Apr 14 21:51 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Apr 14 21:51 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 Apr 14 21:51 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 Apr 14 21:51 /dev/ttyS3

p开头 管道文件,通常用于通信设备

Linux下后缀没有意义

那么这个为什么修改后就无法编译

 gcc是一款编译器软件,Linux不需要,不代表其它Linux系统上运行的其它软件不需要后缀

Linux中如何看待后缀:看用户需求

没有权限会有什么现象

 文件类型,权限,第一个whb是拥有者,第二个whb是所属组名(group),16424文件大小,后面的日期是最近修改时间,最后的是文件名

至于other太多了,所以不需要写到文件属性里

权限字符3位为一组

 文件拥有者

other

普通用户

再来看普通用户,并且这个普通用户即不是拥有者,也不是所属组成员,因此它应该可读但不可写,

permission 权限 denied拒绝,跟我们看到的一样可读但不可写

root

再来看root,它不是拥有者,也不是所属组,那么它属于other,因此它应该可读但不可写,

 root账号跟我们看到的不太一样,既可读也可写

因此,可以验证root1是不受权限约束的

我们将所有权限都修改为-

拥有者

other

 root

 我们可以看到拥有者和other都无法进行读写操作,但是root依旧不受影响

权限的修改问题

能够更改权限的只有两种人

1.文件拥有者

2.root

chmod 修改权限(+加权限,-减权限)

u 拥有者user

g 所属组group

o other

a 代表所有人all

在两者之间加个,逗号处理多个对象

使用8进制方案进行修改权限(111)

拥有者和所属组修改

修改other不需要单独提供指令

给东西给别人也需要证得别人的同意:普通用户想把文件拥有者转让给别人,需要别人允许

但是root可以强行更改

这里已经将我们从拥有者变成了所属组

chown修改拥有者

charp 修改所属组

在这里我从所属组变成了other

 同时修改拥有者和所属组

补充一点

在进行角色认证时,只能选择一个角色进行认证

在这里whb既是拥有者,也是所属组,但是在这里只看拥有者权限,不会看所属组权限

 我们将文件拥有者的身份去掉后,才会看所属组的权限

优先确认你是否是拥有者

关于权限面试的3个问题

问题1:为什么我们创建文件的默认权限是我们所看到的样子?

 umask 权限掩码

限定你创建文件时的起始权限

umask一般默认为0002,第一位0不需要看

 

那么它是不是二进制减法?

最终权限=起始权限&(~umask)  

~按位取反

 rm * -rf 删除全部文件

[Yechenchen@VM-4-9-centos class_108_1]$ ll
total 36
-rw-rw-r-- 1 Yechenchen Yechenchen   18 May 16 10:40 big.txt
drwxrwxr-x 3 Yechenchen Yechenchen 4096 May 18 16:16 d1
drwxrwxr-x 3 Yechenchen Yechenchen 4096 May  2 17:16 d1_backup
-rw-rw-r-- 1 Yechenchen Yechenchen  177 May 18 16:09 d1.zip
drwxrwxr-x 3 Yechenchen Yechenchen 4096 May 18 15:16 d2
-rw-rw-r-- 1 Yechenchen Yechenchen    0 May 18 16:18 long.txt
-rw-rw-r-- 1 Yechenchen Yechenchen   12 May  2 17:16 mytest_backup.txt
-rw-rw-r-- 1 Yechenchen Yechenchen   12 May  2 17:16 mytest.txt
drwxrwxr-x 3 Yechenchen Yechenchen 4096 May 18 17:02 reason
-rw-rw-r-- 1 Yechenchen Yechenchen   12 May  2 17:16 test_backup.txt
[Yechenchen@VM-4-9-centos class_108_1]$ rm * -rf
[Yechenchen@VM-4-9-centos class_108_1]$ ll
total 0

目录权限

目录文件3个权限选项的意义

 

-wx 没有读权限时,可以进入到目录文件中,可以修改目录内容,但看不到目录文件中的内容

 rw- 没有可执行权限,不允许你进入目录,但是你还是能够看到目录里面的内容

 普通文件之所以是666,是因为普通文件不需要可执行

目录文件之所以是777,是因为如果没有x甚至无法进入这个目录文件,没有意义

粘滞位(给目录文件设置)

只有root能在/(根目录)下建立文件

创建了一个shared目录文件,修改初始权限为777

在同一个共享目录文件下

文件拥有者限定了所属组和other的权限,如下所示other不能读,也不能写

 但是它却可以删除我们创建的文件

为什么会是这样呢?

因为一个文件是否能被删除不是这个文件本身能够决定的,是由这个文件所处的目录文件的权限设置决定的

我们能通过什么方法避免别人把我们的文件删掉?

1.去掉该共享目录文件的w权限,其实可以让别人无法删除我们的文件,但是我们自己也无法修改,创建文件

2.设置粘滞位

 

限制彼此之间的互删

chmod o+t shared

 

再次见证root的强大

你不让别人读,也不让别人写,但是,抱歉,我是root,我不仅能读能写,还能把你在拥有粘滞位的目录文件里写的文件给删了

 

自带的共享目录文件

其实在Linux系统中,你不需要建立共享目录,它自带了一个共享目录、

tmp

[Yechenchen@VM-4-9-centos /]$ ls -l /
total 72
lrwxrwxrwx.   1 root root     7 Mar  7  2019 bin -> usr/bin
dr-xr-xr-x.   5 root root  4096 Apr 14 22:24 boot
drwxr-xr-x    2 root root  4096 Nov  5  2019 data
drwxr-xr-x   19 root root  3040 Apr 14 21:52 dev
drwxr-xr-x. 100 root root 12288 Apr 14 22:24 etc
drwxr-xr-x.   5 root root  4096 Apr 14 22:05 home
lrwxrwxrwx.   1 root root     7 Mar  7  2019 lib -> usr/lib
lrwxrwxrwx.   1 root root     9 Mar  7  2019 lib64 -> usr/lib64
drwx------.   2 root root 16384 Mar  7  2019 lost+found
drwxr-xr-x.   2 root root  4096 Apr 11  2018 media
drwxr-xr-x.   2 root root  4096 Apr 11  2018 mnt
drwxr-xr-x.   4 root root  4096 Apr 14 21:52 opt
dr-xr-xr-x  119 root root     0 Apr 14 21:51 proc
dr-xr-x---.   7 root root  4096 Apr 20 19:38 root
drwxr-xr-x   31 root root  1080 May 11 02:42 run
lrwxrwxrwx.   1 root root     8 Mar  7  2019 sbin -> usr/sbin
drwxr-xr-x.   2 root root  4096 Apr 11  2018 srv
dr-xr-xr-x   13 root root     0 May 13 17:50 sys
drwxrwxrwt.   8 root root  4096 May 21 16:52 tmp
drwxr-xr-x.  14 root root  4096 Jan  8  2021 usr
drwxr-xr-x.  20 root root  4096 Jan  8  2021 var

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值