Linux的权限(1)

发布时间:2024年01月12日

目录

操作系统的"外壳"程序

外壳程序是什么?

为什么存在外壳程序?

外壳程序怎么运行操作?

权限

什么是权限?

权限的本质?

Linux中的(人)用户权限?

su和su -的区别

sudo的指令提权?

Linux中的角色权限?

Linux中的(事物属性)文件权限?

命令扩展


操作系统的"外壳"程序

?Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

  • 将使用者的命令翻译给核心(kernel)处理。
  • 同时,将核心的处理结果翻译给使用者。
  • 大部分命令在磁盘当中,是系统当中的一个可执行文件。
  • 命令行提示符其实是一个字符串。包括我们的指令从键盘输入到终端界面都是字符串。
  • 用户执行某种功能的时候,不是直接让操作系统执行对应的指令的,而是先交给外壳程序
  • windows的外壳程序就是图形化界面
  • windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。
  • Linux的外壳程序就是命令行提示符
  • shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

如何理解?为什么不能直接使用kernel??

?

外壳程序是什么?

?介于用户和操作系统之间的软件。如Linux的命令行解释器,Windows的图形化界面。

为什么存在外壳程序?

每个用户写的程序和访问的指令都是存在风险的,我们必须去有效规避。

  • 用户不善于和OS之间交互
  • shell外壳的存在,可以对请求进行合法性检查,变相的保护OS

外壳程序怎么运行操作?

(可能存在用户一直非法访问)可以安排一个实习生。失败都在实习生,不接受任何失败的影响。

创建子进程,让子进程进行执行。

bash基本都会给我们创建一个子进程帮助用户进行命令行解释。bash只需要等待即可

bash/sh相当于媒婆中的王婆/李婆/张婆中的一员。

权限

什么是权限?

权限是通过一定的条件,拦住一部分人,给另外一部分人权利,来访问某种资源。

(存在有无/能否的问题!)如vip ,小区门禁等等。

权限的本质?

  • 权限1:担任的角色有关(人):若你是腾讯会员的vip,拥有vip的资源是因为你是腾讯会员vip,并不是因为是你。 Linux中【具体的角色】是需要【具体的人】来扮演的!!
  • 权限2:事务的属性有关:你并不能在腾讯刷题,或者在抖音刷题,这是因为某种权限对应某种功能(事物的属性)。

权限=角色(人)+事物的属性

Linux中的(人)用户权限?

Linux下有两种用户:超级用户(root)、普通用户。

  • 超级用户:可以再linux系统下做任何事情,不受限制。
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
  • 转化:su 【用户名】? ? su -? 【用户名】 (直接转超级用户不需要输入用户名)
  • ctrl+d:可以回退到转化前
  • 普通用户和root密码不要设置成一样的!

【普通用户转超级用户】

【超级用户转普通用户】?

【普通用户转普通用户】?

su和su -的区别

su是在原本登录基础上切换。

su - 是重新登录。

建议用:su -

?

sudo的指令提权?

sudo可以让普通用户拥有以root权限去执行命令。

(用户不想直接变成root,但是想以root的身份执行一个工作)

sudo:输入的密码是普通用户的密码!

(在vim再解决报错)

Linux中的角色权限?

  • 文件和文件目录的所有者:u---User(拥有者)
  • 文件和文件目录的所有者所在的组的用户:g---Group (所属组)
  • 其它用户:o---Others (其他人)

?

为什么会有所属组的存在?

Linux具有组的概念,主要是在多人协作的时候,更好的进行权限的管理!

Linux中的(事物属性)文件权限?

下篇博客。

命令扩展

◆ 安装和登录命令:
login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
◆ 文件处理命令:
file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
◆ 系统管理相关命令:
df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
◆ 网络操作命令:
ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
◆ 系统安全相关命令:
passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
◆ 其它命令:
tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

🙂感谢大家的阅读,若有错误和不足,欢迎指正!

文章来源:https://blog.csdn.net/m0_74841364/article/details/135463803
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。