目录⭐️上一篇博客介绍了Linux中的常用指令,今天就带大家来了解一下Linux中有关权限的概念。
Linux下的用户文件的权限
文件的访问者文件类型和访问权限文件权限值的表示 权限设置
chmodchownchgrpumask 目录权限
介绍粘滞位 给用户sudo分配权限总结
Linux下的用户
在Linux下有两种用户:超级用户(root)和普通用户
超级用户具有最高的权限,做任何事情都不受限制,且其命令提示符号是“#”普通用户的权限没有root那么高,会受限制,它的命令提示符是“$”
如图示:
下面解释两个命令:
命令: su [用户名](su - [用户名])(后面的目录可以切换到用户的家目录下,路径发生改变,前者路径不发生改变)
功能: 切换目录
实例演示:
实例1: root用户且普通用用户和普通用户切root用户,前者不需要密码,后者需要密码
实例2: 观察su 和su - 的区别
命令: sudo 命令
功能: 可以短暂地提示普通用户的权限。
说明: 可以用普通用户做一些原本不能做的事情。
权限 = 人 + 事物的属性
文件的访问者分为一下三类:
文件和文件目录所有者:u(user)文件和文件目录的所在者的所在组的用户:g(group)其他用户:o(others) 文件类型和访问权限
文件类型:
d:文件夹(目录文件)-:普通文件(文本、各种动静态库、可执行程序等)l:软连接(相当于Windows下的快捷方式)b:块设备文件(硬盘、光驱等)p:管道文件(用于通信)c:字符设备文件(屏幕等串口设备)s:套接口文件
小结: Linux下一切皆文件,且Linux系统下不区分文件后缀。(gcc区分文件后缀,因为gcc是系统上的命令)
基本权限:
读(r/4):read对于文件而言,具有读取文件内容的权限;对于目录而言,具有浏览该目录信息的权限写(w/2):write对于文件而言,具有修改文件内容的权限;对于目录而言,具有创建或删除目录下文件的权限执行(x/1):execute对于文件而言,具有执行文件的权限;对于目录而言,具有进入目录的权限(因为进入目录其实是修改了pwd) 文件权限值的表示
分为以下两种:
字符表示法(2*2*2 = 有八种) 语法: chmod [参数] 权限 文件名
功能: 设置文件访问权限,只有文件的拥有者和root才可以改变文件的权限
常用选项:
-R:递归修改目录文件的权限
实例演示:
实例1 采用用户表示符+/-=权限字符的方式
实例2 使用八进制方法修改权限
语法: chown [参数] 用户名 文件名(chown o:g file1 file2…)
功能: 修改文件的拥有者
说明: 可以批量处理文件,其中o是写修改后的所属用户,g写的是修改后的所属用户组
实例演示:
实例1 修改文件所属用户
实例2 批量修改文件所属用户和所属组
语法: chgrp [参数] 用户组名 文件名
功能: 修改文件或目录的所属组
常用选项:
-R 递归修改文件或目录的所属组
实例演示:
实例1
语法: umask权限值
功能:
查看或修改文件掩码新建文件夹默认权限=0666新建目录默认权限=0777
说明: 将文件默认权限减去权限掩码中有的权限就是创建一个文件有的权限
实例演示:
实例1 查看默认权限掩码
实例2 修改默认权限掩码,使得创建一个文件时,所有人都只有读权限,也就是(444)
目录下的三种权限
r:可以浏览目录内容w:可以在该目录下创建或删除文件x:可以进行目录。进入目录本质是修改了路径,也就是pwd。
实例演示
实例1: 去掉目录的可执行权限,观察是否可以进入目录
实例2 去掉目录的可读权限,看是否可以ls该目录查看它下面的文件
实例3 去掉目录的可写权限,看是否可以在该目录下创建或删除文件
当一个目录被设置粘滞位时,该目录只能被三种用户删除:
超级用户root用户所有者用户所属组
实例演示:
实例1
切换至root用户
vim 打开/etc/sudoers文件
找到图片中的内容,在下面添加用户即可
Linux权限有关的内容就介绍到这里了。喜欢的话,欢迎点赞、收藏和关注~