从零开始学习Linux(3)----权限

1.Linux权限的概念

Linux用户:1.root,超级管理员

2.非root,XXX,普通用户

命令:su用户名

功能:切换用户。

su -:是指以root的身份重新登录一次。

普通用户切换root需要输入密码,root切换普通密码无需输入密码。

普通用户切换另一个普通用户,需要对方的密码。

sudo 命令:对该命令进行提权,以root的身份执行该命令。

注意:一个用户的用户名在sudoers配置文件中,才允许这个用户执行sudo

一个一个用户的用户名不在sudoers配置文件中,不允许这个用户执行sudo

2.Linux权限管理

1.文件访问者的分类

  • 所有者(u)
  • 所有者所在的组的用户(g)
  • 其他用户(o)

2.文件类型和访问权限

1.文件类型

d :文件夹

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

2.基本权限

  1. 读(r/4)具有读取文件内容和浏览目录信息的权限
  2. 写(w/2)具有修改文件和删除移动目录内文件的权限
  3. 执行(x/1)具有执行文件和进入目录的权限

权限也可以使用8进制数值表示

|----------|---------|---------|
| 权限符号 | 八进制 | 二进制 |
| r | 4 | 100 |
| w | 2 | 010 |
| x | 1 | 001 |
| rw | 6 | 110 |
| rx | 5 | 101 |
| wx | 3 | 011 |
| rwx | 7 | 111 |
| --- | 0 | 000 |

3.更改文件权限

1.chmod

功能:设置文件的访问权限。

格式:chmod选项 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和 root 才可以改变文件的权限
+-代表增加权限和取消权限

上面指令的作用是将110.txt文件拥有者的读权限删除。

上面指令的作用是给所有用户的所有权限给110.txt文件。

注意:Linux文件可执行

1.必须具有可执行权限

2.必须是可执行文件

2.chown

功能:修改文件的拥有者

格式:chown选项 用户名 文件名

普通用户在授予文件权限时需要sudo提权。

3.chgrp

功能:修改文件的所属组

格式:chgrp选项 用户名 文件名

4.file

功能:辨识文件类型

语法:file选项 文件或目录

常用选项:

-c 详细显示指令执行过程,便于排错或分析程序执行的情形

-z 尝试取解读压缩文件的内容

5.umask

功能:查看或修改文件掩码

新建文件默认权限=0666

新建目录默认权限=0777

创建文件或目录时权限收到umask的影响,若默认权限时mask,实际的权限时mask&(~umask)

注:~为按位取反

格式:umask 权限值

将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限,超级用户默认掩码值为0022,普通用户默认掩码值为0002。

4.目录的权限

  • 可执行权限:如果目录没有可执行权限,则无法cd到目录中
  • 可读权限:如果目录没有可读权限,则无法用ls查看目录中的内容
  • 可写权限:如果目录没有可写权限,则无法再目录中创建和删除文件

那么用户如果具有目录的写权限,用户就可以删除目录中的文件,而不用管该用户有没有这个文件的写权限吗?

为了解决这个问题,Linux有粘滞位的概念

5.粘滞位

语法:chmod +t 目录

功能:该目录下的文件只能由超级管理员,该目录的所有者和该文件的所有者删除。

其他用户无法删除该文件

粘滞位实际是给目录中的other设置的一个权限位,具有x的意义,同时也对目录权限做出了特殊规定。

相关推荐
差不多的周周6 小时前
《骨架上下文:基于零镜头骨架的动作识别的骨架侧上下文提示学习》论文核心部分详解
学习
YoungStudyAI7 小时前
QA的下一个自动化阶段,可能不是再写更多脚本,而是设计测试Agent
运维·自动化
Century_Dragon7 小时前
从挂图到VR:汽修专业的一堂新能源原理课可以怎么上~
学习
分布式存储与RustFS8 小时前
纠删码到底吃掉了多少容量:EC:4、EC:8 的利用率与容错怎么算
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
遇见小修修8 小时前
3步解决打印机0x00000709报错 ,广州深圳程序员可自行排查
运维·打印机·维修·打印机报错·打印机运维·打印机故障自查
知识分享小能手8 小时前
C++ 学习教程,从入门到精通,C++对象和类 — 详细知识点总结(10)
开发语言·c++·学习
顺顺 尼8 小时前
linux 进程信号(上)
linux·c++·算法
niuTaylor8 小时前
飞腾 FT-2000/4 Ubuntu 内存卡 / NVMe SSD 系统制作完整指南
linux·服务器·人工智能·驱动开发·单片机
New农民工9 小时前
倒立摆训练秘籍:理解训练参数
学习
L@ncor9 小时前
第五章 基于低代码平台的智能体搭建 · 学习笔记(Coze / Dify / FastGPT / n8n)
笔记·学习·低代码·agent·prompt工程