【Linux系统编程】第六弹---权限的概念

news2024/12/24 21:30:38

个人主页: 熬夜学编程的小林

💗系列专栏: 【C语言详解】 【数据结构详解】【C++详解】【Linux系统编程】

目录

1、什么是权限

2、权限的本质

3、Linux中的用户

4、Linux中文件的权限

4.1、文件访问者的分类(角色)

 4.2、文件类型和访问权限(事物属性)

 4.3、文件权限值的表示方法

总结


1、什么是权限

权限随处可见,在生活中,听正版的音乐需要会员,看VIP电视也需要会员,所以权限就是通过一定的条件,拦住一部分人,给一部分人权限,来访问某种资源。在Linux系统中也有许多权限,访问文件需要权限,进入目录需要权限,更改执行文件也需要权限。

2、权限的本质

权限和人有关,权限和事物的属性有关。

权限 = 人(角色) + 事物(文件) 属性

3、Linux中的用户

在Linux中是否有权限是对用户而言设置的,那么Linux中用户有哪些呢?

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

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

前面我们已经使用了root(超级用户)进行指令操作,那么如果我们现在想要使用普通用户进行操作指令应该怎么操作呢?

想要使用普通用户操作指令,毋庸置疑,首先得先有普通用户,那么在Linux中怎么创建普通用户呢?

1、创建普通用户语法

useradd [选项] 用户名

2、选项

  -c:指定用户的注释信息。

  -d:指定用户的主目录。

  -g:指定用户所属的初始组。

  -m:创建用户的创建用户的主目录。

  -s:指定用户的登录Shell。

3、设置密码

passwd 用户名

注意:执行该命令后,系统会提示输入新密码,并要求再次确认密码。

4、删除普通用户语法

userdel [选项] 用户名  (需要root权限才能删除用户)

5、选项

-r  : 删除用户的同时,删除与用户相关的所有文件,包括家目录与 mail 相关目录

注意:加上 -r 选项会删除指定用户所有相关的文件,无论是家目录还是 mail 相关目录。

经过上面的步骤我们的用户就创建好了,通过实际的指令来演示一遍,如下:

[root@VMCentos7 ~]# useradd lin # 创建用户名为lin的用户
[root@VMCentos7 ~]# passwd lin  # 给用户lin设置密码
Changing password for user lin.
New password:                # 输入密码,此处是不会有显示的
Retype new password:         # 重新输入密码
passwd: all authentication tokens updated successfully. # 表示密码更新成功了

如何查看我们创建的用户呢?实际我们Linux中创建的用户都是放在home(家)目录中的,我们只需要将目录切换到home(家)目录查看即可。

[root@VMCentos7 ~]# cd /home 
[root@VMCentos7 home]# ls 
lin # lin用户为刚刚创建的 

用户创建好之后那我们如何对上面的两种用户进行切换呢?

切换用户命令

语法:

su  [-]  [用户名]  

注意:-可加可不加,但是加与不加是有区别的。


功能:

切换用户。


例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su  root(root可以省略),此时系统会提示输入root用户的口令。

[lin@VMCentos7 ~]$ whoami # 查看当前用户是谁
lin
[lin@VMCentos7 ~]$ su # su什么都不加即切换至超级用户,需要输入超级用户密码
Password:             # 输入密码,屏幕不会有显示
[root@VMCentos7 lin]# whoami 
root
[root@VMCentos7 lin]# pwd # 查看当前目录,虽然切换用户,但是目录还是原来目录
/home/lin
[root@VMCentos7 lin]# su - lin  # 加-切换用户至lin用户 
Last login: Sun Mar 24 22:59:27 CST 2024 on pts/0
[lin@VMCentos7 ~]$ whoami
lin
[lin@VMCentos7 ~]$ 

切换用户加不加横杠 (-) 的区别是:

 有横杠:用户切换,更改工作目录,加载所有用户环境配置

 无横杠:用户切换,但是工作目录不会切换到该用户所在工作目录,也不会加载该用户设置的环境变量。

注意:从超级用户切换到普通用户是不需要输入密码的,因为超级用户是可做任何事的,但是从普通用户切换到超级用户是需要输入超级用户的密码的。

下面看看用户在Linux中扮演的角色:

