文章目录
- 基本指令
- sudo
- 权限
- chmod
- 修改目标属性
- 修改角色
- 修改权限属性
- 目录权限
- 缺省权限
基本指令
sudo
1. sudo是对指令的短暂提权的
2. 比如安装软件,安装到系统中,需要管理员root权限,这些命令其实只安装了一份,普通用户和超级用户可以同时使用
sudo apt install -y zip usr/bin
3. 为什么提权的时候不输入root的密码,而是输入用户自己的密码?人人都是root吗?
whoami -> 普通用户 -> sudo ls -> 报错
人人都是root自己即是管理员又是用户,是可被信任的
4. sudoers配置文件中,把用户添加到100行左右,就可以运行 sudo ls了,否则使用不了sudo ls,通过vim进入配置文件
权限
1. 权限是什么?
权限的本质是能或者不能做什么事情
2. 为什么又权限?
1、为了控制用户的行为,防止错误的发生
2、理解
权限首先限制的是角色(人)
权限要求目标必须具备对应的属性
权限 = 角色 + 目标权限属性
Linux下一切皆文件,文件具有读,写,执行
-
- 角色
1.拥有者
2.所属组
3.other
- 角色
-
- root如果不是拥有者和所属组,那么它就是other,other是不需要记录的
-
- root,zpw都是用户,拥有者,所属组,other都时用户扮演的角色
-
- 什么是所属组?为什么要有所属组?
1.所属组是可以添加用户进来,不允许other权限的访问,更精细化的权限管理,首先要有更精细化的身份角色
- 什么是所属组?为什么要有所属组?
- 权限位
- my.txt这个文件,whb充当拥有者,具有读,写权限,没有执行权限,whb充当所属组,具有读,写权限,没有执行权先,other具有读权限,没有写和执行权限
chmod
权限 = 角色 + 目标属性
修改目标属性
1. chmod可以修改文件的权限
// u是拥有者
chmod u-r my.txt
// 去掉r权限
chmod u+r my.txt
// 加上r权限
chmod u-rw my.txt
// g是所属组
chmod g+r my.txt
// o是other
chmod o+r my.txt
// 同时更改拥有者,所属组,other的权限
chmod u-rw,g+r,o+w my.txt
// 可以同时加上所有权限
chmod u+rwx,g+rwx,o+rwx my.txt
// 给所有人加上r权限,a是all
chmod a+r my.txt
- 重点部分
- 能更改任何人的文件权限吗?
用户只能更改自己文件权限,如果想更改别人的文件权限,就需要进行提权
sudo chmod u-rw root.txt 这样可以强行更改用户的权限
- 没有权限会怎么办?
系统会拒绝让我们访问
- 把my.txt的拥有者修改成root
- 确认权限信息的时候,系统会先确认用户是谁?拥有者,所属组,other?
在centos下,用户的角色只确认一次,不会进行二次确认,顺序是拥有者,所属组,other,确认完之后看对应的角色是否有属性,就可以确认是否能够读,写,执行了 - 将文件my.txt的所属组修改为root
- 将用户的拥有者,所属组修改回来
- root用户的权限不受权限的约束,root是只能匹配other角色,但是它不受权限的约束,所以可以文件操作
- 如何理解可执行?
可执行权限 != 文件可执行
机会 + 能力
因为这个只是给文件权限了,如果文件没有能力执行文件,那么也是不可执行的
修改角色
1. chown/chgrp:修改文件的拥有者和所属组
- sudo chown root cmd
- sudo chgrp root cmd
- sudo chown whb:whb cmd,将拥有者和所属组都修改了
修改权限属性
1. rwx可以看成二进制的111,三位2进制可以表示一个8进制,所以rwx是7
chmod 777 cmd
// 把拥有者,所属组,other都带上权限了
目录权限
-
rwx分别对目录意味着什么?
-
如果对目录没有r权限,就无法查看目录里面的文件
-
如果对目录没有w权限,无法在指定目录内部新建文件
-
如果想进入一个目录,需要什么权限?
需要的是执行(x)权限
-
总结:默认情况下,新建一个目录,rwx权限都必须要有
-
理解Linux中多用户之间是怎么相互隔离的?
在家目录下新建一个用户,对拥有者具有读,写,执行权限,对所属组,other都是没有权限的,因此限制了其他用户进入自己的家目录下
- /etc/sudoers 是 Linux 系统中用于配置 sudo 权限的配置文件。它定义了哪些用户或用户组可以使用 sudo 命令,以及可以执行哪些命令
缺省权限
为什么默认的权限是我们看到的样子?
1. 对普通文件来讲,起始权限为666,默认不带可执行
2. 对于目录来讲,起始权限是777,默认携带x
3. 第一个0是用户的,我们不用考虑,
- 为什么起始权限是775和664,因为各个系统的权限掩码有所不同
- 权限掩码
- 002 -> 000 000 010 -> 最终权限 = 起始权限&(~umask)
- 权限掩码的目的是什么?
1、希望凡事在umask中出现的权限,都不在最终权限中出现
- 修改umask
- 两个不同的用户想要共同查看或者修改同一个配置文件
- w权限,具有修改,删除,新建的功能
一个文件能否被删除,与文件本身无关,与文件所处目录的w权限有关
在 ls -ld lesson 命令中,-d 选项的作用是 列出目录本身的信息,而不是目录中的内容。