Linux权限问题

news2024/10/13 6:18:47

文章目录

  • 前言
  • 一、shell 命令
    • 1、什么是 shell?
    • 2、什么是 shell 脚本?
    • 3、shell环境
    • 4、总结
  • 二、Linux权限
    • 1、su命令
    • 2、Linux文件类型
    • 3、Linux文件权限
    • 4、文件访问权限的相关设置
      • 4.1 chmod指令
      • 4.2 chown指令
      • 4.3 chgrp指令
      • 4.4 总结


前言


一、shell 命令

1、什么是 shell?

(1). Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。
(2). Shell 既是一种命令语言,又是一种程序设计语言。
(3). Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问 Linux 内核的服务。

2、什么是 shell 脚本?

(1). Shell 脚本(shell script),是一种为 shell 编写的脚本程序,一般文件后缀为 .sh。
(2). 业界所说的 shell 通常都是指 shell 脚本,但 shell 和 shell script 是两个不同的概念。

3、shell环境

Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
Shell 的解释器种类众多,常见的有:
(1). sh - 即 Bourne Shell。sh 是 Unix 标准默认的 shell。
(2). bash - 即 Bourne Again Shell。bash 是 Linux 标准默认的 shell。
(3). fish - 智能和用户友好的命令行 shell。
(4). xiki - 使 shell 控制台更友好,更强大。
(5). zsh - 功能强大的 shell 与脚本语言。

4、总结

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。因为如果用户直接使用kernel的话,首先用户需要对操作系统非常熟悉才可以正确的使用操作系统,而且用户可能会烦一些错误,所以在操作系统kernel与用户之间就多了一层操作系统提供的shell外壳程序,外壳程序是用户和操作系统交互中间软件层,可以在一定程度上,起到保护操作系统的作用。
从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。

对于windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。
shell对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果再通过内核运行出结果,通过shell解析给用户。而Linux标准默认的 shell就是bash。
在这里插入图片描述

二、Linux权限

Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

1、su命令

语法:su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的密码。
需要注意的是如果从root用户直接su到user用户,此时不需要输入用户的密码,而且切换到user用户后此时所在目录还是刚刚root所在的目录。
在这里插入图片描述
如果从user用户直接su到root用户,则需要输入root用户的密码,而且切换到root用户后此时所在目录还是刚刚user所在的目录。如果使用su - 切换root目录,则切换后的root用户会在/root 目录下。
在这里插入图片描述
如果从一个user1用户直接su另一个user2用户,则需要输入user2用户的密码,而且切换到user2用户后此时所在的目录还是刚刚user1所在的目录。
在这里插入图片描述

ctrl+d通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思,但是也可以退出账户登录。
在这里插入图片描述

2、Linux文件类型

当我们使用 ls - l 指令显示出当前目录下文件的详细信息时。我们可以看到每个文件的详细信息,那么这些信息都分别表示文件的什么信息呢?
在这里插入图片描述
我们可以从每个文件信息的第一列信息开始看,下图中红色方框内的每一个文件的第一个信息其实代表了该文件为什么类型。Linux下不以文件后缀来区分文件类型。
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
在这里插入图片描述

3、Linux文件权限

在Linux系统中,一个文件的访问者可以分为下面的三类用户。
文件和文件目录的所有者(拥有者):u — User。
文件和文件目录的所有者所在的组的用户(和文件所有者同组的用户):g — Group。
其它用户(和该文件和文件目录所有者没有关系的普通用户):o — Others。
下面为文件信息中文件所有者和所在组的信息。
在这里插入图片描述
在Linux中,每个文件都具有以下三种权限。
读权限: r — 读,Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
写权限: w — 写,Write对文件而言,具有修改文件内容的权限;对目录来说,具有删除、创建、移动目录内文件的权限。
执行权限:x — 执行,Execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
下面我们再分析每个文件的这些权限在文件信息的哪些位置。
字符表示法
在文件信息中,表示文件类型的字母后面的九个字母三三为一组,第一组表示该文件所有者对该文件的权限,第二组表示文件所有者所在组的其它用户对该文件的权限,第三组表示other(其他人)对该文件的权限。
例如下面第一个文件aa.pdf文件的信息表示,拥有者具有读写权限,没有执行权限;所属组具有读权限,没有写和执行权限;other(其他人)具有读权限,没有写和执行权限。这九个字母中三三一组,顺序永远为rwx,并且结果只有两种,有或者没有,其中 - 就代表没有。
在这里插入图片描述
其实除了使用字符rwx表示文件的权限外,还有一种八进制数值表示法,即将九个字母分成三组后,每一组对应一个八进制数字。具体转换如下图所示。即如果该文件有读权限,就将二进制的第一位置为1。如果有写权限就将二进制的第二位置为1,如果有执行权限就将二进制的第三位置为1,如果没有这些权限就将对应的二进制位置为0。然后将该二进制转为八进制。
在这里插入图片描述

4、文件访问权限的相关设置

4.1 chmod指令

