Linux的用户和权限【Linux操作系统】

文章目录

  • Linux的用户
    • 切换用户
    • 普通用户暂时以root用户的权限执行指令
      • 如何把一个普通用户加入白名单?
    • 新建用户
  • Linux权限
    • 权限的组成
    • 更改权限
      • 文件/目录权限的表示方法:
  • umask
  • 粘滞位
    • 添加粘滞位的方法

Linux的用户

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

超级⽤⼾(root):可以再linux系统下做任何事情,不受权限的约束 可以在任何用户的家目录下进行操作
普通用户:受权限的约束,只能做有权限的操作
只能在自己的家目录下操作


切换用户

命令:su 用户名
功能:切换用户。

例如
要从root用户切换到普通用户user,则使用su user

普通用户切换到root用户或者其他普通用户,需要输入对应用户的登录密码

但是root用户切换到任何用户都不需要密码


普通用户暂时以root用户的权限执行指令

命令:sudo 任意Linux指令
作用:以root用户的权限执行这条Linxu指令

普通用户使用sudo 操作之后,只需要再输入普通用户自己的登陆密码

就可以以root用户的权限执行这个操作

但是普通用户可以使用sudo命令的前提是
root用户,已经把这个普通用户加入了“白名单”


如何把一个普通用户加入白名单?

1.使用root用vim【如果不知道如何使用vim建议严格按照下列步骤进行】打开/etc/suduers文件

2.找到下图中圈中的一行,把光标移到这一行,再输入yy复制该行,再输入p粘贴
在这里插入图片描述

③再按字母i,进入插入模式,把root改成要添加到白名单的用户的用户名
如下图
在这里插入图片描述

④再按ESC回到命令模式,再按shift加:切换到地上模式,输入wq!加回车强制保存退出


新建用户

新建用户:
指令:adduser 用户名

设置用户的密码:
指令:passwd 用户名

删除用户:
指令:userdel -r 用户名


Linux权限

使用指令ls -l时,罗列出的文件显示的文件信息具体介绍:

在这里插入图片描述
rwx表示人(拥有者/所属组)有对应权限,-表示没有
其中:
⽂件类型分为:
◦ d:⽂件夹
◦ -:普通⽂件
◦ l:软链接(类似Windows的快捷⽅式)
◦ b:块设备⽂件(例如硬盘、光驱等)
◦ p:管道⽂件
◦ c:字符设备⽂件(例如屏幕等串⼝设备)
◦ s:套接⼝⽂件


权限的组成

权限可以细分为2部分:

