CSDN上讲得最好的——Linux权限

news2024/11/22 21:58:44

目录

一、shell原理精讲

二、Linux权限概念

三、权限管理

1、访问者分类

2、文件类型及访问权限

3、表示方法

4、设置方法

(1)chmod

(2)chown

(3)chgrp

(4)umask

 四、目录权限

五、粘滞位

一、超级管理员删除

二、该目录的所有者删除

三、该文件的所有者删除

总结啦,哈哈哈……


一、shell原理精讲

shell的意义:

1、保护操作系统

2、降低操作OS的成本

shell实际上就是命令行解释器,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

bash是shell的一种。

二、Linux权限概念

Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
命令: su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su
root(root可以省略),此时系统会提示输入root用户的口令


三、权限管理

文件权限=人+文件属性

1、访问者分类

拥有者owner

所属组grouper

其他用户other

2、文件类型及访问权限

 文件类型:

- 普通文件(源代码、库文件、可执行程序、文档压缩包……)

d 目录文件

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

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


3、表示方法

4、设置方法

(1)chmod

① 用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

[sunlang1@VM-12-13-centos ~]$ ll
total 384
drwxrwxr-t 2 sunlang1 sunlang1   4096 Dec 19 09:31 all
-rwxrwxr-x 1 sunlang1 sunlang1   8408 Dec 19 13:12 a.out
drwxrwxr-x 2 sunlang1 sunlang1   4096 Dec 18 14:31 code
-rw-rw-r-- 1 sunlang1 sunlang1     95 Dec 18 16:03 hello.txt
-rw-rw-r-- 1 sunlang1 sunlang1    827 Dec 19 13:50 install.sh
drwxrwxr-x 2 sunlang1 sunlang1   4096 Dec 18 15:38 mycode
-rw-rw-r-- 1 sunlang1 sunlang1      1 Dec 18 19:05 myfile.txt
-rw-rw-r-- 1 sunlang1 sunlang1     70 Dec 18 15:03 mytest.c
-rw-r--r-- 1 sunlang1 sunlang1 342905 Dec 14 16:38 R-C_(1).jfif
-rw-rw-rw- 1 sunlang1 sunlang1      0 Dec 19 08:55 sunlang1.txt
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 19 08:54 sunlang.txt
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 14:30 test1.c
-rw-rw-r-- 1 sunlang1 sunlang1    385 Dec 19 14:35 test.c
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 14:30 test.cpp
-rw-rw-r-- 1 sunlang1 sunlang1     45 Dec 18 16:18 test.tgz
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 16:13 test.zip
[sunlang1@VM-12-13-centos ~]$ chmod u+x test.c
[sunlang1@VM-12-13-centos ~]$ ll
total 384
drwxrwxr-t 2 sunlang1 sunlang1   4096 Dec 19 09:31 all
-rwxrwxr-x 1 sunlang1 sunlang1   8408 Dec 19 13:12 a.out
drwxrwxr-x 2 sunlang1 sunlang1   4096 Dec 18 14:31 code
-rw-rw-r-- 1 sunlang1 sunlang1     95 Dec 18 16:03 hello.txt
-rw-rw-r-- 1 sunlang1 sunlang1    827 Dec 19 13:50 install.sh
drwxrwxr-x 2 sunlang1 sunlang1   4096 Dec 18 15:38 mycode
-rw-rw-r-- 1 sunlang1 sunlang1      1 Dec 18 19:05 myfile.txt
-rw-rw-r-- 1 sunlang1 sunlang1     70 Dec 18 15:03 mytest.c
-rw-r--r-- 1 sunlang1 sunlang1 342905 Dec 14 16:38 R-C_(1).jfif
-rw-rw-rw- 1 sunlang1 sunlang1      0 Dec 19 08:55 sunlang1.txt
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 19 08:54 sunlang.txt
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 14:30 test1.c
-rwxrw-r-- 1 sunlang1 sunlang1    385 Dec 19 14:35 test.c
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 14:30 test.cpp
-rw-rw-r-- 1 sunlang1 sunlang1     45 Dec 18 16:18 test.tgz
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 16:13 test.zip
[sunlang1@VM-12-13-centos ~]$ chmod g+x test.c
[sunlang1@VM-12-13-centos ~]$ ll
total 384
drwxrwxr-t 2 sunlang1 sunlang1   4096 Dec 19 09:31 all
-rwxrwxr-x 1 sunlang1 sunlang1   8408 Dec 19 13:12 a.out
drwxrwxr-x 2 sunlang1 sunlang1   4096 Dec 18 14:31 code
-rw-rw-r-- 1 sunlang1 sunlang1     95 Dec 18 16:03 hello.txt
-rw-rw-r-- 1 sunlang1 sunlang1    827 Dec 19 13:50 install.sh
drwxrwxr-x 2 sunlang1 sunlang1   4096 Dec 18 15:38 mycode
-rw-rw-r-- 1 sunlang1 sunlang1      1 Dec 18 19:05 myfile.txt
-rw-rw-r-- 1 sunlang1 sunlang1     70 Dec 18 15:03 mytest.c
-rw-r--r-- 1 sunlang1 sunlang1 342905 Dec 14 16:38 R-C_(1).jfif
-rw-rw-rw- 1 sunlang1 sunlang1      0 Dec 19 08:55 sunlang1.txt
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 19 08:54 sunlang.txt
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 14:30 test1.c
-rwxrwxr-- 1 sunlang1 sunlang1    385 Dec 19 14:35 test.c
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 14:30 test.cpp
-rw-rw-r-- 1 sunlang1 sunlang1     45 Dec 18 16:18 test.tgz
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 16:13 test.zip
[sunlang1@VM-12-13-centos ~]$ chmod o=rwx test.c
[sunlang1@VM-12-13-centos ~]$ ll
total 384
drwxrwxr-t 2 sunlang1 sunlang1   4096 Dec 19 09:31 all
-rwxrwxr-x 1 sunlang1 sunlang1   8408 Dec 19 13:12 a.out
drwxrwxr-x 2 sunlang1 sunlang1   4096 Dec 18 14:31 code
-rw-rw-r-- 1 sunlang1 sunlang1     95 Dec 18 16:03 hello.txt
-rw-rw-r-- 1 sunlang1 sunlang1    827 Dec 19 13:50 install.sh
drwxrwxr-x 2 sunlang1 sunlang1   4096 Dec 18 15:38 mycode
-rw-rw-r-- 1 sunlang1 sunlang1      1 Dec 18 19:05 myfile.txt
-rw-rw-r-- 1 sunlang1 sunlang1     70 Dec 18 15:03 mytest.c
-rw-r--r-- 1 sunlang1 sunlang1 342905 Dec 14 16:38 R-C_(1).jfif
-rw-rw-rw- 1 sunlang1 sunlang1      0 Dec 19 08:55 sunlang1.txt
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 19 08:54 sunlang.txt
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 14:30 test1.c
-rwxrwxrwx 1 sunlang1 sunlang1    385 Dec 19 14:35 test.c
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 14:30 test.cpp
-rw-rw-r-- 1 sunlang1 sunlang1     45 Dec 18 16:18 test.tgz
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 16:13 test.zip

 ②三位8进制数字