功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项
(1). R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限

chmod命令权限值的格式: 用户表示符 + - = 权限字符
用户符号
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
权限操作符
+:向权限范围增加权限代号所表示的权限。
-:向权限范围取消权限代号所表示的权限。
=:向权限范围赋予权限代号所表示的权限。

举例
使用字符表示法修改权限
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

root用户的权限是最大的,就算没有对文件的读写执行权限,也可以对文件进行读写执行。
在这里插入图片描述

所谓的权限是限制普通用户,root一直有权限,root不受权限约束。root还可以更改文件的拥有者、所属组、other访问者的权限
在这里插入图片描述

使用八进制表示法修改权限
在这里插入图片描述

4.2 chown指令

上面我们使用了chmod指令来修改拥有者、所属组、other(其他人)对文件的一些权限,而chown指令是修改文件的拥有者的,即将该文件的拥有者改为另一个用户。
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
常用选项:-R 递归修改文件或目录的所属组

举例
如果一个普通用户user1将他拥有的myfile.txt文件给另一个普通用户user2时,这个过程是无法完成的,此时需要切换到root用户下,然后才有权限将myfile.txt文件的拥有者从user1改为user2。
在这里插入图片描述

4.3 chgrp指令

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

举例
普通用户user1虽然不能将文件的拥有者修改,但是如果该文件的拥有者为user1,但是所属组为user2,则此时user1可以将该文件的所属组改为user1。但是如果该文件的所属组为user1后,user1就没有权限再将该文件的所属组改为user2了。
在这里插入图片描述

4.4 总结

权限只会认定一次,哪怕一个用户即是拥有者,又是所属组,但是判断了拥有者的权限后,不会再判断所属组的权限。
在这里插入图片描述
进入一个目录,需要该目录的执行权限 – x
查看目录下的文件列表需要该目录的读权限 – r
在目录下创建、删除或者移动文件需要该目录的写权限 – w
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Android开发之lint代码检测编写和使用方法

文章目录 前言项目结构待检测项目lint检查器 依赖方式待检测项目lint检查器 代码编写方法调用检测Detector注册Detector编写 Toast硬编码检测Detector注册Detector编写 使用壳工程打包待检测项目使用kotlin代码java代码 AS识别结果kotlin代码java代码 命令行检测 参考文献 前言…

Fushion 360齿轮组制作教程

本教程总结 Kevin小哥的教程,原视频教程点击这里,笔者录制的教程视频见fushion 360齿轮制作 Fushion 360齿轮组制作教程 基本步骤添加齿轮工具相关设置绘制底板创建演示动画掏空较大的齿轮 视频教程及成品展示 基本步骤 添加齿轮工具 选择使用工具&…

【深度学习】 Python 和 NumPy 系列教程(三):Python容器:1、列表(初始化、索引和切片、常用操作、常用函数、拆包、遍历)

目录 一、前言 二、实验环境 三、Python容器 0. 容器介绍 1. 列表 1. 初始化 a. 创建空列表 b. 使用现有元素初始化列表 c. 使用列表生成式 d. 复制列表 2. 索引和切片 a. 索引 b. 负数索引 c. 切片 3. 常用操作(更新、删除) a. 更新单个…

【漏洞复现】Tenda路由器存在密码泄露

漏洞描述 腾达W15E路由器外置4根增强型360全向天线,苛刻调校到0.01毫米级的零干扰间距,科学独立布局的信号放大器PA,穿墙性能更强劲,覆盖范围更广,在哪都有好信号。 该型号的路由器系统存在密码泄露漏洞,…

【MySQL】聊聊数据库高可用

对于任何一个互联网公司来说,必定涉及到存储系统,而一般主流的使用MySQL进行存储数据,但是如果只是部署一台数据库,数据丢失的话,其实没有办法进行有效的恢复,那么就会造成一定的损失。要么就是直接的损失&…

pc端字体为什么到12像素以后不生效

pc端字体为什么到12像素以后不生效&#xff1f; 因为谷歌浏览器默认的最小字体是12像素&#xff0c;如果去‘设置’里面修改最小字体&#xff0c;是可以达到修改效果的&#xff0c;但是&#xff0c;你不能解决用户的浏览器设置 解决办法如下 <p class"font">…

SG-Former:具有进化Token重新分配的自引导Transformer

摘要 https://arxiv.org/pdf/2308.12216.pdf Vision Transformer在各种视觉任务中展示了令人印象深刻的成功。然而&#xff0c;其沉重的计算成本相对于Token序列长度呈二次增长&#xff0c;在很大程度上限制了其处理大型特征映射的能力。为了降低计算成本&#xff0c;以往的研…

华为云云耀云服务器L实例评测|服务器实例基础使用实践

&#x1f996;我是Sam9029&#xff0c;一个前端 Sam9029的CSDN博客主页:Sam9029的博客_CSDN博客-JS学习,CSS学习,Vue-2领域博主 **&#x1f431;‍&#x1f409;&#x1f431;‍&#x1f409;恭喜你&#xff0c;若此文你认为写的不错&#xff0c;不要吝啬你的赞扬&#xff0c;求…

