Shell运行原理和Linux权限

Posted L_add

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell运行原理和Linux权限相关的知识,希望对你有一定的参考价值。

Shell命令及运行原理

Linux严格意义说的是一个操作系统,我们称之为"核心(kernel)",一般用户不能直接使用kernel,而是通过kernel外壳程序(shell)
Shell简单定义:命令行解释器

  • 将使用者的命令翻译给核心(kernel)处理
  • 同时将核心的处理结果翻译给使用者

shell外壳:保护操作系统(非法指令拦截)
Linux外壳理解:在系统层面上,就是一个进程,保证内核安全的同时,也保护自身安全
shell运行原理:创建子进程,让子进程进行命令解释
shell进程->创建子进程进行命令行解释->如果失败不会影响shell进程


shell VS bush

shell 是所有外壳程序的统称,bash 是一种具体的shell。
centos 7外壳程序 :bush

Linux权限

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

  • 超级用户 :可以在Linux系统下做任何事,不受限制
  • 普通用户:在Linux下做有限的事
  • 超级用户命令提示符:#,普通用户命令提示符:$

切换用户名

su -[用户名] - 超级-》普通
su - 普通-》超级

改普通用户密码

  • passwd 用户名 只能在root下操作
  • sudo passwd 用户名 普通用户下操作

sudo报错

$sudo ls
[sudo]passord for L
L is not the sudoers for file .This incident will be reported

在root端输入:
vim /etc/sudoers
找到:

## Allows people in group wheel to run all commands
%wheel  All=ALL     ALL
%wheel  ALL = ALL   ALL

改成

## Allows people in group wheel to run all commands
%wheel  All=ALL     ALL
用户名  ALL = ALL   ALL

按ESC,输入 :wq!保存退出

Linux权限管理

文件访问者分类(角色)

  • 文件和文件目录的所有者: u—User
  • 文件和文件目录的所有者所在的组: g—Group
  • 其他用户: o—Others
    root/普通用户可以充当角色 举例:有个人叫小明,小明在班里是班长
    root/普通用户-》小明,角色-》班长
    Linux中,所有的用户都要隶属于一个组,哪怕组里只有你一个人


修改权限

语法:
1、chmod [角色] +或- [属性] 文件
2、chmod 三位八进制数 文件


附加:进入目录/显示目录内容/创建文件需要什么权限?
答:x权限/r权限/w权限。

改变拥有者/所属组

语法:(sudo) chown/chgrp 新拥有者/组 文件

chgrp

umask

语法:umask 权限值
umask查看或修改文件掩码

  • 新建文件夹默认权限 = 666
  • 新建目录文件默认权限 = 777
    但实际上所创建的文件和目录,看到的权限往往不是上面的值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,实际创建出来的文件权限是:mask & ~umask
    凡是在umask出现的权限位,都不应该在起始权限中出现

file

语法:file [选项] 文件或目录
file辨识文件类型

  • -c 详细显示指令过程,便于排错或分析程序执行的情形
  • -z 尝试去解读压缩文件的内容

使用sudo分配权限

(1)修改/etc/sudoers文件分配文件
格式:接受权限的用户登录的主机 = (执行命令的用户) 命令
(2)使用sudo调用授权命令

粘滞位

语法:chmod +t
粘滞位是给目录设置的,防止删除
当一个目录被设置为粘滞位,则该目录下的文件只能由

  • 超级管理员删除
  • 该目录的所有者删除
  • 该文件的所有者删除

以上是关于Shell运行原理和Linux权限的主要内容,如果未能解决你的问题,请参考以下文章

shell运行原理以及linux权限

shell运行原理以及linux权限

Shell运行原理及Linux权限

< Linux入门 > shell运行原理及Linux权限的理解

Linux入门第二篇:shell命令及运行原理和Linux权限的概念

Linux权限Shell命令及运行原理 | Linux权限管理 | 粘滞位