[lin@VMCentos7 ~]$ touch nomal.txt # 以lin用户创建一个文件
[lin@VMCentos7 ~]$ ll # 详细查看文件信息
-rw-rw-r-- 1 lin lin 0 Mar 24 23:18 nomal.txt
[lin@VMCentos7 ~]$ sudo touch root.txt # 不直接切换成root,但是以root的身份创建文件

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for lin: # 输入lin用户的密码
lin is not in the sudoers file.  This incident will be reported. # 说明没有配置sudo
[lin@VMCentos7 ~]$ su - jkl # 切换成已经配置过的用户
Password: 
Last login: Fri Mar 22 20:07:45 CST 2024 from 120.228.110.152 on pts/0
[jkl@VMCentos7 ~]$ sudo touch root.txt # 不直接切换成root,以root的身份创建文件
[sudo] password for jkl:  # 输入jkl用户的密码
[jkl@VMCentos7 ~]$ ll # 详细查看文件信息
-rw-r--r-- 1 root root     0 Mar 24 23:20 root.txt

4、Linux中文件的权限

4.1、文件访问者的分类(角色)

★ 文件和文件目录的所有者: u---User
★ 文件和文件目录的所有者所在的组的用户: g---Group
★ 其它用户: o---Others 

 4.2、文件类型和访问权限(事物属性)

查看当前root目录下的文件详细信息:

[root@VMCentos7 ~]# ll
total 8
-rw-r--r-- 1 root root    0 Mar 21 00:39 1.txt
-rw-r--r-- 1 root root    0 Mar 21 00:39 2.txt
drwxr-xr-x 6 root root 4096 Mar 16 20:23 all
-rw-r--r-- 1 root root    0 Mar 16 20:30 file1
drwxr-xr-x 3 root root 4096 Mar 21 17:48 test

文件属性的权限:

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

 常见的文件类型:

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

 4.3、文件权限值的表示方法

1.字符表示方法

2.8进制数值表示方法


总结


本篇博客就结束啦,谢谢大家的观看,如果公主少年们有好的建议可以留言喔,谢谢大家啦!

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

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

相关文章

书生浦语训练营第2期-第4节笔记

一、为什么要微调? 1. 适应特定任务或领域:虽然预训练的模型通常具有广泛的知识和理解能力,但它们可能不完全适应特定任务的需求。通过在特定的数据集上微调模型,可以使模型更好地理解和处理与特定任务或领域相关的数据。 2. 提高…

氮气柜是如何进行温度、湿度和氧含量控制的?

氮气柜的温湿度控制标准并不统一,具体设定值主要取决于所存储物料的特性与存储要求。 氮气柜的温度一般不直接控制,而是显示并反映柜内当前的环境温度,因为氮气柜的设计重点在于除湿而非降温。在某些高端应用场合,尤其是精密电子元…

软件杯 深度学习实现语义分割算法系统 - 机器视觉

文章目录 1 前言2 概念介绍2.1 什么是图像语义分割 3 条件随机场的深度学习模型3\. 1 多尺度特征融合 4 语义分割开发过程4.1 建立4.2 下载CamVid数据集4.3 加载CamVid图像4.4 加载CamVid像素标签图像 5 PyTorch 实现语义分割5.1 数据集准备5.2 训练基准模型5.3 损失函数5.4 归…

Spring Boot中JUnit 4与JUnit 5的如何共存

文章目录 前言一、先上答案二、稍微深入了解2.1 maven-surefire-plugin是什么2.2 JUnit4和JUnit5有什么区别2.2.1 不同的注解2.2.2 架构 前言 在maven项目中,生成单测时是否有这样的疑问:该选JUnit4还是JUnit5?在执行 mvn test 命令时有没有…

NetFlow 监控工具

NetFlow 是流量数据统计使用最广泛的标准,它是由思科公司开发,用于监控和记录传入或传出接口的所有流量,NetFlow 分析其收集的流量数据,以提供流量和流量的可见性,并跟踪流量的来源、去向以及随时产生的流量。记录的信…

使用selenium时出现element click intercepted报错的解决办法

win10,python3.8.10。 selenium版本如下(用pip38 show selenium查看): 在定位中,定位了一个按钮(特点:button下还有span然后才是文本),代码如下: from sele…

Scala 03 —— Scala OOP Extension

Scala 2.1 —— Scala OOP Extension 一、正则 文章目录 Scala 2.1 —— Scala OOP Extension一、正则1.1 Java正则和Scala正则的区别1.2 Java正则和Scala正则的的基本知识点Java正则Scala正则 1.3 练习练习一:使用正则表达式解析日志方法一:使用findAl…

Oracle交换分区测试

