Linux-权限

1. 认识Linux下用户的分类

		root
		普通用户
1.1用户切换

普通用户 转 root

	su  //当前路径切换root
	su - 	 //重新登陆到/root

退出 crtl + d / exit

root 转 普通用户 不需要输入密码

	su 用户名

退出 ctrl + d

1. 2 指令暂时提权
sudo command

目前我们用adduser新建的用户,没有颁发执行sudo,系统不信任你。除非未来将普通用户,添加到系统的信任白名单里面
你不在 /etc/sudoers

2. 什么叫做权限

一件事情是否允许被你做

  1. 权限认证的是身份(权限和“人”有关) 人+身份角色
  2. 权限也和事物的"属性"有关
2.1. 文件属性

在这里插入图片描述
文件的类型:Linux系统中文件名后缀没有直接的意义。(当然,不代表不用)
gcc是一款编译器,软件不代表其他Linux系统上运行的其他软件不需要后缀。
Linux中如何看待后缀:看用户需求

文件的类型

- : 普通文件 文本,可执行程序,库基本都属于普通文件
d : 目录文件

b : 块设备文件  磁盘文件
c : 字符设备文件 键盘,显示器文件等
p : 管道文件 用来进行通信的

文件权限属性

在这里插入图片描述

角色和具体的人(用户)是什么关系呢?

在这里插入图片描述

人(用户)可以扮演不同的角色,是一种互相补充的关系

在这里插入图片描述
人(角色):拥有者,所属组,other
属性:读,写,可执行
两者结合–>权限

权限

在这里插入图片描述
问题:other呢??
用户 和拥有者,所属组对比,都不属于就是other
实际上是 if else if else,因为Other太多了无法穷举
在这里插入图片描述
问题:对于 -普通文件,后缀.txt文件 你给它加了可执行权限x,但是能不能执行又是一回事,这里执行失败。test.txt未经编译,是源代码,给它添加可执行权限一定无法运行
对于cat test.txt 是读取一个文件,而不是执行
在这里插入图片描述
在这里插入图片描述

3. 见一见没有权限会有什么现象(见见)

在这里插入图片描述

4. 权限的修改问题

方式一

chmod u+rwx,g+rwx,o+rwx test.txt //单独单个或多个用户权限修改

chmod a-x test.txt  //全部3个用户 的单个属性或者多个属性修改
chmod a-rwx test.txt
chomd a+rwx test.txt

在这里插入图片描述
方式二

ugo
rwxrwxrwx
111/000111/000111/000

000~111 0~7
表格是二进制,bash里面写八进制

chmod 000 test.txt // --- --- ---
chmod 777 test.txt // rwx rwx rwx
chmod 760 test.txt // rwx rw- ---

在这里插入图片描述

修改文件 拥有者 所属组

改拥有者
chown gaobo test.txt // 普通用户需要提权 or  root
改所属组
chgrp gaobo test.txt // 普通用户需要提权 or  root
一次都改  拥有者 所属组
chown whb:whb test.txt 

问题

当我是拥有者和所属组时,拥有者有 r 所属组有rw,那我可以w吗
在这里插入图片描述
结论:在进行认证的时候,只能选择一个角色进行认证!
你是拥有者就只看拥有者,不会往后看所属组

问题一,起始权限问题

为什么我们创建文件的默认权限是我们所看到的的样子?
回答:
普通文件起始666
没有可执行,普通文件不需要可执行,也不能在系统中给不能执行的文件给可执行权限(无意义),毕竟可执行是少数
目录文件的起始权限是777
所有的目录基本都要有X,才能进入目录,没有可执行,进都进不去,那创建目录没有任何意义

为什么普通文件:664 ?
为什么目录文件:775 ?
预备:
1.默认给普通文件的起始权限其实是666
2.默认给目录文件的起始权限其实是777

权限掩码 umask

在这里插入图片描述
我们第一感觉误以为是 权限属性减去 umask 其实不是 而是 最终权限 = 起始权限 & (~umask)

在这里插入图片描述
默认值是002 前面多出来的0不管,可能是代表8进制

计算默认权限

在这里插入图片描述
为什么普通文件:664 ? √
为什么目录文件:775 ? √ 得到了很好的回答

权限掩码 umask是可以更改的,更改时要用八进制,以此来限定文件和目录的起始权限

umask 0555
umask 0001

更改后例如 0555 就是101 101 101 也就是r - x,创建文件时r 和 x 就不会出现 结果是 -w- -w- -w-
如图:
在这里插入图片描述

问题二,目录权限

为什么你能进入一个目录呢?那是因为 X 具有可执行权限
如果没有W权限,也不允许mv
在这里插入图片描述
在这里插入图片描述

具有r-- 的窥探

如果 你有r - - 权限,ls还是能看到目录下的内容,就像你不让我进门,但不妨碍我透过门窗看里面
如果 是 - - - 代表你看也看不了,进也进不去,只对拥有者有权限或者root(普通用户家目录就是如此)
例子:

drwxrwxr-x 3 ljh ljh 4096 May 15 23:00 108
drwxrwxr-x 3 ljh ljh 4096 May 14 16:03 d1
-rw-rw-r-- 1 ljh ljh   90 May 14 13:29 log.txt
[ljh@cto ~]$ chmod 444 108
[ljh@cto ~]$ ll
total 12
dr--r--r-- 3 ljh ljh 4096 May 15 23:00 108
drwxrwxr-x 3 ljh ljh 4096 May 14 16:03 d1
-rw-rw-r-- 1 ljh ljh   90 May 14 13:29 log.txt
[ljh@cto ~]$ ls 108
ls: cannot access 108/log.txt: Permission denied
ls: cannot access 108/d1: Permission denied
ls: cannot access 108/new.txt: Permission denied
ls: cannot access 108/code.tgz: Permission denied
ls: cannot access 108/test.txt: Permission denied
code.tgz  d1  log.txt  new.txt  test.txt
[ljh@cto ~]$ 

问题三,粘滞位和共享文件

我们需要共享文件,但无法在家目录里面创建,因为家目录rwx - - - - - - other什么权限也没有
原因:
在这里插入图片描述

另寻他路的又一个问题:root在根目录创建了shared文件,开放了other所有权限,但是再此目录中,别的用户可以随意删除我创建的文件,因为一个文件能否被删除,并不由文件本身决定,由这个文件所处的目录决定!

在这里插入图片描述

所以需要粘滞位
粘滞位:给目录设置,一般是共享目录,大家可以进行在目录进行各自文件的增删改查,只允许文件拥有者或者root能删这个文件,其他人一概不允许,t是一种特殊的x权限!

drwxrwxrwx 2 root root 4096 May 13 17:00 shared
chmod o+t shared  //添加粘滞位
结果
drwxrwxrwt 2 root root 4096 May 13 17:00 shared 

在这里插入图片描述

根目录中默认的共享文件 tmp
在这里插入图片描述

对不起我是root

root 不受拥有者所属组 读 写 运行 的权限控制,即使没有依然可以操作
root不受粘滞位的限制,即使shared目录没有w权限,依然可以删除目录内文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值