目录

一、什么是shell?

shell是命令原语,是包裹再操作系统内层的软件层(类似于Windows的图形化界面)

二、为什么存在shell?

由于用户不擅长直接和操作系统交流,所以通过shell,把用户的恳求任务传递给操作系统,把操作系统执行结果,通过shell壳体返回给用户

shell还有一个作用就是可以保护操作系统,拒绝用户的非法操作

bash和shell的区别

bash是shell的一种,在centos7中使用的是bash。

一、什么是权限?

权限即就是:决定某件事情,某人能够做

文件权限=“人”+事物属性

所以文件受“人”的影响:人指代拥有者、所属者、other

还受文件本身的属性(事物属性)影响:权限属性r(读)、w(写)、x(执行权限)

如图:lesson1文件的文件属性:rw-rw-r--,表示拥有者(owner)可读可写不可执行、所属者(group)可读可写不可执行、其他(other)可读

注意:

1、上述信息没有显示other用户,是由于显示了拥有者和所属者后,其他的用户就是other

2、默认的拥有者和所属者都是创建文件的用户本身,假若所属者没有添加过其他用户,就是自己本身

3、group存在的意义是,在安全的前提下,便捷组内协同

二、修改权限一、修改文件权限

//拥有者(owner) 、所属者(group) 、其他(other)
chmod u+r 文件名     //给拥有者加上读权限
chmod g-w 文件名     //给所属者加上写权限
chmod o+rwx 文件名   //给其他加上读写执行权限
chomd a+r 文件名     //给所有用户加上读权限
chmod u+r,g-w,o+rwx 文件名    //给拥有者加上读权限、给所属者加上写权限、给其他加上读写执行权限
chmod u=rw- 文件名   //把拥有者权限修改为可读可写不可执行

不仅上述的更改权限命令外,还有一种命令方式。

是否可读:可以理解用0/1二补码表示,不能用0表示,可以用1表示

比如:rw-——>110;转化成8补码数就是6

所以,666——>rw-rw-rw-

chmod 666 文件名     //将权限修改为拥有者、所属者、其他都可读可写不可执行

二、修改用户

//修改用户需要进行sudo提权
sudo chown 用户名 文件名     //将文件的拥有者修改为命令里的用户
sudo chgrp 用户名 文件名     //将文件的所属者修改为命令里的用户
sudo chown 用户名1:用户名2 文件名    //将文件的拥有者修改为用户名1,所属者修改为用户名2

三、不受权限约束的超级用户“root”

用户分类:

超级用户:root

普通用户:自己创建的用户

关于用户的常用命令:

创建命令: 
adduser  用户名
passwd  用户名   //设置密码
其他关于用户的命令:
ls /home:查看所有用户
whoami:查看当前用户
su - 用户名 :切换用户
sudo 其他命令:可以暂时提权,让普通用户有root用户的权限

三、默认权限1、默认的权限

通常普通文件,起始权限:666(rw-rw-rw-)

通常目录文件,起始权限:777(rwxrwxrwx)

2、umask(权限网段)通常普通文件,起始权限是666,而且我们看见的普通文件起始权限是664linux权限命令,是为何呢?

是由于umask的存在,umask是权限网段

但凡在umask中出现的权限,都不应当在最终权限中出现

估算规则为:

权限&-umask

也就是权限与运算,权限网段的反

所以,虽然普通文件的默认权限是666,也由于umask(权限网段)的存在linux操作系统原理,让初始权限为664。

更改权限网段

umask 三八进制数
例:
umask 003     //将默认权限掩码改为了003

4、权限的精典笔试题(1)步入应当目录、读取一个文件、在一个目录下写文件分别都须要哪些权限?

答:

目录权限:

一个目录下写文件w权限

读取一个目录r权限

步入一个目录须要x权限//非常注意,步入一个目录须要x权限linux权限命令,并非r权限

(2)在同一目录下,怎样避免其他用户删掉自己创建的文件?(粘滞位)

答:sudochmod+tdir

上述命令称作设置粘滞位,给目录设置粘滞位可以避免普通用户删掉该目录下的文件

补充:假如其他用户直接删掉目录,也是未能删掉的,由于删掉目录前须要删掉掉该目录下所有的文件,由于粘滞位的存在,也是难以操作成功的。

(3)粘滞位的应用场景

Linux中会有好多的临时文件,临时文件储存在根目录下的临时目录中linux系统命令,这个目录是一个公开的,你们都可以使用和访问,为了避免其他用户删掉你的临时文件,可以通过设置粘滞位,避免其他用户删掉你的文件。

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复