Linux 权限详解

目录

一、权限的概念

二、权限管理

三、文件访问权限的相关设置方法

3.1chmod

3.2chmod a=x /home/abc.txt


一、权限的概念

Linux 下有两种用户:超级用户( root )、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
命令:su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的密码。
同样的方法还有例如su-,这种方法则是直接用root账号进行重新登陆 。而su则是用户身份暂时提升为root。 一般情况建议用su就可以。 

二、权限管理

1.文件访问者的分类(人)
文件和文件目录的所有者:u---User(拥有者)
文件和文件目录的所有者所在的组的用户:g---Group(所属组)
其它用户:o---Others (其他)
2. 文件类型和访问权限(事物属性)
3.文件类型
d :文件夹
- :普通文件
l :软链接(类似 Windows 的快捷方式)
b :块设备文件(例如硬盘、光驱等)
p :管道文件
c :字符设备文件(例如屏幕等串口设备)
s :套接口文件

4.基本权限

i. 读( r/4 ): Read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
ii. 写( w/2 ): Write 对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。
iii. 执行( x/1 ): execute 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
iv.“—” 表示不具有该项权限。
5.文件限值的表示方法
(1)字符表示方法
Linux表示说明Linux表示说明
r--只读-w-仅可写
--x仅可执行rw-可读可写
-wx可写可执行r-x可读可执行
rwx可读可写可执行---无权限

(2)8进制数值表示

LInux表示八进制二进制
r4100
w2010
x1001
rw6110
rx5101
wx3011
rwx7111
---0000

三、文件访问权限的相关设置方法

3.1chmod

功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限 chmod
① 用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:  
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt

可以单独对一个用户符号进行更改,也可以同时多个更改。

同时,也可以通过a来对所有用户对象权限进行整体更改。

 注意:如果是root即使全部用户权限全部关闭,root依旧可以直接访问。

3.2chmod a=x /home/abc.txt

1.三位8进制数字

# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt

 也可以根据上表通过数字来对整体直接进行更改。

2.chown

功能 :修改文件的拥有者
格式 chown [ 参数 ] 用户名 文件名
实例:
# chown user1 f1
# chown -R user1 filegroup1

3.chgrp

功能 :修改文件或目录的所属组
格式 chgrp [ 参数 ] 用户组名 文件名
常用选项 -R 递归修改文件或目录的所属组

4.umask

功能
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask(注意,不是减法)
格式:umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
# umask 755
# umask //查看
# umask 044//设置

四、目录的权限

可执行权限 : 如果目录没有可执行权限 , 则无法 cd 到目录中 .
可读权限 : 如果目录没有可读权限 , 则无法用 ls 等命令查看目录中的文件内容 .
可写权限 : 如果目录没有可写权限 , 则无法在目录中创建文件 , 也无法在目录中删除文件 .
于是 , 问题来了 ~~
换句话来讲 , 就是只要用户具有目录的写权限 , 用户就可以删除目录中的文件 , 而不论这个用户是否有这个文件的写权限.
[root@localhost ~]# chmod 0777 /home/
[root@localhost ~]# ls /home/ -ld 
drwxrwxrwx. 3 root root 4096 9月 19 15:58 /home/
[root@localhost ~]# touch /home/root.c
[root@localhost ~]# ls -l /home/
总用量 4
-rw-r--r--. 1 root root 0 9月 19 15:58 abc.c
drwxr-xr-x. 27 litao litao 4096 9月 19 15:53 litao
-rw-r--r--. 1 root root 0 9月 19 15:59 root.c
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/root.c #litao可以删除root创建的文件
rm:是否删除有写保护的普通空文件 "/home/root.c"?y
[litao@localhost ~]$ exit 
logout

为了解决该问题,Linux引入了粘滞位的概念。

