⭐️上一篇博客介绍了Linux中的常用指令,今天就带大家来了解一下Linux中有关权限的概念。
在Linux下有两种用户:超级用户(root)和普通用户
下面解释两个命令:
命令: su [用户名](su - [用户名])(后面的目录可以切换到用户的家目录下,路径发生改变,前者路径不发生改变)
功能: 切换目录
实例演示:
实例1: root用户且普通用用户和普通用户切root用户,前者不需要密码,后者需要密码
实例2: 观察su 和su - 的区别
命令: sudo 命令
功能: 可以短暂地提示普通用户的权限。
说明: 可以用普通用户做一些原本不能做的事情。
权限 = 人 + 事物的属性
分为一下三类:
小结: Linux下一切皆文件,且Linux系统下不区分文件后缀。(gcc区分文件后缀,因为gcc是系统上的命令)
基本权限:
分为以下两种:
表示 | 说明 | 表示 | 说明 |
---|---|---|---|
rwx | 可读可写可执行 | rw- | 可读可写 |
r-x | 可读可执行 | -wx | 可读可执行 |
r– | 只可读 | -w- | 只可写 |
–x | 只可执行 | — | 无权限 |
字符表示 | 八进制 | 二进制 |
---|---|---|
rwx | 7 | 111 |
rw | 6 | 110 |
rx | 5 | 101 |
wx | 3 | 011 |
r | 4 | 100 |
w | 2 | 010 |
x | 1 | 001 |
— | 0 | 000 |
语法: chmod [参数] 权限 文件名
功能: 设置文件访问权限,只有文件的拥有者和root才可以改变文件的权限
常用选项:
实例演示:
实例1 采用用户表示符+/-=权限字符的方式
实例2 使用八进制方法修改权限
语法: chown [参数] 用户名 文件名(chown o:g file1 file2…)
功能: 修改文件的拥有者
说明: 可以批量处理文件,其中o是写修改后的所属用户,g写的是修改后的所属用户组
实例演示:
实例1 修改文件所属用户
实例2 批量修改文件所属用户和所属组
语法: chgrp [参数] 用户组名 文件名
功能: 修改文件或目录的所属组
常用选项:
语法: umask权限值
功能:
说明: 将文件默认权限减去权限掩码中有的权限就是创建一个文件有的权限
实例演示:
实例1 查看默认权限掩码
实例2 修改默认权限掩码,使得创建一个文件时,所有人都只有读权限,也就是(444)
目录下的三种权限
实例演示
实例1: 去掉目录的可执行权限,观察是否可以进入目录
实例2 去掉目录的可读权限,看是否可以ls该目录查看它下面的文件
实例3 去掉目录的可写权限,看是否可以在该目录下创建或删除文件
当一个目录被设置粘滞位时,该目录只能被三种用户删除: