当前位置: 首页 > backend >正文

Linux权限的学习

Linux下有两种用户:超级用户(root)、普通用户。

超级用户:可以再linux系统下做任何事情,不受限制

普通用户:在linux下做有限的事情。

超级用户的命令提示符是“#”,普通用户的命令提示符“$”

要从root用户切换到普通用户user,则使用 su user(用户名)。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的密码。(这里无法展示,博主目前使用的是root进行学习,没有普通用户)

Linux文件的访问者有三类:

1、文件或者文件目录的所有者:u-user

2、文件和文件目录的所有者所在的组的用户:g---group

3、其它用户:o---others

文件的类型有:

如下:ll,显示文件信息,红色框框的是文件的所有者,蓝色框框的是文件的所有者在的组的用户(比如在一个项目中,你的组员就是蓝色框框的用户);蓝色框框的右边的0代表的是文件的大小,在旁边就是文件的最新修改日期,红色框框左边的1代表的是连接数(我也不懂目前)。(rw左边的“-”,代表的是这两个文件的类型是普通文件)

上面两个文件中的权限:(rwx代表的是:可读可写可执行,r代表读,w代表写,x代表执行,-代表无权限)

读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说,具有删除移动目录内文件的权限

执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

“—”表示不具有该项权限

文件权限设置的方法:chmod [参数] 权限 文件名;

R -> 递归修改目录文件的权限 说明:只有文件的拥有者和root才可以改变文件的权限

如:chmod -R g-r 文件目录 ;将这个文件目录的所有文件设置用户所属组的权限,让他们都不能读这个目录及里面的文件。

用户表示符+/-=权限字符

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限

用户符号:   u:拥有者 ;g:拥有者同组用 ;o:其它用户; a:所有用户

如:给其他人增加执行的权限

使用三位8进制数字的指令:chmod 664 test2.txt

第一个6代表的是u的权限设置为rw;第二个6代表的是g的权限设置为rw;第三个4代表的是o的权限设置为r。

修改文件的拥有者:

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

如:chown user1 f1 ,是将文件(或目录)f1的所有者修改为用户user1;

chown -R user1 filegroup1,是将目录filegroup1及其内部所有的文件、子目录的所有者,全部递归修改为用户user1。

修改文件的所属组:

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

如:chgrp users1 /abc/f1 ,是将/abc/f1这个文件(或目录)的所属组修改为users1组。chgrp -R users1 /abc/f1,是:如果/abc/f1是目录,该命令会将此目录本身,以及目录内所有的子文件、子目录的所属组,全部递归修改为users1组。

umask

umask的功能:查看或修改文件掩码(超级用户默认掩码值为0022,普通用户默认为0002)

我们创建一个文件目录和普通文件的时候,最初的权限是受到umask和新建普通文件(0666)和新建目录文件(0777)的默认权限值共同影响。假设默认权力限制为m,则新建的普通文件或目录文件的权限是:m & ~umask。(先对umask取反,在和m异或)

如:我新建一个文件目录

 默认的umask值是可以修改的,指令:umask 数值;如:umask 046

file [选项] 文件或目录,用于查看文件或目录的类型

常用选项: -c 详细显示指令执行过程,便于排错或分析程序执行的情形。 -z 尝试去解读压缩文件的内容,目前我使用的少。file *,把目录里每个文件的类型都列出来:

目录的权限

可执行权限: 如果目录没有可执行权限, 则无法cd到目录中

可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容

可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件

由于目前我还是root用户进行学习,以下内容无法展示:

如在root用户下,存在一个文件目录(rwx),提供给所有用户进行增删改查等操作,假如你(所有者是你)的一个文件,它针对其他人other的权限是---; 其他人不能读也不能写也不能执行你的文件,但是因为文件目录的权限是rwx,支持写和删文件的操作,那这个人就可以把你的文件删掉。这样是不安全的。所以Linux引入“粘滞位”。给这个文件目录加上粘滞位后,即使文件目录具有w权限,其他人也不能删除你的文件。加粘滞位的指令:chmod +t 文件目录。

加上之后:

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由:

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

http://www.xdnf.cn/news/18100.html

相关文章:

  • 概率论基础教程第4章 随机变量(三)
  • 【opencv-Python学习笔记(7):图像平滑处理】
  • IntelliJ IDEA 开发配置教程
  • 独立看门狗(IWDG)
  • 决策树简单实战
  • 「数据获取」《防城港市统计年鉴》(2014-2020)(获取方式看绑定的资源)
  • 图像分类精度评价的方法——误差矩阵、总体精度、用户精度、生产者精度、Kappa 系数
  • 详细探讨AI在金融、医疗、教育和制造业四大领域的具体落地案例,并通过代码、流程图、Prompt示例和图表等方式展示这些应用的实际效果。
  • 一套GoldenGate → Kafka → Flink → MySQL 的端到端增量同步方案
  • IDE开发系列(1)基于QT的简易IDE框架设计
  • 3D检测笔记:基础坐标系与标注框介绍
  • 深层语义知识图谱:提升NLP文本预处理效果的关键技术
  • 【P18 3-10】OpenCV Python—— 鼠标控制,鼠标回调函数(鼠标移动、按下、。。。),鼠标绘制基本图形(直线、圆、矩形)
  • 在 PyCharm Notebook 中安装 YOLO
  • Jupyter 中实现交互式图表:ipywidgets 从入门到部署
  • 短剧小程序系统开发:推动短剧行业规范化与标准化发展
  • 01数据结构-交换排序
  • AWS Neptune:图数据库的强大潜力
  • Spring AI RAG 检索增强 应用
  • BPO(Business Process Optimization,业务流程优化)
  • 决策树(1)
  • 【领码课堂】AI写码不再“盲跑”,方案先行,自动化高效落地
  • 数据挖掘 3.5 支持向量机——边界和正则化
  • 深度理解分布式事务——强一致分布式事务解决方案
  • linux-高级IO(中)
  • LINUX 818 shell:random;for for
  • ReactNative开发实战——React Native开发环境配置指南
  • VS Code Copilot 完整使用教程(含图解)
  • LeetCode热题100--226. 翻转二叉树--简单
  • 我们为什么需要时序数据库?