IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 【Linux入门】第二篇:shell命令及运行原理和Linux权限的概念 -> 正文阅读

[系统运维]【Linux入门】第二篇:shell命令及运行原理和Linux权限的概念

shell命令及运行原理

在Linux中,严格意义来说是一个操作系统,我们称之为"核心(kernel)",而在操作时,我们一般是普通用户,不能直接使用kernel。而是通过kernel的外壳程序,也就是我要说的shell,来和kernel来沟通。
如果理解呢?
对比Windows GUI,我们操作windows不是直接操作windows内核,而是通过图形化接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。
shell对于Linux的,有相同的作用,主要是对我们的指令进行解析,解析指令给内核。反馈的结果通过内核运行出结果,共同shell解析给用户。
而从技术角度,shell的最简单的定义:命令解释器(command interpreter)主要包括:

  • 将使用者的命令翻译给核心(kernel)处理。
  • 同时,将核心处理的结果翻译给使用者,

Linux权限的概念

Linux下的用户

在Linux中有两种用户:超级用户(root)、普通用户
超级用户:可以在Linux系统下做任何事情,不受限制。
普通用户:在Linux下做有限的事情。

我们任何区分自己是超级用户还是普通用户呢?
超级用户的命令提示符是‘#’,普通用户的命令提示符是‘$’
在这里插入图片描述

在这里插入图片描述

Linux创建用户和删除用户

我们一开始一般都是超级用户(root),使用root时不小心误删了一些重要的东西,是不可逆的,为了降低危险,我们创建一个普通用户,用来操作。

创建普通用户要先切换到超级用户(root)中进行:
命令:adduser 用户名
命令:passwd 用户名
在这里插入图片描述
注意:在Linux中,输入密码不回显

删除用户,要到root中进行:
命令:userdel -r 用户名
在这里插入图片描述

Linux用户切换

在使用Linux的时候,我们要经常来回用超级用户和普通用户,那么 我们要如何切换呢?
指令:su 用户名
功能:切换用户
超级用户切换到普通用户时,使用普通用户的密码
在这里插入图片描述
我这里用超级用户切换到普通用户时,并没有要输入密码,使用看情况而定,要输入密码的时候就输,不要就更好。

普通用户切换到超级用户,使用超级用户密码
在这里插入图片描述

Linux增加用户权限(添加到信任列表)

在使用普通用户的时候,有些命令需要增加权限来进行的。
例如:在普通用户下修改其他用户的密码
在这里插入图片描述
上面是不被允许的,我们要把自己的用户存放到信用列表中:
1、现切换到root用户中
在这里插入图片描述
2、进入/etc/sudoers 文件中
格式: vim /etc/sudoers
在这里插入图片描述
3、
在这里插入图片描述
4、在那一行后面写上: 用户名 ALL=(ALL) ALL
在这里插入图片描述
5、切换回自己的用户
在这里插入图片描述

最后恭喜你修改成功!

Linux权限的管理

01.文件访问者的分类

问访问者可以分为三类:
1、文件和文件目录的所有者(所属用户)
2、文件和目录的所有者所在的组的用户(所属组)
3、其他用户(other)
在这里插入图片描述

02.文件类型和访问权限(事物属性)

我们在Linux系统上创建文件或者目录时,都会有一串字符+数字。

在这里插入图片描述
-rw-rw-r-- 1 cxy cxy 0 Jul 28 16:47 text1

在这里插入图片描述
文件类型

d:文件夹
-:普通文件
l:软链接(类似windows的快捷键)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

基本权限

r:对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录的权限
w:对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
x:对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
-:表示不具有该权限

03.文件权限值的表示方法

1)字符表示方式
在这里插入图片描述
2)8进制表示法
在这里插入图片描述

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

a)修改文件的访问权限

一个文件或目录,对于所属用户、所属组、other都有他们自己的权限,例如:
在这里插入图片描述
由于这个文件或目录是属于我们的,我们是可以修改这个文件或目录的权限属性。
指令:chmod
功能:设置文件的访问权限
语法:chmod 参数 权限 文件名
常用选项:

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

chmod 命令的命令权限的格式
1、用户表示符+/-=权限字符

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

在这里插入图片描述
2、三位8进制数字
在这里插入图片描述

注意:我们也可以还其他组的权限
u+或者u- 是改所属用户的权限
g+或者g- 是改所属组的权限
o+或者o- 是改其他人的权限
a+或者a- 是改所有人的权限
八进制改发也是可以的

如果想一次性修改多个文件,那么后面再加你想修改的文件名

b)修改文件的拥有着

做为所属用户,你对这个文件不喜欢,又舍不得删,嘿嘿,你可以给别人嘛,所以,你可以修改所属用户,把你名下的给别人。

指令:chown
功能:修改文件拥有者
语法:chown 参数 用户名 文件
在这里插入图片描述
注意:把文件或目录的所属权给别人,也要看别人收不收,属于在执行前,都加上sudo

c)修改文件或目录的所属组

你也可以修改文件或目录的所属组
指令:chgrp
功能:修改文件或目录的所属组
语法:chgrp 参数 所属组名 文件名
常用选项:-R递归修改文件或目录的所属组
在这里插入图片描述
问题来了:如何一次性更改所属用户和所属组呢?
在这里插入图片描述

d)查看或修改文件的掩码

我们先要知道:(读写执行看后面三个数字)
新建文件的默认权限是=0666
新建目录的默认权限是=0777
但是事实上,我们新建的目录或文件,看到的权限往往不是上面的这个值。
在这里插入图片描述
那是因为,创建文件或者目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建出来的文件权限是:mask & ~umask
格式:umask权限值
说明:超级用户的默认掩码值为0022,普通用户默认为0002
在这里插入图片描述
那我们现在如何修改呢?
指令:umask
语法:umask 想改成的值

umask 755
umask //查看
umask 044//设置

在这里插入图片描述

目录的权限

1、可执行权限: 如果目录没有可执行权限, 则无法cd到目录中
2、可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
3、可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

于是问题来了~~
就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写
权限.
在这里插入图片描述
别人写了一下午的东西,可以让看,结果不小心被你删了,这得多那啥啊!

粘滞位

所以,给目录添加粘滞位,防止这种情况发生。
在这里插入图片描述
之后删除就不行了。
在这里插入图片描述
当一个目录被设置为粘滞位(用 chmod +t),则该目录下的文件只能由
1、超级用户删除
2、该目录的所属用户删除
3、该文件的所属用户删除

关于权限的总结

  • 目录的可执行权限值表示你可否再目录下执行命令
  • 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录,既然目录仍然有-r读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
  • 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,无法查看目录里有什么
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 13:08:37  更:2021-07-30 13:08:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:35:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码