1.用户

Linux下有两种用户:超级用户(root)和普通用户;

超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情
超级用户的命令提示符是"#",普通用户的命令提示符是"$"

超级用户:

普通用户:

2.用户切换

用户间切换:

su + 用户名 //可用exit回退到原用户

1)普通用户切换超级用户(需要输入root用户密码)

2)超级用户切换到普通用户(不需要输入普通用户密码)

普通用户切换超级用户:

su - //也可用exit回退到原用户

3.创建和删除普通用户

创建普通用户

useradd+用户名(创建)
passwd+用户名(设置密码)

删除普通用户

userdel -r +用户名

查看家目录下的用户

ls /home

4.权限管理

什么是权限

权限=用户+事物属性(rwx)
r:可读 w:可写 x:可执行

文件访问者类型(用户):

文件和文件目录的所有者:u---User(拥有者)
文件和文件目录的所有者所在的组的用户:g---Group(所属组)
其它用户:o---Others (其他)

文件类型和访问权限(事物属性):

文件类型:

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

基本权限:

读(r):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(w):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(x):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
“-”表示不具有该项权限

5.文件权限的设置方法

1)chmod

功能:修改用户对某一文件的权限

(1)chmod 角色 +/- 权限 文件

(2)chmod 8进制(u) 8进制(g) 8进制(o) file

rwx:111(二进制) -->7(八进制)

rw-:110(二进制) -->6(八进制)

r--:100(二进制) -->4(八进制)

---:000(二进制) -->0(八进制)

2)chown

功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名

3)chgrp

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名

6.权限掩码

对于新建的文件和目录我们会发现:目录的默认权限是775,文件的默认权限的664,为什么呢?

起始时,目录默认权限的777,文件默认权限的666,由于存在权限掩码,使得最终权限和起始不同

最终权限=起始权限 &(~权限掩码)

权限掩码的查看:umask

修改权限掩码为0000:umask 0000

此时我们再次创建新的目录和文件

通过上图我们可以看到新目录和文件的权限发生了改变

7.粘滞位

思考一下接下来的代码

我们可以看到,这个文件的拥有者和所属组均是root,而用户qz属于others,只有读权限,我们只能读取文件而不能修改文件内容,但是我们却可以将该文件给删掉,这是为什么呢?

这是因为这个文件所处的文件夹的权限本身就属于我们,有w权限,即可以删除

这里就要引出一个概念:粘滞位 (chmod o+t file)

当一个目录被设置为粘滞位,则该目录只能由

1、超级管理员删除
2、该目录的所有者删除
3、该文件夹的所有者删除

Linux_权限理解(详细PLUS)的更多相关文章

  1. auth权限认证详细讲解

    auth权限认证详细讲解 一.总结 一句话总结:四表两组关系,一个多对多(权限和用户组之间)(多对多需要3个表),一个一对多(用户和用户组之间) 1.实际上使用Auth是需要4张表的(1.会员表 2. ...

  2. 谈谈Android 6.0运行时权限理解

    前言 谷歌在2015年8月份时候,发布了Android 6.0版本,代号叫做“棉花糖”(Marshmallow ),其中的很大的一部分变化,是在用户权限授权上,或许是感觉之前默认授权的不合理,现在6. ...

  3. linux_权限小练习

    下面是解释: 当前# root用户, ls列出列表 mkdir 新建目录 赋予目录744权限      对others来说是  r--  只可读 touch 新建在目录下的同名文件 赋予文件600权限 ...

  4. yii2 rbac权限控制详细操作步骤

    作者:白狼 出处:http://www.manks.top/article/yii2_rbac_description本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 ...

  5. Linux_权限管理理论概述

    一.权限定义 1.文件权限作用的对象 owner :属主 - u group :属组 - g other :其他人 - o 2.文件的三种权限 //针对文件的权限 r 可读 可以使用cat命令查看文件 ...

  6. Android 6.0权限全面详细分析和解决方案

    原文: http://www.2cto.com/kf/201512/455888.html http://blog.csdn.net/yangqingqo/article/details/483711 ...

  7. Linux_权限

    一.查看文件或文件夹权限 [root@hadoop09-linux etc]# ll -h /etc #ll 是ls -l 的缩写方式 -h文件大小单位k 截取其中三行说明 drwxr-xr-x. 2 ...

  8. Android PermissionChecker 权限全面详细分析和解决方案

    原文: http://www.2cto.com/kf/201512/455888.html http://blog.csdn.net/yangqingqo/article/details/483711 ...

  9. Spring整合Shiro做权限控制模块详细案例分析

    1.引入Shiro的Maven依赖 <!-- Spring 整合Shiro需要的依赖 --> <dependency> <groupId>org.apache.sh ...

  10. chmod 权限 命令详细用法

    指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案 ...

随机推荐

  1. Maven创建Web项目(idea)

    web项目创建 Web项目开发需要导入许多的第三方jar包,用Maven创建web项目就可以将这一操作免去. 本项目是在idea下创建的,idea自带Maven,如果还未了解Maven的同学可以看上一 ...

  2. win10安装和使用wireshark

    win10安装和使用wiresharkhttps://blog.csdn.net/qq_34732729/article/details/105126146https://blog.csdn.net/ ...

  3. Python常见错误及处理

    1.ValueError 值错误,传递给函数的变量不符合函数预期类型.如下'python'是非数字无法转换为整数类型,故会报错ValueError 将a改为数字就不会报错了 2.NameError 变 ...

  4. 【SpringBoot】07 探索配置方式 Part3 多环境配置

    1.按多个Profile文件来配置 SpringBoot默认会使用第一个 我们可以在默认的application.properties中设置激活哪种环境配置 profile的命名规则 2.按Yml可以 ...

  5. jmeter 使用非 GUI 模式运行测试脚本

    使用非 GUI 模式运行测试脚本时可以使用的一些命令:-h 帮助 -> 打印出有用的信息并退出-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter-t 测试文件 -> ...

  6. 日本联合研究团队发布 Fugaku-LLM——证明大型纯 CPU 超算也可用于大模型训练

    相关: https://mbd.baidu.com/newspage/data/landingsuper?context={"nid"%3A"news_101396655 ...

  7. How to 'apt-get install python-opengl' on Ubuntu22.04

    ImportError: Error occurred while running `from pyglet.gl import *` HINT: make sure you have OpenGL ...

  8. 国产深度学习框架MindSpore的高校发展之旅——“样本点”计划

    MindSpore这个框架我是使用时间比较早的了,因为这是华为的产品,而且正好是我所在的领域,再加上前些年华为的那些爱国宣传,我是大力支持这个软件的,而且是非常支持的那种.虽然之前就知道华为的这个软件 ...

  9. 9组-Beta冲刺-2/5

    一.基本情况(15分) 队名:不行就摆了吧 组长博客:9组-Beta冲刺-2/5 GitHub链接:https://github.com/miaohengming/studynote/tree/mai ...

  10. Tim定时器初始化的方法

    #include "stm32f10x.h" // Device header void TimerInit(void) { RCC_APB1PeriphClockCmd(RCC_ ...