①人(文件/目录的访问者

分为

1.文件/目录的拥有者User(简写:u)

2.文件和文件目录的拥有者所在的组的用户【简称所属组】Group(简写:g)

3.其他用户:other(简写:o)


②人对文件/目录的拥有的权限

人对文件的拥有的权限

分为

1.r(读):能否浏览文件中的内容

2.w(写):能否修改文件中的内容

3.x(可执行):(如果该文件是可执行文件)能否执行文件


人对目录拥有的权限

1.r(读):能否浏览目录中的内容,即能否查看目录里面的文件/目录的属性信息

2.w(写):能否修改目录中的内容,即能否修改目录里面的东西,增加(删除)目录里面的文件/目录

3.x(可执行):能否进入该目录


更改权限

权限由两部分构成,所以更改权限也可以从两个方向入手

①更改人对文件的权限[只能由root或者文件的拥有者更改]

指令:chmod
一般使用格式:
chmod 人(一般简写为:u/g/o/a)+/-/= 文件属性(r/w/x)文件/目录名
在这里插入图片描述

例如

chmod g+rx test.c

即可让g(所属组)对文件test.c的r和x的权限


文件/目录权限的表示方法:

  1. 字符表示:
    即上面的一个文件/目录用3分rwx分别表示拥有者,所属组,other拥有对应的权限
  2. 八进制表示:
    因为标识每个人都权限的都是三个位置,且位置只有两个状态[有/没有]
    所以可以把有权限标志为1,没权限标志为0
    这样就可以以类似二进制的方式标识权限状态
    三个二进制位又可以合成一个8进制位
    所以就可以使用3个八进制位,分别表示一个文件/目录的拥有者,所属组,other是否拥有对应权限

所以改变权限还可以这样写:
chmod 3个八进制位数字 文件/目录名

chmod 001 test

即把u(拥有者)和g(所属组)对test的三个权限全部都改为没有权限

把o(other)的x权限改为可执行,r和w为不可执行


②改变人[只能由root或者文件的拥有者使用sudo提权才能修改]

指令:chown 用户名 文件/目录名
作用:把文件/目录的拥有者,改成该用户

指令:chgrp 用户名 文件/目录名
作用:把文件的所属组,改成该用户

指令:chown 用户名1:用户名2 文件/目录名
作用:把文件的拥有者改成用户1,所属组改成用户2

普通用户更改文件的所属组和拥有者时,是不能直接修改的

[类比于:生活中,给别人东西,也要征得别人的同意]

所以
只能使用sudo暂时提升权限,才能给予

root用户则可以直接给予


umask

umask的作用:查看或修改⽂件掩码
查看指令:umask
修改指令:umask 3个八进制数

一般新建⽂件的最初默认权限=0666
一般新建⽬录最初默认权限=0777

但实际上你所创建的⽂件和⽬录的最终默认权限往往不是上⾯这个值。

原因就是创建⽂件或⽬录的时候,还要受到umask的影响
即:
文件/目录的最终默认权限=最初默认权限&(~umask)
[注意:默认权限和umask虽然都有四位,但是看权限的时候,只看后3位,umask也可以只改后3位]


在这里插入图片描述

上图的umask为002

文件的最初默认权限=0666
⽬录最初默认权限=0777

所以
目录dir的最终默认权限
777&(~[002])=775

文件file.txt的最终默认权限:
666&(~[002])=664


粘滞位

为了在一个共享的目录[即任何人对该目录的权限都是rwx的目录]

防止别人删除拥有者不是他的文件。【因为目录的w权限才是决定是否能删除/增加目录中的文件不是文件自己的权限决定

a和b想在共享目录里进行数据传输

a新建了一个文件df.txt

并把文件设置成只有所属组拥有rwx的权限,这样就只有b能修改和看这个文件了

但是这个时候因为目录是共享的,所有人都对共享目录具有rwx权限,就意味着所有人都可以删除共享目录下的所有文件

此时c虽然看不了a新建的bf.txt 但是却可以把它删除,这非常的不合理

加上粘滞位之后,就能解决这样的问题


添加粘滞位的方法

使用指令:chmod +t 目录的路径即目录名

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【专题】计算机网络之运输层(传输层)

1. 运输层协议概述 1.1 进程之间的通信 (1) 运输层的作用 运输层提供进程间的逻辑通信。 运输层的屏蔽作用: 运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),使应用进程看见的就是好像在两个运…

【C#之WPF+OllamaSharpe实现离线AI对话】

一、前言 C#之WPFOllamaSharpe实现离线AI对话,调用Markdig格式化显示交互结果. 此程序默认你已经安装好了Ollama。 在运行前需要线安装好Ollama,如何安装请自行搜索 Ollama下载地址: https://ollama.org.cn Ollama模型下载地址: https:/…

LeetCode 力扣 热题 100道(十四)二叉树的中序遍历(C++)

给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 如下为代码: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullpt…

在Node.js局域网调试https的Vue项目

需求: 最近在测试在网页端(HTML5)调用移动设备的定位等权限功能,发现某些功能是必须保证域名在https下的否则会出现不正常现象。 解决: 1.在线生成和证书 访问:CSR文件生成工具-中国数字证书CHINASSL …

视频监控汇聚平台Liveweb视频安防监控实时视频监控系统操作方案

Liveweb国标GB28181视频平台是一种基于国标GB/T28181协议的安防视频流媒体能力平台。它支持多种视频功能,包括实时监控直播、录像、检索与回看、语音对讲、云存储、告警以及平台级联等功能。该平台部署简单、可扩展性强,支持全终端、全平台分发接入的视频…

如何利用内链策略提升网站的整体权重?

内链是谷歌SEO中常常被低估的部分,实际上,合理的内链策略不仅能帮助提升页面间的关联性,还可以增强网站的整体权重。通过正确的内链布局,用户可以更流畅地浏览你的网站,谷歌爬虫也能更快地抓取到更多页面,有…