1、用exchange分区表减少初始化过程中对业务中断的影响 2、创建分区表 create table t_p (id number,name varchar2(30),addr varchar2(50)) partition by range(id) (partition p1 values less than(10), partition p2 values less than(20), partition p3 values less …

冯唐成事心法笔记

文章目录 卷首语 管理是一生的日常,成事是一生的修行PART 1 知己 用好自己的天赋如何管理自我用好你的天赋成大事无捷径如何平衡工作和生活做一个真猛人做自己熟悉的行业掌控情绪如何对待妒忌和贪婪如何战胜自己,战胜逆境真正的高手都有破局思维有时候…

【支付宝】对接手机网站支付踩坑点记录

前言 简单记录一下对接Wap支付的问题,alipay和wxpay认证过程差不多,有个体商户或企业即可,前者文档不易懂后者还好,但是wxpay门槛高,个人认为pc网站支付(native支付)就是为了收300认证费! 应用公私钥 第一…

《剑指 Offer》专项突破版 - 面试题 112 : 最长递增路径(C++ 实现)

题目链接:最长递增路径 题目: 输入一个整数矩阵,请求最长递增路径的长度。矩阵中的路径沿着上、下、左、右 4 个方向前行。例如,下图中矩阵的最长递增路径的长度为 4,其中一条最长的递增路径为 3->4->5->8&…

护眼落地灯哪个牌子好?落地灯十大知名品牌

一款优异的落地灯不只有照明的作用,更有装修作用。只不过,市面上的落地灯产品很多,质量良莠不齐,很多人不知道怎么挑选是好。小编的主张是从品牌下手,挑选口碑上佳的品牌落地灯产品。若问护眼落地灯哪个牌子好&#xf…

Flask-SQLAlchemy 中使用显式主主数据库设置

1、问题背景 在一个 Flask-SQLAlchemy 项目中,用户想要使用显式主主数据库设置。具体而言,他想要能够从默认数据库中读取数据,并将数据持久化到两个主数据库中。他希望知道是否可以使用 Flask-SQLAlchemy 和 binds 来实现这一目标。 2、解决…

【MySQL篇】mysqlpump和mysqldump参数区别总汇(第三篇,总共四篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&am…

Windows 的常用命令(不分大小写)

Net user (查看当前系统所有的账户) net user yourname password /add 添加新用户 net localgroup administrators yourname /add 添加管理员权限 net user yourname /delete 删除用户 net user 命令 [colorred]说明:以下命令仅限持管理员…

[创业之路-106] :经济学十大陷阱与核心思想:系统论、社会进化论、周期论、阴阳互转论

目录 前言: 一、流动性陷阱。 二、中等收入陷阱。 三、修昔底德陷阱。 四、塔西佗陷阱。 五、金德尔伯格陷阱。 六、卢梭陷阱。 七、拉美陷阱。 八、阿喀琉斯之踵。 九、布拉德伯里悖论。 十、李约瑟之谜 结论:上述陷阱的…

负载均衡集群——Nginx

目录 1.Nginx反向代理实战 2.Nginx 反向代理和负载均衡实践 实验操作步骤 步骤 1 Nginx1 和 Nginx2 配置 步骤2 测试资源是否可用 步骤 3 安装和配置 Nginx 代理 步骤 4 代理服务器配置检测 步骤 5 在 Nginx1 和 Nginx2 配置虚拟主机 步骤 6 将虚拟主机添加入后端主机组…

Linux--基础IO(上)

目录 1. 文件的边角知识 1.1 文件是什么? 1.2 文件是怎么打开的? 1.3 进程与文件 进程与文件的关系 2. 重温c语言文件接口 2.1 打开文件的方式 2.2 读写文件接口的重温 2.2.1 写文件 2.2.2 读文件 3. 系统文件I/O 3.1 系统接口 3.2 系…

零信任网络安全技术雷达图3.0正式发布

伴随零信任理念的发展和实施,零信任技术体系的演进变革也日趋完善。易安联力图通过持续更新并优化零信任雷达图,以反映零信任技术在应对新型网络安全挑战中的创新和发展,为企业和组织提供前瞻性的技术建议,助力其构建更为强大和灵…

前端JS必用工具【js-tool-big-box】,日期时间相关工具二

上一节我们说到了工具中关于日期的详细转换,还有获取年月日时分秒的详细转换方法使用,同时可以灵活添加自己需要的单位,很便捷。这一节我们继续学习几个相关的方法 目录 1 安装和引入 2 某个时间距离现在的显示 3 获取某一年是是平年还是…