[sunlang1@VM-12-13-centos ~]$ chmod 000 test.c
[sunlang1@VM-12-13-centos ~]$ ll
total 384
drwxrwxr-t 2 sunlang1 sunlang1   4096 Dec 19 09:31 all
-rwxrwxr-x 1 sunlang1 sunlang1   8408 Dec 19 13:12 a.out
drwxrwxr-x 2 sunlang1 sunlang1   4096 Dec 18 14:31 code
-rw-rw-r-- 1 sunlang1 sunlang1     95 Dec 18 16:03 hello.txt
-rw-rw-r-- 1 sunlang1 sunlang1    827 Dec 19 13:50 install.sh
drwxrwxr-x 2 sunlang1 sunlang1   4096 Dec 18 15:38 mycode
-rw-rw-r-- 1 sunlang1 sunlang1      1 Dec 18 19:05 myfile.txt
-rw-rw-r-- 1 sunlang1 sunlang1     70 Dec 18 15:03 mytest.c
-rw-r--r-- 1 sunlang1 sunlang1 342905 Dec 14 16:38 R-C_(1).jfif
-rw-rw-rw- 1 sunlang1 sunlang1      0 Dec 19 08:55 sunlang1.txt
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 19 08:54 sunlang.txt
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 14:30 test1.c
---------- 1 sunlang1 sunlang1    385 Dec 19 14:35 test.c
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 14:30 test.cpp
-rw-rw-r-- 1 sunlang1 sunlang1     45 Dec 18 16:18 test.tgz
-rw-rw-r-- 1 sunlang1 sunlang1      0 Dec 18 16:13 test.zip