DICOM MPPS详细介绍

文章目录 前言一、常规检查业务流程二、MPPS的作用三、MPPS的原理1、MPPS与MWL2、MPPS服务过程 四、MPPS的实现步骤1、创建实例2、传递状态 五、总结 前言 医院中现有的DICOM MWL(Modality Worklist)已开始逐渐得到应用,借助它可以实现病人信息的自动录入&#xff0…

44页PDF | 信息化战略规划标准框架方法论与实施方法(限免下载)

一、前言 这份报告详细介绍了企业信息化战略规划的标准框架、方法论以及实施方法,强调了信息化规划应以业务战略和IT战略为驱动力,通过构筑企业架构(EA)来连接长期战略和信息化建设。报告提出了信息化规划原则,探讨了…

Linux 权限管理:用户分类、权限解读与常见问题剖析

🌟 快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。🌟 🚩用通俗易懂且不失专业性的文字,讲解计算机领域那些看似枯燥的知识点🚩 目录 💯L…

flask内存马的真谛!!!

flask内存马 1.概念 常用的Python框架有Django、Flask, 这两者都可能存在SSTI漏洞. Python 内存马利用Flask框架中SSTI注入来实现, Flask框架中在web应用模板渲染的过程中用到render_template_string进行渲染, 但未对用户传输的代码进行过滤导致用户可以通过注入恶意代码来实…

AI技术在电商行业中的应用与发展

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

计算机网络期末复习-part1-概述

1、互联网的组成 互联网由两大块组成。 1、边沿部分:由所有连接在互联网上的主机组成,是用户直接使用的部分。 2、核心部分,由大量网络和路由器组成,为边缘部分提供服务。 2、数据传送阶段的三种交换方式的主要特点 1、电路交…

『数据结构』空间复杂度

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

使用GDI对象绘制UI时需要注意的若干细节问题总结

目录 1、一个bitmap不能同时被选进两个dc中 2、CreateCompatibleDC和CreateCompatibleBitmap要使用同一个dc作为参数 3、不能删除已经被选入DC中的GDI对象 4、使用完的GDI对象,要将之释放掉,否则会导致GDI对象泄漏 5、CreateCompatibleBitmap返回错…

NineData云原生智能数据管理平台新功能发布|2024年11月版

本月发布 8 项更新,其中重点发布 2 项、功能优化 6 项。 重点发布 数据库 Devops - 数据生成支持多个数据源 NineData 支持在数据库中自动生成符合特定业务场景的随机数据,用于模拟实际生产环境中的数据情况,帮助用户在不使用真实数据的情况…

Github clone 的时候出现Error in the HTTP2 framing layer错误

解决方案 github鉴权认证,打开gitbash,并输入 ssh-keygen -t rsa -C "emailicjs.cc" 执行后会在 .ssh 目录生产两个文件:id_rsa(私有密钥)和id_rsa.pub(公开密钥) 直接默认回车执行…

html-两个div,让一个div跟随另外一个div的高度

在开发的过程中遇到有些场景事这样的,两个div的高度不一致,而且都是动态高度,有的时候div1高,有的时候div2高,如果设置flex的话,那么就会把较矮的元素撑大,但是我想始终都以div1的高度作为基准&…

【Java-数据结构篇】Java 中栈和队列:构建程序逻辑的关键数据结构基石

我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 一、引言 1. 栈与队列在编程中的角色定位 栈和队列作为两种基本的数据结构,在众多编程场景中都有着独特的地位。它们为数据的有序…

EasyAnimateV5 视频生成大模型原理详解与模型使用

在数字内容创作中,视频扮演的角色日益重要。然而,创作高质量视频通常耗时且昂贵。EasyAnimate 系列旨在利用人工智能技术简化这一过程。EasyAnimateV5 建立在其前代版本的基础之上,不仅在质量上有所提升,还在多模态数据处理和跨语…

浅谈volatile

volatile有三个特性: (1)可见性 (2)不保证原子性 (3)禁止指令重排 下面我们一一介绍 (一)可见性 volatile的可见性是说共享变量只要修改,就可以被其他线…