外壳程序
使用linux并不是直接和操作系统接触,命令的正确,有效,执行等需要shell等外壳程序传达给操作系统.
外壳程序的意义:
1.在用户和操作系统交互的中间软件层.
2.在一定程度上起到保护操作系统的作用.
Linux权限的概念
Linux下有两种用户:超级用户(root)、普通用户。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
身份切换:
普通用户切换root: su 然后输入root密码.
root切换普通用户:su chy 或者 ctrl +d
普通切普通:su chy 然后输入chy密码
Linux权限管理
Linux下不以文件后缀区分文件类型,后缀仅是区分作用.但在linux环境下的软件如gcc依旧会以后缀区分文件类型.
Linux环境下以ll命令展开的文件的首字符区分:
d | 目录 | - | 普通文件 | p | 管道文件 |
b | 块设备 | c | 字符设备 | l | 链接文件 |
后边九个字母每三个一组,分别代表:拥有者权限,所属组权限,other权限.
rwx的顺序不能该表,-表示没用该位置上的权限.
r:读权限 w:改权限 x:可执行权限.
目录权限:进入一个目录需要的是x权限. r权限 限制在该目录中查看所有文件的权利. w权限限制在该目录下创建新的目录或文件
如果owner身份和group身份相同,对文件的使用权限依owner权限.
即:---rwx--- chy chy 该用户没有任何权限.
属性更改
命令: u代表拥有者 g代表所属组 o代表other +r +w +x代表给相应权限
chmod | u+x | myfile.txt | 给拥有者x权限 |
chmod | u-rw | myfile.txt | 收回拥有者rw权限 |
chmod | g-r | myfile.txt | 收回所属组的r权限 |
chmod | o+rwx | myfile.txt | |
chmod | a+rw | myfile.txt | 给所有人rw权限 |
root不需要权限就可读 写 执行.
除去rwx这种写法,可以使用8进制
rwx权限全有在二进制中代表111 全无代表000
111用八进制表示为7 000用八进制为000
chmod 777 myfile.txt -> 给所有人rwx权限 chmod 000 myfile.txt ->收回所有人的rwx权限
用户更改
只有root,或使用root权限可进行更改文件所属人,组的操作.
chown | chy | myfile.txt | 把文件的拥有者改成chy |
chgrp | g1 | myfile.txt | 把文件的所属组改成g1 |
非root:
sudo chown chy myfile.txt
sudo:执行后续命令,要以root的权限级别来执行
使用sudo需要首先被root添加到信任列表里面.
umask
目录权限默认777 普通文件默认666
但创建文件或目录时其属性显示的最终权限并不完全与默认相同.这是由于权限掩码(umask)
凡是在umask中出现的权限,都不应该在最终权限中出现.umask值默认为002
umask更改: umask+数字
最终权限=起始权限&(^umask)
粘滞位
删除一个文件/目录 需要上一级目录的w权限
创建一个公共文档(对other rwx全开放 所属人root 组root),给自己的文件权限设置其他人不可读不可写不可执行,别人对该文件仍有删除的权限.
如果在上一级文件中去掉w权限,自己原先创建的文件自己也无法删除.
为了让自己能删自己的,其他人不能删我的,产生了粘滞位.
chmod +t chy
注意:
只能给目录设置
谁加的谁才能取消(一般是root)