(2)chown


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

[sunlang1@VM-12-13-centos ~]$ chown sunlang2 test.zip
chown: invalid user: ‘sunlang2’

(3)chgrp

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


(4)umask

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

file指令:

功能说明:辨识文件类型。

语法file [选项] 文件或目录...

常用选项

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

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

使用 sudo分配权限

修改/etc/sudoers 文件分配文件

格式:接受权限的用户登陆的主机 =(执行命令的用户) 命令

使用 sudo 调用授权的命令

 四、目录权限

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

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

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

五、粘滞位

用人话讲!听好了~

让一个公共目录,大家各自可以进行RWX操作,但是,禁止大家互删对方的文件

一、超级管理员删除

二、该目录的所有者删除

三、该文件的所有者删除

总结啦,哈哈哈……

目录的可执行权限是表示你可否在目录下执行命令。

如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)

而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读 权限 , 所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GDAL之重投影(详细篇)

一、空间坐标系对应EPSG编号 二、通用横向墨卡托(UTM)投影坐标系和WGS84地理坐标系转换 一、目标地区的编号查看(中国东部地区属于UTM Zone 50N) 从180“W开始,有60个纵向投影区,编号为1到60。除了挪威和斯瓦尔巴群岛附近的一些例外,每个区…

【毕业设计_课程设计】基于 U-Net 网络的遥感图像语义分割(源码+论文)

文章目录0 项目说明1 研究目的2 研究方法3 研究结论4 论文目录5 项目工程0 项目说明 **基于 U-Net 网络的遥感图像语义分割 ** 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 实验训练使用 Anaconda 版 Python 3.7 下的 TensorFlo…

OpenSSL BIO源码简析

文章目录1. BIO简介BIO chainBIO数据结构BIO_METHOD数据结构2. Base64示例分析初始化构造BIO链写数据free1. BIO简介 相关文档 /html/man7/bio.html /html/man3/BIO_*.htmlbio - Basic I/O abstraction,即IO抽象层。 BIO有两种: source/sink BIO,即数…

win7系统升级IE11,打补丁KB2729094失败解决办法

因银行这边很多都需要IE11版本,但win7系统大部分需要打一些补丁才能安装。其他补丁都打上了,唯独这个KB2729094一直失败,搞得很无语。还好找到可以直接用命令安装。就不需要打这个补丁了,直接安装使用即可。 1、下载IE11离线安装…

DBCO-PEG-Dopamine,二苯并环辛炔-聚乙二醇-多巴胺,DBCO聚乙二醇衍生物

●中文名:二苯并环辛炔-聚乙二醇-多巴胺,多巴胺聚乙二醇环辛炔 ●英文名:DBCO-PEG-Dopamine,Dopamine-PEG-DBCO ●外观以及性质: DBCO-PEG-Dopamine产物呈固体或粘性液体,取决于PEG分子量,DBCO…

“R语言+遥感”的水环境综合评价方法

目标: 1、掌握R语言基础应用及水环境数据分析方法 2、掌握水环境遥感数据预处理方法 3、掌握水线提取——水体指数与阈值混合法(遥感) 4、掌握水深提取——多元回归分析方法(R语言遥感) 5、掌握水温提取——支持向…

(附源码)springboot学生社团信息管理 毕业设计 011238

