Linux|Shell运行原理和Linux权限


Shell运行原理 和Linux权限

  • Shell命令及运行原理
    • shell VS bush
  • Linux权限
      • 切换用户名
    • 改普通用户密码
      • sudo报错
    • Linux权限管理
    • 修改权限
    • 改变拥有者/所属组
    • chgrp
      • umask
    • file
      • 使用sudo分配权限
    • 粘滞位

Shell命令及运行原理 Linux严格意义说的是一个操作系统,我们称之为"核心(kernel)",一般用户不能直接使用kernel,而是通过kernel外壳程序(shell)
Shell简单定义:命令行解释器
  • 将使用者的命令翻译给核心(kernel)处理
  • 同时将核心的处理结果翻译给使用者
shell外壳:保护操作系统(非法指令拦截)
Linux外壳理解:在系统层面上,就是一个进程,保证内核安全的同时,也保护自身安全
shell运行原理:创建子进程,让子进程进行命令解释
shell进程->创建子进程进行命令行解释->如果失败不会影响shell进程
Linux|Shell运行原理和Linux权限
文章图片

Linux|Shell运行原理和Linux权限
文章图片

Linux|Shell运行原理和Linux权限
文章图片

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 %wheelAll=ALLALL %wheelALL = ALLALL

改成
## Allows people in group wheel to run all commands %wheelAll=ALLALL 用户名ALL = ALLALL

按ESC,输入 :wq!保存退出
Linux权限管理 文件访问者分类(角色)
  • 文件和文件目录的所有者: u—User
  • 文件和文件目录的所有者所在的组: g—Group
  • 其他用户: o—Others
    root/普通用户可以充当角色 举例:有个人叫小明,小明在班里是班长
    root/普通用户-》小明,角色-》班长
    Linux中,所有的用户都要隶属于一个组,哪怕组里只有你一个人
    Linux|Shell运行原理和Linux权限
    文章图片
Linux|Shell运行原理和Linux权限
文章图片

Linux|Shell运行原理和Linux权限
文章图片

Linux|Shell运行原理和Linux权限
文章图片

修改权限 语法:
1、chmod [角色] +或- [属性] 文件
2、chmod 三位八进制数 文件
Linux|Shell运行原理和Linux权限
文章图片

Linux|Shell运行原理和Linux权限
文章图片

附加:进入目录/显示目录内容/创建文件需要什么权限?
答:x权限/r权限/w权限。
改变拥有者/所属组 语法:(sudo) chown/chgrp 新拥有者/组 文件
Linux|Shell运行原理和Linux权限
文章图片

chgrp umask
语法:umask 权限值
umask查看或修改文件掩码
  • 新建文件夹默认权限 = 666
  • 新建目录文件默认权限 = 777
    但实际上所创建的文件和目录,看到的权限往往不是上面的值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,实际创建出来的文件权限是:mask & ~umask
    凡是在umask出现的权限位,都不应该在起始权限中出现
file 语法:file [选项] 文件或目录
file辨识文件类型
  • -c 详细显示指令过程,便于排错或分析程序执行的情形
  • -z 尝试去解读压缩文件的内容
使用sudo分配权限
(1)修改/etc/sudoers文件分配文件
格式:接受权限的用户登录的主机 = (执行命令的用户) 命令
(2)使用sudo调用授权命令
粘滞位 【Linux|Shell运行原理和Linux权限】语法:chmod +t
粘滞位是给目录设置的,防止删除
当一个目录被设置为粘滞位,则该目录下的文件只能由
  • 超级管理员删除
  • 该目录的所有者删除
  • 该文件的所有者删除

    推荐阅读