shell外壳与Linux权限

🌈个人主页:Yui_

🌈Linux专栏:Linux

🌈C语言笔记专栏:C语言笔记

🌈数据结构专栏:数据结构

文章目录

  • 1.shell命令以及运行原理
  • [2. Linux权限的概念](#2. Linux权限的概念)
  • 3.Linux权限管理
    • [3.1 文件访问者的分类](#3.1 文件访问者的分类)
    • [3.2 文件类型和访问权限](#3.2 文件类型和访问权限)
      • [3.2.1 文件类型](#3.2.1 文件类型)
      • [3.2.2 基本权限](#3.2.2 基本权限)
    • [3.3 文件访问权限的相关设置方法](#3.3 文件访问权限的相关设置方法)
      • [3.3.1 chmod指令](#3.3.1 chmod指令)
      • [3.3.2 chown指令](#3.3.2 chown指令)

1.shell命令以及运行原理

Linux严格意义上来说是一个操作系统,我们称其为"核心"(kernel),但是我们一般用户不能直接操作kernel的,而是通过kernel的外壳程序,也就是所谓的shell 来与kernel沟通。如何理解?为什么不能直接使用kernel?

从技术角度,shell的最简单定义:命令行解释器(command interpreter)功能:

  • 将使用者的命令翻译给核心处理。
  • 同时,将核心的处理结果翻译给使用者。
    对比Windows GUI,我们操作Windows不是直接操作Windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符)
    shell对应Linux,有相同的作用,主要对我们的指令进行解析,解析指令给Linux内核,反馈结果再通过内核运行出结果,通过shell解析给用户。
  • Shell本质也是一个执行起来的程序(进程),系统启动期间一直存在
  • 每次你进行xshell登录时候,OS都会给你这个用户的当前登录新启动一个行的shell,bash

2. Linux权限的概念

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

  • 超级用户:可以在Linux系统下做任何事情,不受限制。
  • 超级用户的命令提示符是"#",普通用户的命令提示符是"$"。

命令

shell 复制代码
su [用户名]

功能

切换用户。

当我们需要从root用户切换到普通用户user_name时,则使用su user_name

要从普通用户切换到root用户则使用su root(root可以省略)/su -,此时系统会提示输入root用户的密码。
演示 :从普通用户切成root再从root切回普通用户

普通用户切换成root,需要root密码

Root用户切换成普通用户不需要密码

普通用户变成另一个普通用户需要对方的密码
sudo提权
语法

shell 复制代码
sudo 加其他指令

功能

暂时拥有root权限

sudo 对指定的指令提权,当root用户把用户拉人"信任"名单后,用户就可以使用sodo提权了
演示 :利用root权限修改文件的所有者为root

3.Linux权限管理

3.1 文件访问者的分类

  • 文件和文件目录的所有者:u---user
  • 文件和文件目录的所有者所在的组的用户:g---Group
  • 其他用户:o---Other

3.2 文件类型和访问权限

下面来解释一下红色框住的内容:

3.2.1 文件类型

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

3.2.2 基本权限

r:read

对文件来说,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。

w:write

对文件来说,具有修改文件内容的权限;对目录来说,具有删除移动目录文件的权限。

x:execute

对文件来说,具有执行文件的权限;对目录来说,具有进入目录的权限。

-:

表示不具有该项权限。

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

3.3.1 chmod指令

语法

shell 复制代码
chmod [参数]权限 文件名

功能

设置文件的访问权限。
常用选项

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限
  • u:拥有者
  • g:所属组
  • o:其他用户
  • a:所有用户
    演示

方法2:三位8进制数字。

权限符号 八进制 二进制
r-- 4 100
-w- 2 010
--x 1 001
rw- 6 110
r-x 5 101
-wx 3 011
rwx 7 111
--- 0 000
演示:先把file.txt赋予所有权限,再恢复原样。

3.3.2 chown指令

语法

shell 复制代码
chown [参数]用户名 文件名

功能

修改文件的拥有者
演示 :将用户者从root改为yui

相关推荐
秋天枫叶354 分钟前
【AI应用】修改向量数据库Milvus默认密码
运维·服务器·数据库·ubuntu·milvus·milvus_cli
EnigmaCoder18 分钟前
【Linux】Vim编辑器:从入门到高效使用
linux·运维·编辑器·vim
qq_4112624236 分钟前
为什么会“偶发 539/500 与建连失败”
服务器·c语言·网络·智能路由器
楚禾Noah41 分钟前
【通用常识】YAML 中的高阶语法
运维·docker·容器
Jenkinscao43 分钟前
我从零开始学习C语言(13)- 循环语句 PART2
c语言·开发语言·学习
我科绝伦(Huanhuan Zhou)1 小时前
Linux服务器性能优化总结
linux·服务器·性能优化
m0_571372821 小时前
关于linux软件编程9——网络编程1
linux·服务器·网络
白书宇1 小时前
12.从零开始写LINUX内核--控制台初始化
linux·c语言·驱动开发·嵌入式硬件·microsoft·iot
我是一只菜菜1 小时前
中国大学MOOC--C语言第十一周结构类型
c语言·开发语言
新子y1 小时前
【操作记录】我的 MNN Android LLM 编译学习笔记记录(一)
android·学习·mnn