Shell 和 权限

Shell

  1. 用户不善于直接使用操作系统

  1. 让用户直接使用操作系统成本高,不安全

  1. 什么叫做用户直接访问操作系统?

用户需要考虑如何把数据交给操作系统,操作系统如何将数据写入显示器,有没有成功,处理问题,这些都需要用户关心

所以,系统设计者为我们提供了Shell外壳程序,一方面降低用户使用成本,外壳程序将用户的需求交给操纵系统,另一方面保护了操作系统,因为很多非法访问可以直接在外壳程序处终止,而windows的图形化界面和Linux的命令行都是操作系统提供的外壳程序

外壳存在的意义

  1. 如果我把一个错误的指令交给外壳,外壳把这个指令交给操作系统,操作系统拒绝了命令的执行,外壳打印出了commond not found

  1. 我把一个正确指令交给外壳,外壳把这个指令交给操作系统,但操作系统拒绝了命令执行,这叫做指令存在但是不能执行(没有权限)

  1. 外壳知道操作系统不可能执行用户的某个命令(非法请求)则在外壳这一层就拒绝了用户,也是外壳变相保护了操作系统

Bash外壳称为命令行解释器,他不是自己做事,在Linux下是通过创建子进程,让子进程执行命令行解析,只有这样,外壳才能专注于创建子进程,给子进程派发任务

外壳将使用者的命令翻译给核心,再把核心的处理结果返回给用户

查看我们Linux下的外壳程序

权限

普通用户切换超级用户

ctrl+d退回普通用户

在普通用户状态下直接su可以变成超级用户,之前的路径不改变

su - 让root重新登陆,路径变为/root(默认路径)

如果我是root我可以变成任何人

权限是什么

  1. 针对普通用户(非VIP)

  1. 如果某个事物不具备某种属性,那么人就不具备对应权限,文件权限就是一件事是否允许被谁(人)做(事物属性 r读 w写 x执行)

Linux下不以文件名区分文件类型<文件类型介绍>

  1. d:目录

  1. -:普通文件

  1. p 管道文件 mkfifo f

  1. b块设备,磁盘设备

  1. c 字符设备,键盘或显示器

  1. l 链接文件

chmod

不是拥有者,不是所属组,就是other

root wanwan 这样的管理员又或者是普通用户,这就是具体用户,它们可以是一个文件的拥有者,也可以是一个文件的所属组,也可以是other。因此拥有者,所属组,other这叫做对于一个文件来说的身份。

第一列是文件类型,后面九列3列为一组,分别对应拥有者所属组和other,每一种身份对应三个权限,且rwx相对位置是确定的

权限操作

1.ugo +- 方案

chmod u+rwx,g-rw,o+rw myfile.txt 要用逗号隔开,如果一起写的话

chmod a+x myfile.txt

a代表所有人

改变一个文件的拥有者所属组

chown

chgrp

不需要改变other,因为有了chown和chgrp,所属组自然就随之改变

chown wanwan file.txt

chgrp wanwan file.txt

sudo chown wanwan file.txt

sudo chown wanwan:wanwan file.txt 同时修改

使用sudo命令的前提是我要被放在信任列表中,才可以以root身份运行

vim /etc/sudoers

2.八进制方案

chmod 777 myfile.txt

目录权限问题

cd dir x 权限

ls r 权限

touch file w权限

如果你是一个文件的拥有者那就认定你是拥有者的权限,不认定所属组,文件的权限只被认定一次

粘滞位 umask

linux默认一个文件被创建

目录的起始权限:777

普通文件的起始权限:666

但是我们看到

所以最终权限==起始权限?

umask 权限掩码,所有在umask中出现的都不该在最终权限中出现

最终权限=所以默认起始权限-unmask

最终权限=起始权限&(~umask)

umask改变了other的权限

umask的意义

如果别人在你的目录下创建了一个文件,如果他设置了权限,你可能读写不了,但是你可以删除这个文件,因为你拥有目录的写权限

如果大家对某个目录都有读写权限,所有人都可以在这个目录下创建文件,我可以设置我的文件其他人无法读取,但是阻止不了他人删除我的文件,因为所有用户都对这个目录有读写权限

根目录下,有一个tmp文件夹,被系统所有用户共享

就是粘滞位+t(x的特殊情况)

设置粘滞位,多人在同一目录进行开发并且不会相互影响

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值