[root@localhost ~]# chmod +t /home/ # 加上粘滞位
[root@localhost ~]# ls -ld /home/
drwxrwxrwt. 3 root root 4096 9月 19 16:00 /home/
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/abc.c #litao不能删除别人的文件
rm:是否删除有写保护的普通空文件 "/home/abc.c"?y
rm: 无法删除"/home/abc.c": 不允许的操作 
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

权限总结

目录的可执行权限是表示你可否在目录下执行命令。
如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)。
而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限。
​​​​​​​所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/404450.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vant轮播多个div结合二维数组的运用

需求说明 在开发H5的时候,结合Vant组件的轮播组件Swipe实现如下功能。我们查阅vant组件库官方文档可以得知,每个SwipeItem组件代表一个卡片,实现的是每屏展示单张图片或者单个div轮播方式,具体可以查阅:Vant 2 - 轻量、…

如何计算点、线、面关系

从公众号转载,关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 普遍有三种方式 面积和判别法:判断目标点与多边形的每条边组成的三角形面积和是否等于该多边形,相等则在多边形内部。 夹角…

c#程序,oracle使用Devart驱动解决第第三方库是us7ascii,数据乱码的问题

最近做项目,要跟对方系统的库进行读写,结果发现对方采用的是oracle的us7ascii编码,我们系统默认采用的是ZHS16GBK,导致我们客户端读取和写入对方库的数据都是乱码,搜索网上,发现需要采用独立的oracle驱动去…

网络知识

目录 IP地址(Internet protocol address) —— 互联网协议地址 子网掩码 网关 路由 DNS(Domain Name Server) —— 域名服务器 IP地址(Internet protocol address) —— 互联网协议地址 子网掩码 作用:划分网段 网络部分相同的IP地址&a…

简介高效的 CV 入门指南: 100 行实现 InceptionResNet 图像分类

简介高效的 CV 入门指南: 100 行实现 InceptionResNet 图像分类 概述InceptionResNetInception 网络基本原理关键特征 ResNet 网络深度学习早期问题残差学习 InceptionResNet 网络InceptionResNet v1InceptionResNet v2改进的 Inception 模块更有效的残差连接设计 100 行实现 I…

C 标准库 - <errno.h>

在C语言编程中&#xff0c;<errno.h> 头文件扮演着至关重要的角色&#xff0c;它提供了一个全局变量 errno 以及一系列预定义宏&#xff0c;用于指示系统调用或库函数执行过程中发生的错误。这些宏有助于程序员诊断和处理运行时错误。 errno 变量 extern int errno;err…

【软芯民用】基于数字孪生平台的智慧灌区信息化管理系统

本文介绍了一种基于数字孪生平台的智慧综合管理系统&#xff0c;旨在实现数字化转型和精细化管理。该系统以提高用水效率为核心&#xff0c;以严格的水资源管理制度为保障&#xff0c;通过数据汇集平台监控分析数据、精准测算&#xff0c;为水量调度、精准灌溉、水权交易提供科…

时域系统到频域响应的直观解析及数学推导

课本里经常有已知系统时域的差分方程&#xff0c;求系统的频率响应这样的题&#xff0c;老师会讲怎么带公式进去解决&#xff0c;怎么查表解决&#xff0c;但我们总时无法直观地理解这两种转换的特殊关联在哪里&#xff0c;这篇文章以FIR滤波器为例&#xff0c;不仅列出了课本里…

2024年高项第4版之成本管理(附思维导图)

文章目录 简介一、成本失控原因二、相关术语三、成本类型四、项目成本管理过程1.规划成本管理2.估算成本3.制定预算4.控制成本挣值计算公式 附思维导图 简介 项目成本管理师为了项目在批准的预算内完成&#xff0c;对成本进行规划、估算、预算、融资、筹资、管理和控制的过程。…

yolov9来了,附官方源码地址,蓝奏云国内下载代码

不得不说&#xff0c;yolo的更新是真TMD的勤&#xff0c;v8还没熟悉透&#xff0c;结果V9就来了。 官方地址&#xff1a;https://github.com/WongKinYiu/yolov9/ 如果访问不了github的朋友们&#xff0c;可以下载微智启软件工作室准备好的国内蓝奏云网盘&#xff0c;内容是一样…