目 录 摘要 1 1 绪论 1 1.1 研究背景 1 1.2 研究意义 1 1.3论文结构与章节安排 1 2 学生社团信息管理系统系统分析 3 2.1 可行性分析 3 2.2 系统流程分析 3 2.2.1 数据增加流程 4 2.2.2 数据修改流程 4 2.2.3 数据删除流程 5 2.3 系统功能分析 5 2.3.1 功能性分析 5 2.3.2 非功…

D. Secret Santa(构造)

Problem - 1530D - Codeforces 每年12月,VK都会为其员工举办名为 "秘密圣诞老人 "的传统活动。它是这样发生的。 从1到n的n名员工参加了这个活动。每个员工i被分配到一个不同的员工bi,员工i必须给这个员工做一份新年礼物。每个员工正好被分配…

如何使用Chrome浏览器模拟弱网情况

点击谷歌浏览器图标 打开浏览器后,按下F12键 弹出开发者工具窗口 刷新网页,页面的加载速度为597ms 在开发者工具中,点击Online,在弹出的菜单中点击Slow 3G(慢速3G网络) 重新加载网站,…

PyTorch logit函数

1.PyTorch vs TensorFlow tensorflow是静态图,需要你把啥都准备好,然后它像个傻子一样执行,tensorflow,目前业界更适合部署,毕竟是静态图,infer的时候速度快。 pytorch,它会在执行的时候&…

Android -- 每日一问:如何检测内存泄露,如何进行内存优化?

经典回答 Android 系统为每一个应用程序都设置了一个硬性的 Dalvik Heap Size 最大限制阈值,这个阈值在不同的设备上会因为 RAM 大小不同而各有差异。如果你的应用占用内存空间已经接近这个阈值,此时再尝试分配内存的话,很容易引起 OOM 。 …

效果分析的关键是指标能算出来……

看到题目会不会有一些奇怪? 这算什么关键…… 经历过才知道,这是一个不起眼但却极为重要的部分,企业在数据驱动发展进程中必然会遇到指标算不出来的情况,而且随着企业规模的不断扩大,这一问题会持续伴随。“指标能算…

[附源码]Python计算机毕业设计Django学习互助辅助系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

外汇天眼:美国12月Markit制造业PMI初值不及预期 市场担忧经济下滑

美国12月企业活动进一步萎缩,因新订单降至两年半以来最低水平,但需求疲软帮助大幅冷却通胀。标普全球(NYSE:SPGI)周五表示,追踪制造业和服务业的美国综合PMI产出指数预览值本月从11月的46.4降至44.6。这是该指数连续第六个月低于私营部门萎缩…

Python学习-9.1 程序界面-main函数的作用

main函数的两种使用功能 情况1:直接执行本py代码文件时,把包含的代码块视为脚本代码顺序执行; 情况2:当本py代码文件作为其他代码import对象时,不执行如下被包含的代码 下面可以通过程序来更好地了解main函数的作用&a…

java-函数式编程浅谈

了解函数式编程的实际应用场景以及优点。 文章目录什么是函数式编程函数式编程的使用原理解析什么是函数式编程 以数学中的函数作为切入点,只关注参数之间的运算满足某种规则,例如zxy。 那么如何体现在编程中呢,熟知的function定义可以作为…

使用dompdf/dompdf实现生成pdf文件

一:dompdf/dompdf地址 github:https://github.com/dompdf/dompdf packagist:http://packagist.p2hp.com/packages/dompdf/dompdf 二:dompdf/dompdf安装 composer require dompdf/dompdf 三:dompdf/dompdf简单实例…

20221218-19英语学习

今日新词: wit n.智力; 头脑; 理解力; 风趣; 风趣的话语; 智者; 才子 alcohol n.酒精, 乙醇, 含酒精饮料 pub n.酒吧, 酒馆 instructor n.教员;教师 granted adv.(表示肯定属实,然后再作另一番表述)不错&#xff…

左神:高级进阶班4

1.让N个人过河所需最少船​编辑 2.最长回文子序列 3.最少添加字符让字符串变回文串​编辑 4.回文子串的最少切割次数 5.移除字符使字符串变回文串的方案数​编辑 1.让N个人过河所需最少船 思路:1.排序数组,用基数排序(元素(体…

计算机毕设Python+Vue学生信息管理系统(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…