文章目录
- 1.shell命令及运行原理的初步理解
- 2.Linux权限概念
- Linux下的两个用户:超级用户(root)、普通用户
- Linux权限管理
- a. 文件类型
- b. 权限
- 文件权限
- 权限修改
- 更改人
- 目录权限
- 缺省权限
1.shell命令及运行原理的初步理解
帮助理解:如果说你是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的且有让你心动的小花。你看上了小花,但是有不好意思直接表白,那就让你你家人找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash。
从技术角度,shell的最简单的定义:命令行解释器
为什么要使用这样的外壳程序呢:
- 方便用户的操作
- 有了外壳程序就可以保护内核(将错误的指令直接驳回)
bath 和 shell 的区别就是 王婆 和 媒婆 的区别 ,前者跟为具体一点
而外壳程序也为了防止自己挂掉,所以会创建子进程来执行这个命令
这个只是感性的理解后续还会再次讲到的
2.Linux权限概念
Linux下的两个用户:超级用户(root)、普通用户
区别是:
- 超级用户:可以再linux系统下做任何事情,不受限制
- 普通用户:在linux下做有限的事情。 在 /home 目录下存放
- 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
我们可以通过su
命令进行切换切换管理员(root),也可通过Ctrl+D进行身份回退
这里并不是重新登陆所以目录不会变,如果是su -
就会让root重新登录,目录就会改变
sudo
命令可以将自己的指令提权到root进行执行,而且是输入自己的密码,但是要自己在root的白名单中,这里我们在学会用vim后在进行更改
Linux权限管理
我们查看文件时会遇到以下这些属性:
a. 文件类型
我们之前说过的:
- d:文件夹-:普通文件
- l:软链接(类似Windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件(例如屏幕等串口设备)
- s:套接口文件
b. 权限
文件权限
- 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
-
表示不具有该项权限
而对人来说对应的是: 创建者 所属组 和其他
凡是不属于前两者的就是其他,而且权限只判断一次,确定为是哪一类的就直接给相对应的权限
权限修改
chmod u/o/g/a -/+ r/w/x
即可
u
创建者o
其他g
所属组a
全部人+
增加权限-
减少权限r/w/x
对应的权限
例如 :
更改人
chown 拥有者 所属组 文件名
可以进行人的修改
默认不允许将文件直接给别人,需要root权限
目录权限
默认情况下,我们新建一个目录,rwx的权限都要有
- 无-
r
权限无法访问目录内的文件
- 无
-w
无法在内部新建文件
- 无
x
无法进入目录
一个文件是否能被删除取决与目录的w
权限与文件无关
缺省权限
我们创建的目录都会有对应的权限,那么这些权限是如何进行创建的呢,如何修改呢
最终权限 = 起始权限 &(~umask)
-
对于普通文件来讲:起始权限666,默认不带可执行
-
对于目录文件来讲:起始权限777,默认携带x
umask直接输入umask
就可以得到
- umask目的是什么?
希望凡是在umask中出现的权限,都不应该在最终权限中出现
- 为什么要有umask?
a.默认权限,有OS自主决定,无法在创建前进行修改—系统可配置,可以灵活满足需要的一种表现
b.特殊情况下,配置umask,可以控制文件的默认权限,让我们的代码都是可控的。