目录
5.给拥有者和所属组加上权限rw,other去掉权限 rwx
为什么我们创建的目录或者普通文件,默认权限是我们所看到的样子???
Linux用户的管理
1、Linux下有两种用户:超级用户(root)、普通用户
在 Linux 这个多用户操作系统中存在 root 用户和普通用户两类。鉴于 root 用户几乎不受权限约束,操作失误往往不可逆,所以建议先使用 root 用户进行操作学习,待学完权限相关知识后再切换为普通用户,这样在监管下进行操作才是最接近真实且稳妥的方式。
root 用户:超级管理员,不受权限约束。
普通用户 : 受到权限约束的用户。
注意:root 和普通用户的密码不要设置成一样的。
关于新建和删除普通用户第一节就有说到:Linux 环境的安装-优快云博客
2、用户切换
root 用户切换为普通用户
su 普通用户名:不需要输入密码,不受到权限约束。
普通用户切换为 root 用户
su : 切换为root,所在目录依旧是那个。
su - :root 的家路径,也就是说 root 重新登录。
ctrl+d 退出,或者 exit 退出超级用户。
3、sudo 指令
1.普通用户可以在需要时临时获得更高的权限来完成一些系统级别的操作,而无需直接以 root 用户身份登录,简而言之,不切换用户,让普通用户以root身份执行对应的指令。
2. 我们切换了 xc 这个普通用户,使用sudo提权的时候,发现输入的 xc 自己的密码,这是不是意味着所有普通用户都可以 sudo 指令,然后输入自己的密码呢,那我们都天然的是 root ???
sudo 指令可实现短暂提权,让普通用户能以 root 身份执行命令,但执行时需输入自己的密码。这么做是为了给受信任的用户提供最少的执行障碍。不过并非所有普通用户天然就能使用 sudo,只有被系统纳入 “白名单”,系统充分的相信你,也就是被添加到系统文件 /etc/sudoers 中的用户,才可以使用 sudo 指令来提权执行命令。若当前普通用户用不了 sudo,在必要时可以暂时切换到 root 用户身份来完成相应操作,本质上这属于用户管理和权限管理的范畴,通过相关配置来把控哪些用户能获得提权的权限。
我们在使用sudo输入密码大概5-10分钟之内不需要二次输入密码。
3. 这里的 xc 普通用户我已经在系统文件 /etc/sudoers 配置好了的,所以可以使用 sudo 进行短暂提权--->接下来我们就来配置相关文件。
4、/etc/sudoers 中的提权配置
这需要vim的一些基本操作,这里我会详细的阐述vim的操作以及文件的配置。
当我们没有配置 dyy 普通文件的时候,使用sudo无法完成提权操作。
1,进入/etc/sudoers 文件中
切换成 root 用户,然后进入该文件
vim /etc/sudoers
2, 显示行号
进入vim 编辑器中先别动,然后我们按 shift + :,接着再输入 set nu , 然后回车。
注意: 这里是shift 和冒号是一起按。
: set nu
3、找到大概在100行左右
我们直接点上下键找到这一行,光标定位到这里。
4,修改配置文件
按键盘的小写 i 键,就可以编辑该文件了,在下面加上这一行,这里的用户名必须和你想提权的用户名保持一致,格式也和 root 这一行保持一致。
写完之后我们按 esc ,然后按 shift + :,输入 wq! 保存并退出。
我们配置好以后再切换成普通用户发现可以使用sudo进行提取操作了
Linux权限的概念
就像古代皇帝拥有至高无上的权力,可以不受一般法律约束,能够对国家事务进行全方位的决策和管理。在 Linux 系统中,root 用户几乎可以执行任何操作(root 不受权限的约束),如修改系统核心配置文件、安装或卸载软件、管理用户账户等,而普通用户的权限则受到诸多限制,就如同普通百姓的行为受到法律的严格约束一样。
所以说权限约束的是某种角色身份,如果你叫张三,你能去学校上课,并不是因为你是张三,而是因为你的身份是学生,和你是谁没有关系,和你是什么身份有关系。
我们都知道:文件 = 内容 + 属性。所以文件属性也属于权限的一部分。
文件权限 = 人(角色) + 文件属性
这里的角色指的是一种身份,不是具体的某个用户。
1.文件访问者的分类(人/角色)
权限约束的角色分为:拥有者(owner)、所属组(group)、其他人(other)。
你不属于拥有者和所属组就是其他人
为什么会存在所属组???
Linux 系统中引入所属组概念主要是出于权限管理的需要。若没有所属组,在权限设置上就会面临两难的境地,要么文件或资源只能供创建者自己访问,限制了协作等需求,要么放开权限的话就变成了 “other(其他人)” 可访问,这意味着全世界人民(所有其他未关联用户)理论上都能看到,存在极大的安全隐患。而有了所属组概念后,就可以将相关用户划分到特定组中,通过把 “other” 权限全部设置为无(null,即不可看),同时让同组的成员能够访问相应文件或资源,这样既能满足特定用户群体间协作共享的需求,又能保障资源的安全性,避免不必要的访问情况出现。
注意:拥有者只能有一个具体的人,所属组可以多个人,以上就是人(角色)的特性
2.文件属性
在 Linux 系统中,文件属性中的读(r)、写(w)、执行(x)权限是与不同的用户角色相关联的,意味着我们可以给每个角色设定 r w x 权限。
那我们如何来观察文件属性的读写执行权限呢???
ls -l 指令会列出当前目录下所有文件和目录的详细信息,就像 “drwxr - xr - x 3 root root 4096 Dec 1 17:29 test” 这样的格式。
- 第一个字符表示文件类型,如 “d” 是目录,“-” 是普通文件,“l” 是符号链接等。
- 接下来的 9 个字符,每 3 个一组,分别代表拥有者、所属组和其他人的读(r)、写(w)、执行(x)权限。“r” 表示可读,“w” 表示可写,“x” 表示可执行。如果是 “-” 则表示没有对应的权限。例如在 “drwxr - xr - x” 中,拥有者有读、写、执行权限,所属组和其他人有读、执行权限,但没有写权限。