手机银行网站建设,摄影网站设计代码,大气精美网站设计工作室织梦模板,网站网站做员工犯法吗文章目录 shell和kernelshell的概念和原理Linux的权限文件的权限文件的类型文件的权限管理权限的实战应用 shell和kernel
从狭义上来讲#xff0c;Linux是一个操作系统#xff0c;我们叫它叫kernel#xff0c;意思是核心#xff0c;核心的意思顾名思义#xff0c;就是最关… 文章目录 shell和kernelshell的概念和原理Linux的权限文件的权限文件的类型文件的权限管理权限的实战应用 shell和kernel
从狭义上来讲Linux是一个操作系统我们叫它叫kernel意思是核心核心的意思顾名思义就是最关键的部分而作为普通用户实际上是不可以使用kernel的会借助一个外壳这个外壳就是shell简单来说shell就是一层保护在kernel外面的保护层一层外壳那么为什么呢为什么不能命令kernel为什么要在外面加一层shell这就需要更加深入理解shell了
shell的概念和原理
从技术角度来讲shell其实就是一个翻译官它负责把用户输入的指令输给核心让核心进行处理再把kernel处理的结果传递给用户是一个中间人的作用
其实Windows中也有类似的存在这个东西叫做GUIGUI是一个图形化接口它也是起到了沟通用户和操作系统的作用假设现在要访问一个文件夹我们的操作通常是点击一下这个文件夹而GUI就负责把这个命令传递给操作系统操作系统接收到这个命令后就再传递回用户告诉用户成功进入了
而shell对Linux来说就和这个一样假如用户说我要
cat test.txt那么这个shell外壳就把这个命令传递给kernelkernel就做出回应shell外壳再传给用户 上面所示的就是shell的作用实例
补充 在实际应用中shell也并非直接参与而是创建一个一个的子进程让子进程执行命令而作为父进程的shell则继续进行命令行接受防止有意外情况的发生导致外壳shell无法正常工作后续在进程的篇章中会有更多解释
Linux的权限
Linux的权限是Linux的一大特色理解好Linux的权限对于后面的学习是有很大意义的
首先从大的方向上划分Linux的用户主要有两种root和普通用户 超级用户可以做任何事情只要有指令实现都可以 普通用户局限性比较强完成一些基本的操作
这里需要补充两个命令 命令1su 用户名 功能用来切换用户 命令2sudo root 功能临时用root账号执行命令sudo可以短时间内提升权力但前提是要在sudo的名单内否则也无法达成目的 注意这里有一个细节只需要用到free的密码也就是说不需要用root的密码也可以做到权限提升那么这是为什么 原因在于这样可以防止root账号的密码被滥用实际上也是一种安全root账号可以操控是否能使一个用户拥有root权力与否
文件的权限
Linux的权限往往是伴生于文件的对于文件来说权限是极其重要的下面来进行权限和文件的理解
首先对于一份文件常常有下面的两类属性 第一个是人属性即该文件是谁写的谁有权力看在Linux中把人的属性分为三种分别为拥有者所属者和其他人 第二个是事物属性即这份文件可以被什么人用什么方式访问在Linux中把文件的属性分为三种分别为可读可写和可执行分别对应的是rwx
文件的类型
在我们Windows中的使用中假设我们要写一份C语言代码我们会命名为test.c如果要写一份文本文件我们会写test.txt这是因为在Windows中一份文件的类型来源于它的后缀后缀是什么样子的决定了这是一个什么样的文件但在Linux中却并不是这样
在Linux中文件的类型并不取决于后缀而是取决于目录中的第一个字符假设这里我们创建了一个文件test 而这里开头的 - 其实就代表了这到底是什么样子的文件
在Linux中有下面这些文件类型 d文件夹 -普通文件 l软链接类似Windows的快捷方式 b块设备文件例如硬盘、光驱等 p管道文件 c字符设备文件例如屏幕等串口设备 s套接口文件 需要注意的是Linux中的后缀的意义是给人看的但如果是gcc编译器也会对后缀做出一定的区分但整体看Linux中并不太关心文件的后缀是什么形式
文件的权限管理
因此这次就能观察它的前缀都代表什么意义 下面我们来一一看这些内容到底是什么意思 这里需要注意的是第二列到第十列都属于的是拥有者所属组其他人的权限而这些权限并不会因为没有就不显示而是会以- 的形式存在因此会出现rw- — r–等形式的存在
下面有一些对上图所示的知识的补充
1. 用户和角色的联系 用户和角色并没有太多的联系一个普通用户在一个文件中是所属用户也可能是所属用户组root用户也可以既不是所属用户也不是所属用户组
2. 所属组是什么 所属组在开发项目的过程中有它的作用一个组可以只有一个人也可以有很多人这些人都是该项目组的成员
3. 所属组有什么用 简单来说所属组就是用来给所属用户和其他人之间创建一个有部分权限的人假设我有一份工程我正在完善它的过程中而此时有其他人要来看我的工作进度我想给他开放阅读的权限但并不想给其他人看因此就可以让他进入我的所属组并给他阅读的权限这样就既达到了让他阅读的权限又能让别人无法看到我作为文件的所属者可以随时进行权力的增加修改和删除这也是Linux系统提高工作效率的表现之一
更改权限的指令
指令chmod 功能设置文件的访问权限 格式chmod [参数] 权限 文件名 常用选项 R - 递归修改目录文件的权限 说明只有文件的拥有者和root才可以改变文件的权限
:向权限范围增加权限代号所表示的权限 -:向权限范围取消权限代号所表示的权限 :向权限范围赋予权限代号所表示的权限 用户符号 u拥有者 g拥有者同组用 o其它用户 a所有用户
权限的实战应用
在知道了权限的作用后下面就进行对权限的更改方式和具体实践结果
首先要创建这样的场景 那么下面那么此时test对于free的文件夹来说就是other的身份现在创建一个test文件 根据上面所学的知道这里test文件对于拥有者来说有可读和可写的权力对于所属组来说有可读和可写的权力对于其他人来说有可读的权力那么我们添加一下对于其他人访问该文件有写入的权限
chmod ow test于是在test用户下他也可以用echo进行修改test中的内容
echo hello test此时我不想让test用户再看到和写入我的文档了我就可以对文档的other用户进行权限删减 此时如果test用户再继续访问就会提示权限不足