目录
一、命令解释器
1、什么是命令行解释器
shell和bash联系
2、为什么用命令行解释器
作用
存在意义
二、Linux权限
1、用户分类
2、Linux权限管理
1)权限身份
2)文件类型和访问权限
3)文件访问权限的相关设置方法
a. chmod
格式一:用户表示符 +/-/= 权限字符
格式二:三位8进制数字
b. chown
c. chgrp
d. umask(权限掩码)
3、共享目录
1)问题引入
2) 粘滞位
3)tmp文件
一、命令解释器
1、什么是命令行解释器
[xiaoming@moonshot ~]$ xxx
——————————————————————|vbash命令行
- xiaoming:用户名
- moonshot:主机名
- ~:当前目录
- $:命令行提示符
- xxx:输入指令过程(本质输入字符串)
指令的本质就是编译好的程序和脚本,存放在系统特定路径下(Linux中存放在/usr/bin/下)
所有的指令最终都要在OS内部运行,但OS使用难度比较高,因此用户不能直接和OS打交道,故用户命令行解释器。
命令行解释器:1)在Windows中称为GUI 2)在Linux中称命令行,bash/sh,shell
shell和bash联系
shell是命令行解释器的总称,bash,sh是不同种类的解释器,上边bash命令行即为bash的样子。
2、为什么用命令行解释器
作用
对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。
存在意义
- 进行命令行解析
- 保护OS,对于用户非法请求直接拦截
二、Linux权限
1、用户分类
超级用户:可以再linux系统下做任何事情,不受权限限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是"$"
命令:su [用户名]
功能:切换用户
su/su -:将普通用户变为root,使用Ctrl+D返回普通用户
暂时对一条指令提权:sudo command
注:只有将普通用户添加到系统的信任白名单(/etc/sudoers)中后才可以使用sudo
2、Linux权限管理
1)权限身份
- 文件和文件目录的拥有者:u---User
- 文件和文件目录的所有者所在的组的用户:g---Group
- 其它用户:o---0thers
2)文件类型和访问权限
使用ll指令可查看
a. 文件类型(Linux中文件名后缀没有直接的意义,系统是通过第一位进行文件区分)
- d:文件夹
- -:普通文件(文本,可执行程序,库 基本都属于普通文件)
- l:软链接(类似Windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件(例如屏幕等串口设备)
- s:套接口文件
b. 基本权限
- 读(r / 4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- 写(w / 2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- 执行(x / 1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
- “—” :表示不具有该项权限
rwx相对位置固定,每个位置只有是或否含义(可用八进制方案表示)
判断当前登录用户属于哪一组:将登陆用户与文件属性信息中显示的拥有者和所属组比较,只要配对成功,就结束,均不等时为Other
3)文件访问权限的相关设置方法
a. chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
参数常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
权限值的格式:
格式一:用户表示符 +/-/= 权限字符
- +:向权限范围增加权限代号所表示的权限
- -:向权限范围取消权限代号所表示的权限
- =:向权限范围赋予权限代号所表示的权限
用户表示符:
- u:拥有者
- g:拥有者同组用
- o:其它用户
- a:所有用户
格式二:三位8进制数字
chmod 664 /home/abc.txt
b. chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
常用选项:-R 递归修改文件或目录的所属组
chown -R user1 filegroup1
c. chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
d. umask(权限掩码)
凡是在umask中出现的权限,不会在最终的文件权限中出现
格式:1)修改:umask 权限值 2)查看:umask
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
新建目录默认权限是0777,新建文件默认权限是0666,但普通用户创建新文件时权限是0664,创建新目录时是0775,原因在于:
新建文件:110 110 110
umask: 000 000 010
操作后文件:110 110 100 (664)
故文件显示出的权限为:文件权限 & ~mask
3、共享目录
1)问题引入
a. 普通用户的家目录权限是700,故在家目录下创建的文件和目录别人都看不到,但有时多个用户想进入文件进行数据共享,因此共享文件不能放在任何一个人的家目录中,故用root在根目录下创建一个shared目录(目录的u和g均为root)-------> 任何人只要在根目录进入共享目录就可以文件操作
b. 一个用户无法访问和修改某个文件,但其可以删除该文件,因为一个文件能否被删除不是由该文件权限决定,而是由该文件所处目录决定,如果去掉共享目录的Others w权限,每一名用户都无法在创建删除目录中的文件 -----> 无法实现共享
2) 粘滞位
给目录设置权限,一般是共享目录,大家可在目录中进行各自文件的增删改查,但只允许文件拥有者或root能删除该文件,其他人一概不允许。
chmod o+t shared
t是一种特殊的x权限
3)tmp文件
在根目录下已存在一个共享目录