1、理解shell外壳程序
用户
shell
操作系统
驱动
硬件
操作系统对下管理好驱动以及硬件设施,对上给用户提供方便的使用体验
shell程序就是在操作系统与用户之间,为用户提供更好的使用体验的程序
shell程序将指令翻译给内核并将内核的执行结果传达给用户
shell:
shell程序在一定程度上保护了操作系统,以免用户误操作
shell程序是一个统称,命令行与图形化界面在本质上都是shell程序,xshell外壳下的 Bash命令,是一个具体的外壳程序
2、用户切换
用户切换同时伴随着权限的切换
root用户是超级用户,基本上不受权限的限制,同样root用户可以切换到任意用户或修改任意用户的密码,普通用户切换到root用户需要输入root密码
Linux环境下,用户密码不显示;
su su - su root 都可以切换成root用户,没有太大区别,切换回来后所处的路径可能不同
用户切换后,也可以通过exit/logout指令切换,或者直接ctrl d快捷切换
3、权限问题
Linux下什么是权限?
通过ll命令打印出来的文件,前面的一串字符就是权限,例如:
第一行的 -rw-r--r--
最后一行的 drwxr-xr--
一共有十个字符
每行的第一个字符表示文件类型,Linux系统层面下不以文件的后缀来区分文件类型,但是并不排斥文件后缀。
如 - 表示普通文件
d 表示目录
l 表示链接文件
c 表示字符设备
b 表示块设备
p 表示管道文件
剩下的九个字符,按相邻三三一组,分成三组来看。
以 drwxr-xr--为例
其中 rwx 代表的是文件的所有者的权限
r-x代表的是文件所属组的权限
r--代表other的权限
其中,只要不是所有者与所属组,就是other
r代表读权限;w代表写权限;x代表执行权限;-代表无权限
一个文件如果不具备相应的权限,就不能执行相应的工作,但是具备了某一项权限,也不一定能执行。例如文本文件获得了x权限,但是并不能执行。
每一个权限位有且仅有两种选项——有或没有
权限的修改:
- 方法一:chmod u/g/o+r/w/x 文件名 u 拥有者(you、你)
- g 所属组(group、组)
- o 其他人(other)
a表示所有人(all)
1、当所有权限都被删除后,普通用户无法操作文件,但是root用户可以操作文件
2、进入一个文件夹需要的是x权限;创建一个文件需要的是w权限;读取一个文件夹的内容需要r权限
方法二:
由于每一个权限位只有两种选项,那便可以用0/1表示权限的有无
三个权限位构成一个八进制数字
所有者的修改:
chown 所有者 文件名
chgrp 所属组 文件名
其中root用户可以直接修改文件的所属组与所有者,普通用户修改需要输入给予者的密码
当所属组与所有者是同一人时,所有者的权限优先,即能不能对文件进行操作,只看所有者有没有权限,不看所属组有没有权限
sudo命令可以短暂提升用户权限,使普通用户获得root用户的权限,但是普通用户若想使用这条命令,需要root用户将普通用户添加到信用列表