目录
一、shell运行原理
二、权限
1.权限的概念
2.文件访问权限的相关设置方法
三、常见的权限问题
1.目录权限
2.umsk(权限掩码)
3.粘滞位
一、shell运行原理
1.为什么我们不是直接访问操作系统?
- ”人“不善于直接使用操作系统
- 如果让人直接访问操作系统,a.操作成本特别高 b.人会犯错,有风险
系统的设计者,不会让”人“直接操作 操作系统
2.我们是如何访问操作系统的?
--通过外壳程序
图形化界面&&指令操作是什么?
--操作系统提供的外壳程序
3.外壳程序的意义
- 是用户和操作系统交互的中间软件层(将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者)- 可以在一定程度,起到保护操作系统作用
二、权限
1.权限的概念
权限:
针对人,事物的基本属性决定权限相关概念(能否完成一件事情)
权限的核心 = 人 + 事务属性(rwx)
对人操作
--Linux是一个多用户操作系统,Linux下可以存在多个用户
- root:只用一个,具有Linux下的最高权限(一般不受权限约束)
- 普通用户:可以有多个,要受权限的约束
--如何切换用户
root < -- 切换 -- > 普通用户 ,切换当前权限
- 切换到root su - 然后再输入密码(root) (普通用户和root密码尽量不同)
- 切换到普通用户: ctrl + D(退回)
- root切换到其它用户: su + 名字
- 普通用户切普通用户:su + 名字 然后输入该用户的密码
对角色和文件操作
--角色(人)
- 文件和文件目录的所有者:u---User
- 文件和文件目录的所有者所在的组的用户:g---Group
- 其它用户:o---Others
--文件类型和访问权限(事物属性)
文件类型:
- d:目录
- -:普通文件
- p:管道文件
- b:块设备
- c:字符设备
基本权限
- 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
- “—”表示不具有该项权限
2.文件访问权限的相关设置方法
指令:chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名选项:
- R -> 递归修改目录文件的权限
- 说明:只有文件的拥有者和root才可以改变文件的权限
改权限
--1.ugo+-修改
改权限: chmod u+x myfile.txt (拥有者)chmod u-x myfile.txtchmod u+rwx myfile.txt chmod g+x myfile.txt (所属者)chmod o+r myfile.txt (other)chmod u-wx,g-x,o+r myfile.txt chmod a+x myfile.txt (所有人)
相关概念:
- +:向权限范围增加权限代号所表示的权限
- -:向权限范围取消权限代号所表示的权限
- =:向权限范围赋予权限代号所表示的权限
- 用户符号:
- u:拥有者
- g:拥有者同组用
- o:其它用户
- a:所有用户
--2.八进制修改
chmod 777 myfile.txt (7的二进制:111,1:有权限 0:无权限)
通过二进制的方式,给了拥有者,所属者,其它用户所有读写执行的权限
改人
--更改文件的所属者(需要提升权限)
--root下 chown 用户名 文件名(拥有者) chgrp 用户名 文件名 (所属组)
这里可以看到所属者从root变为zy
补充:
sudo 指向命令后以root权限级别来执行
如果用户想执行sudo,需要将用户添加到信任列表里
三、常见的权限问题
1.目录权限
进入一个目录。需要什么权限?-------x (执行权限)
rw权限限制了用户能否查看和写(执行ls指令,touch/mkdir指令)
补充:权限只会被认证一次,若你是拥有者又是所属者,则只看拥有者权限
2.umsk(权限掩码)
Linux默认:
1.一个目录被创建,起始权限:777
2.一个普通文件被创建,起始权限:666
为什么创建一个目录或文件,默认权限是
d rwx rwx r-x
- rw- rw- r--
原因:要受到umaks过滤(凡是在umsk中出现的权限,都不应该在最终权限中出现)
最终权限 = 起始权限&(~umask)
3.粘滞位
大家所有用户都在一个共同的路径下,对该目录具有读写执行权限
1.当多个用户共享一个目录,需要在该目录下进行,读写,创建文件
2.但是自己只能删除自己的,而不能删除别人的(w:可以互删,但不满足条件)
粘滞位解决上面情况: chmod +t 目录 即可
粘滞位只能给目录设置(谁设置,谁取消)
示例:
现在zy和tmp在同一路径下,都有rwx权限
tmp可以删除zy的文件:
为了防止这种情况发生,我们加上粘滞位,(root下)
然后我们切回tmp,看看还能不能删除zy文件
由于粘滞位,这里不能互删