常见的图像格式介绍:RAW、RGB、YUV

常见的图像格式有RAW、RGB、YUV这三大类 1. RAW raw图像指的是sensor输出的原始数据&#xff0c;常见的有8位、10位、12位之分&#xff0c;分别表示一个像素点所占的字节数为8bit、10bit、12bit。 raw数据常见的有四种Bayer模式&#xff1a;GRBG、RGGB、BGGR&#xff08;下图…

苹果计划2024年AirPods引入新接口,后续升级体温测量、听力测试

据彭博社马克・古尔曼&#xff08;Mark Gurman&#xff09;报道&#xff0c;苹果公司计划在最早2024年为其旗舰无线耳机AirPods和AirPods Max引入USB-C端口&#xff0c;并试图将其所有基于Lightning接口的配件改用USB-C接口。 据古尔曼表示&#xff0c;AirPods Pro将率先改用新…

学校ROS培训项目记录

项目内容&#xff1a; 在linux上安装ROS&#xff08;可以使用虚拟机&#xff09;编写ROS程序&#xff0c;实现话题的订阅和发布基于松灵小车硬件&#xff0c;显示雷达数据、图像数据移动松灵小车&#xff0c;绘制小车的运动轨迹 实现过程记录 1.ubuntu22.04上安装ros2 ubun…

Cookie、Session、Token、JWT

文章目录 1. 认证(Authentication) & 授权(Authorization) & 凭证(Credentials)1.1 认证(Authentication)1.2 授权(Authorization)1.3 凭证(Credentials) 2. Cookie & Session2.1 什么是 Cookiecookie 重要的属性 2.2 什么是 Session2.3 Cookie 和 Session 的区别 …

来看看Python编码规范(PEP 8)

在讲解具体的​ Python 编 ​码规范之前&#xff0c;先来看看图 1 中的代码&#xff1a; 图 1 两段功能相同的 Python 代码 对比图 1 中的两段代码你会发现&#xff0c;它们所包含的代码时完全相同的&#xff0c;但很明显&#xff0c;右侧的代码编写格式看上去比左侧的代码段更…

VR桥梁应用:实现可视化的桥梁监控

在过去的几年中&#xff0c;虚拟现实(VR)技术已经在多个领域得到了广泛的应用。其中&#xff0c;桥梁巡检是一个特别有前景的应用领域。利用VR技术&#xff0c;我们可以创建一个安全、高效的桥梁巡检方式&#xff0c;帮助工程师和维护人员更好地理解和评估桥梁的状态。 通过VR设…

Mac电脑使用万能头文件教程(详细)

参考:https://blog.csdn.net/weixin_46522531/article/details/126292477 预计阅读操作时间&#xff1a;5分钟 Mac电脑由于使用的是苹果自己的编译器&#xff0c;很多头文件不支持&#xff0c;像万能头就是其中的一员。万能头可以为我们节省很多时间&#xff0c;减少很多不必要…

企业架构LNMP学习笔记28

企业架构LNMP高可用负载均衡服务器之Nginx&#xff1a; 1&#xff09;能够描述负载均衡的作用&#xff1b;loadbalance LB。 2&#xff09;能够了解负载均衡常见的实现方式&#xff1b; 3&#xff09;能够使用nginx实现负载均衡&#xff1b; 4&#xff09;能够描述nginx的常…

OpenCV DNN神经网络部署流程

&#x1f482; 个人主页:风间琉璃&#x1f91f; 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主&#x1f4ac; 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 目录 前言 一、加载网络模型 二、构建输入 三、执行推理 四、解析输出 前言…

公开游戏、基于有向图的游戏

目录 〇&#xff0c;背景 一&#xff0c;公开游戏、策梅洛定理 1&#xff0c;公开游戏 2&#xff0c;策梅洛定理 二&#xff0c;有向图游戏 1&#xff0c;狭义有向图游戏 2&#xff0c;广义有向图游戏 3&#xff0c;狭义有向图游戏的SG数 4&#xff0c;Bash Game 力扣…

【List篇】使用Arrays.asList生成的List集合,操作add方法报错

早上到公司&#xff0c;刚到工位&#xff0c;测试同事就跑来说"功能不行了&#xff0c;报服务器异常了&#xff0c;咋回事";我一脸蒙&#xff0c;早饭都顾不上吃&#xff0c;要来了测试账号复现了一下&#xff0c;然后仔细观察测试服务器日志&#xff0c;发现报了一个…

【C语言】错题本(3)

题目: 为了方便分析,我们将题目代码贴在下面: int main() {unsigned char puc[4];struct tagPIM{unsigned char ucPim1;unsigned char ucData0 : 1;unsigned char ucData1 : 2;unsigned char ucData2 : 3;}*pstPimData;pstPimData (struct tagPIM*)puc;memset(puc,0,4);pstPi…