代码随想录算法训练营第四十天 | 整数拆分、不同的二叉搜索树

目录 整数拆分不同的二叉搜索树 LeetCode 343. 整数拆分 LeetCode 96.不同的二叉搜索树 整数拆分 dp[i]&#xff1a;分拆数字i&#xff0c;可以得到的最大乘积为dp[i]。dp[i] max(dp[i], max((i - j) * j, dp[i - j] * j)); j是从1开始遍历j * (i - j) 是单纯的把整数拆分为…

UE5 骨骼重定向

1.通过 VRoidStudio 1.26.0 软件创建模型 导出 2.下载ue插件 https://github.com/ruyo/VRM4U/releases 安装 重启 3.拖入创建的模型 到指定文件夹 4.为模型创建 IK绑定&#xff0c;重定向骨骼根 新增链条 5.创建IK 重定向&#xff0c;指定源 和 目标 IK绑定 6.

子查询

Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 子查询 前面我们学过了利用 group by子句可以实现分组的操作&#xff0c;主要的统计函数有&#xff1a;COUNT()、AVG()、SUM()、MAX()、MIN() 并且介绍了分组统计查询的若干限制以及在…

ElementUI组件的安装和使用

Element UI 是一款基于 Vue 2.0 的桌面端组件库&#xff0c;主要用于快速构建网站的前端部分。它提供了丰富的组件&#xff0c;如按钮、输入框、表格、标签页等&#xff0c;以及一些布局元素&#xff0c;如布局容器、分割线等。Element UI 的设计风格简洁&#xff0c;易于上手&…

Three.js加载PLY文件

这是官方的例子 three.js webgl - PLY 我在Vue3中使用&#xff0c;测试了好久始终不显示点云数据。在网上查询后发现ply文件要放置在public目录下才行 <el-row><el-button type"primary" class"el-btn" click"IniThree1">PLY</…

Go 如何按行读取(大)文件?尝试 bufio 包提供的几种方式

嗨&#xff0c;大家好&#xff01;我是波罗学。本文是系列文章 Go 技巧第十七篇&#xff0c;系列文章查看&#xff1a;Go 语言技巧。 本文将介绍 Go 如何按行读取文件&#xff0c;基于此会逐步延伸到如何按块读取文件。 引言 我们将要介绍的按行读取文件的方式其实是非常适合…

每日OJ题_二叉树dfs⑥_力扣257. 二叉树的所有路径

目录 力扣257. 二叉树的所有路径 解析代码 力扣257. 二叉树的所有路径 257. 二叉树的所有路径 难度 简单 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输…

电路设计(27)——交通信号灯的multisim仿真

1.功能要求 使用数字芯片设计一款交通信号灯&#xff0c;使得&#xff1a; 主干道的绿灯时间为60S&#xff0c;红灯时间为45S 次干道的红灯时间为60S&#xff0c;绿灯时间为45S 主、次干道&#xff0c;绿灯的最后5S内&#xff0c;黄灯闪烁 使用数码管显示各自的倒计时时间。 按…

go-zero微服务入门教程

go-zero微服务入门教程 本教程主要模拟实现用户注册和用户信息查询两个接口。 准备工作 安装基础环境 安装etcd&#xff0c; mysql&#xff0c;redis&#xff0c;建议采用docker安装。 MySQL安装好之后&#xff0c;新建数据库dsms_admin&#xff0c;并新建表sys_user&#…

Springboot--整合定时任务quartz--集群篇

文章目录 前言一、quartz 的集群&#xff1a;1.1 服务集群带来的定时任务问题&#xff1a;1.2 服务集群定时任务解决思路&#xff1a; 二、quartz 集群实现&#xff1a;2.1 引入jar2.2 配置文件&#xff1a;2.3 定义quartz 数据源&#xff1a;2.4 集群测试&#xff1a;2.4.1 定…