shell命令和运行原理
外壳程序:增加用户体验
用户使用操作系统时无法直接使用内核
必须通过外壳程序进行操作
用户于外壳程序交流,在由外壳程序交给内核进行处理
最后再由外壳程序传给用户
其中用户的需求(就是用户的操作)就是指令
外壳程序(shell)
外壳程序会创建子进程来解释用户的命令行
而不是由外壳程序直接解释用户的命令行
我们平时LInux使用的命令行解释器是bash
bash是shell外壳的一种
shell外壳是所有外壳程序的统称
Linux权限
普通用户提升权限
sudo后加命令
进行sudo操作后需要输入当前用户的密码
但是用户如果要使用sudo,必须要被添加到"白名单"里
而对白名单的操作必须要再root(管理员)下运行
白名单
使用vim进入 /etc/sudoers
找到
然后yy,p复制之后进入插入模式将root改为需要提升权限的用户即可
由于该文件是被root保护的文件,无法使用"wq"来正常退出
之后退出需要使用"wq!"
之后就可以进行sudo操作了
文件的权限
注 : root不受权限的约束,权限对root只有建议作用
对一个文件来讲,它有它的拥有者,所属组,不属于这两者的就是other
一个文件只能有一个拥有者
为了让其他非拥有者看文件,设置了所属组
所属组内的成员也想拥有者一样可以看该文件
所属组的存在是为了更细粒度的权限管理
更改文件权限属性
如果要更改一个文件的拥有者,所属组,others
或者是相关的权限
必须要文件的拥有者或者root才能更改
但是文件的拥有者在更改文件权限时需要经过被更改的用户的同意
因此一般情况下都是直接用root来修改权限的
1.
u,g,o,a分别为拥有者,所属组,other和所有人
2.采用chmod 八进制更改
更改角色
文件的属性
r : 读属性
w : 写属性
x : 执行属性
第一大列是文件属性,长度为9的字符串
每3个为一组,分别代表着 : 拥有者, 所属组, other的对文件的权限
三个字符意思固定 :
在对文件操作是,系统会先进行身份判定,在看你的操作是否有权限
目录的权限
文件的读权限是看用户能否看目录里的内容(文件名和属性)
文件的写权限是可以在该目录内部进行文件的新建,删除或重命名
umask
可以使用umask xxx(数字)来修改umask的值
粘滞位
对于一些共享目录,我们既想让任何人可以在目录里进行新建文件等操作
但是对于删除进行单独处理,任何人都只能删除自己新建的文件
即使对于目录有写权限,但是不能随意的进行删除操作