目录
shell
Liunx权限
用户
sudo
Linux的权限管理
文件访问者的分类
文件的属性
文件的权限
文件全权限值的表示方法
1.字符表示
2.八进制数值表示
用户符号
修改文件访问权限
修改文件拥有者
修改拥有者和所属组
修改所属组
文件目录的权限的含义
问题
粘滞位
shell
Linux严格意义上是一个操作系统,叫做“核心“(kernel),但一般用户不能直接使用kernel,而是通过kernel的”外壳“程序即(shell),来和kernel沟通。
shell最简单定义:命令行解释器(command interpreter)
shell只是所有外壳程序的统称,例如在centos 7 中 的外壳程序名叫做bash
windows GUI(GUI:图形用户界面):我们不是直接操作操作系统,而是通过图形接口来完成我们的操作。
shell:设立了主要是将我们的指令进行解析,解析给Liunx内核,反馈的结果再通过内核运行出结果,再通过shell解析给用户。
Liunx权限
用户
Liunx有两种用户
1.超级用户(root)
2.普通用户
超级用户命令提示符是#
普通用户是$
sudo
作用:权限提升,想提升某条指令的权限,但不切换到root
语法: sudo 指令
需要在被root加入到信用列表中.
将普通用户添加到信任列表中
1切换至root用户,只有root用户才有权限将普通用户添加到信任列表中
2用vim打开sudoers
vim /etc /sudoers
找到这行
在这行下添加一行
用户名 ALL=(ALL) ALL
Linux的权限管理
文件访问者的分类
1.文件拥有者:文件和文件目录的所有者
2.文件所属组:文件拥有者所在的组的用户
3.other:其他用户
其中拥有者,所属组,other由超级用户(root)和普通用户扮演。
文件的属性
文件的权限
三个为一组
1.r :读权限
2.w:写权限
3.x :可执行权限
4.-:表示没有这个权限
文件全权限值的表示方法
1.字符表示
2.八进制数值表示
注意:
777 为可读可写可执行
000 为不可读不可写不可执行
用户符号
1.u:拥有者
2.g:所属组
3.o:other
4.a:所有用户
修改文件访问权限
chmod
语法:chmod 选择 权限 文件名或目录
格式一:chmod o+rwx 文件名或目录名(表示给other给予可读可写可执行权限)
格式二:chmod 777 文件名或目录名(表示给所有人给予可读可写可执行权限)
修改文件拥有者
chown
语法:chown (选项) 用户名 文件名或目录名
注意:要root权限:用sudo
修改拥有者
chown -r 用户名 目录名(递归修改拥有者,即全部修改)
修改拥有者和所属组
chown (-r)用户名1:用户名2 文件或目录(将用户1设置为拥有者,将用户2设置为所属组)
修改所属组
语法:chgrp 选项 用户名 文件名或目录名
chgrp (-r)用户名 文件名或目录名
文件目录的权限的含义
1对于文件来说,可读可写可执行即字面意思。
2对于目录来说,
1.可读权限:如果用户没有r(可读)权限时,无法通过ls等指令查看目录的文件内容。
2.可写权限:如果用户没有可写权限,无法通过指令在目录创建文件或删除文件。
3.可执行权限:如果没有该目录的可执行权限,则无法通过cd 进入目录中。
权限掩码
在创建文件的时候,要从起始文件中过滤掉umask中出现的权限
创建的普通文件:起始权限0666,去掉x
创建的目录文件:其实默认权限0777
实际权限为(666)$~(掩码)
修改
umask+ 修改后的值
问题
但这样就会有一个问题:
只要用户有目录的写权限,就可以删除目录里面的文件,而不管这个用户是否有这个文件的写权限。
因此Linux引入了粘滞位
粘滞位
语法:chmod +t 目录名
功能:给目录加上粘滞位
当一个用户将某一个目录加上粘滞位后,该目录的权限值的最后一个位就变为字符‘t’了
如果要在创建一个共享文件,有多个用户共享,怎么做?
首先不能在根目录创建,因为在home目录中,不同用户相应的目录权限均为
因此不同用户是无法进入其他用户的目录的
所以在根目录创建
为了让多个用户都能在共享文件中写文件 就必须要把other权限放开。
但是此时 A在共享目录中创建的文件B可以删除!!
此时用粘滞位就可以解决
当一个目录被设置为:粘滞位时
该目录下的文件只能由
1.超级管理员删除
2.目录所有者删除
3.文件所有者删除