| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux的权限概念 -> 正文阅读 |
|
[系统运维]Linux的权限概念 |
Linux下有两种用户:超级用户(root)、普通用户。
命令: su [用户名] 功能:切换用户 例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su?root(root可以省略),此时系统会提示输入root用户的密码 Linux权限管理 文件访问者的分类(人)
文件类型和访问权限(事物属性) 我们输入ls -l 的指令 就会出现有权限的字符 ?我们来分析一下drwxr-xr-x 8 root root 4096 0ct 2 22:19 C这个是代表着什么 例如:?拥有者的权限是 rwx 分别对应的是可读可写可执行,如果拥有者没有可读的权限,那在可读的位置会是 “-”?符号,即有权限就会显示相对应的字符,如果没有权限则显示 “-”?。 文件类型 Linux的文件跟windows的有很大的区别,Linux的文件不以文件后缀名来区分,即使我们把一个文件的后缀改为.c 或其他符号,仍然可以进行对其进行编辑运行,但是如果要用到其他工具的话,例如gcc等,是需要对后缀名做区别对待的 例如,我们现在有个a.out文件,我们把这个文件名字改为aaaaa 我们同样可以运行他 这说明Linux不根据后缀名来区别对待文件,但是我们仍然可以用后缀来区别对待文件,仅仅是对我们而言做个提示,对Linux而言,我们认为的后缀,仅仅是名字的一部份 ?
?文件权限值的表示方法
具体这些表示是怎么来的呢? 我们再看一下 每个权限符号对应的八进制和二进制
?文件访问权限的相关设置方法 chmod 指令功能: 设置文件的访问权限 格式: chmod [参数] 权限 文件名 常用选项:
chmod的命令权限值的修改格式 ① 用户表示符“+”“-”“=”权限字符
例如: chmod u-r aaaaa 我们可以看到,aaaaa的拥有者,已经没有r 可读权限了? ? 例如: chmod g-x aaaaa 我们可以看到,aaaaa的所属组,已经没有x可执行权限了? 如果没有权限会怎么样呢? 我们把所有者的可读权限取消了。?????? ?为什么我们还可以读这个文件呢? 因为我不仅是所有者,我还是所属组的成员,Linux识别你的角色时,从左往右识别的,如果识别到了,就不会再继续识别下去。所以你要取消这个人的可读权限,要取消掉所有者和所属组的角色才行。? ------------------------------------------------------------- 我们还有一种修改的方法,通过三个8进制的数进行修改,把拥有者,所属组,other的可读可写可执行看成二进制表示,有权限为1,无权限为0,再把他们三个看成3个8进制表示,就是我们第二种修改方法。 ? ?举例: chmod 000 fail.txt 我们还可以修改文件的拥有者,所属组,通过 chown 指令 更改拥有者,chgrp 指令 更改所属组,我们需要用到root账号,或suco临时提权,才能修改,因为我们不能不经过别人同意,就把文件给别人。 举例:chown other fail.txt ? ?我们可以看到 fail.txt的文件拥有者 已经被改为other了,这里我登的是root账号所以可以随便改。 举例: chgrp other fail.txt ?为什么我们创建文件,创建目录,是我们所看到的权限。 ? ? ? Linux系统默认定义了,我们创建目录的起始权限为777,文件为666,为什么现在目录实际的是755,文件为644? 这是因为Linux会默认配置好一个权限掩码,查看掩码的指令为umask,意思是掩码那一位二进制不为零,那在创建的时候,那一个权限位就会去掉,即默认777,掩码为002,即去掉other的可写权限,具体的运算步骤是,掩码取反与上起始权限。掩码是八进制的,转为二进制,起码权限也是八进制的,转为二进制,进行运算。 ? ? 举例如果我们把权限掩码去掉,则我们创建文件和目录的时候,就会是777,666了 ?超级用户默认掩码值为0022,普通用户默认为0002 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:52:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |