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 目录的路径即目录名

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

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

相关文章

clang和gcc的区别

​ 1.Clang采用的license是BSD,而GCC是GPLv3;GCC支持许多语言扩展,其中有些Clang不能实现。 2.GCC:GNU(Gnu’s Not Unix)编译器套装(GNU Compiler Collection,GCC),指一套编程语言编译器,以GPL…

Milvus×OPPO:如何构建更懂你的大模型助手

01. 背景 AI业务快速增长下传统关系型数据库无法满足需求。 2024年恰逢OPPO品牌20周年,OPPO也宣布正式进入AI手机的时代。超千万用户开始通过例如通话摘要、新小布助手、小布照相馆等搭载在OPPO手机上的应用体验AI能力。 与传统的应用不同的是,在AI驱动的…

DICOM MPPS详细介绍

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

【笔记2-3】ESP32 bug:PSRAM chip not found or not supported 没有外部PSRAM问题解决

主要参考b站宸芯IOT老师的视频,记录自己的笔记,老师讲的主要是linux环境,但配置过程实在太多问题,就直接用windows环境了,老师也有讲一些windows的操作,只要代码会写,操作都还好,开发…

【0x3D】HCI_Remote_Host_Supported_Features_Notification事件详解

目录 一、事件概述 二、事件格式及参数说明 2.1. HCI_Remote_Host_Supported_Features_Notification事件格式 2.2. BD_ADDR 2.3. Remote_Host_Supported_Features 三、事件作用 3.1. 设备特性沟通与理解 3.2. 功能协商与性能优化 3.3. 设备管理与配置更新 四、应用场…

深入理解AVL树:结构、旋转及C++实现

1. AVL树的概念 什么是AVL树? AVL树是一种自平衡的二叉搜索树,其发明者是Adelson-Velsky和Landis,因此得名“AVL”。AVL树是首个自平衡二叉搜索树,通过对树的平衡因子进行控制,确保任何节点的左右子树高度差最多为1&…

Css动画:旋转相册动画效果实现

​🌈个人主页:前端青山 🔥系列专栏:Css篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:Css动画:旋转相册动画效果实现 前言 随着Web技术的发展,网页不再局限于静态展示&#…

ElasticSearch 与向量数据库的结合实践:突破亿级大表查询瓶颈20241204

💡 ElasticSearch 与向量数据库的结合实践:突破亿级大表查询瓶颈 📚 引言 随着业务规模的不断扩大,传统关系型数据库在处理 亿级大表 时,性能瓶颈愈加凸显。关键词检索、模糊查询、多条件筛选等需求逐步升级&#xff…

解决stable-diffusion-webui时的问题:No module ‘xformers‘. Proceeding without it

p.s 被另一篇文章坑了,装个xformers把我原先的pytorch降智了&%$^# 注意:!!!xformers非强制安装;可优化显存,提高性能和出图速率,对于GPU能力有限的用户很有用;安装过…

如何加强游戏安全,防止定制外挂影响游戏公平性

在现如今的游戏环境中,外挂始终是一个困扰玩家和开发者的问题。尤其是定制挂(Customized Cheats),它不仅复杂且隐蔽,更能针对性地绕过传统的反作弊系统,对游戏安全带来极大威胁。定制挂通常是根据玩家的需求…

【Python系列】使用 `psycopg2` 连接 PostgreSQL 数据库

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

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

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

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…

运费微服务和redis存热点数据

目录 运费模板微服务 接收前端发送的模板实体类 插入数据时使用的entity类对象 BaseEntity类 查询运费模板服务 新增和修改运费模块 整体流程 代码实现 运费计算 整体流程 总的代码 查找运费模板方法 计算重量方法 Redis存入热点数据 1.从nacos导入共享redis配置…

【C++】—— set 与 multiset

【C】—— map 与 set 1 序列式容器和关联式容器2 set 系列的使用2.1 set 和 multiset 参考文档2.2 set 类的介绍2.3 set 的迭代器和构造2.4 set的增删查2.4.1 insert2.4.2 find 与 erase2.4.3 count 2.5 lower_bound 与 upper_bound2.6 multiset 与 set 的差异2.6.1 不再去重2…

Jupyter Notebook认识、安装和启动以及使用

Jupyter Notebook认识、安装和启动以及使用 Jupyter Notebook认识、安装和启动以及使用 Jupyter Notebook认识、安装和启动以及使用一、认识Jupyter Notebook1.1 Jupyter Notebook概述1.2 Jupyter Notebook 重要特性(1)交互式代码执行(2)支持多种编程语言(3)富文本编辑(4)代码高…

算法第一弹-----双指针

目录 1.移动零 2.复写零 3.快乐数 4.盛水最多的容器 5.有效三角形的个数 6.查找总价值为目标值的两个商品 7.三数之和 8.四数之和 双指针通常是指在解决问题时,同时使用两个指针(变量,常用来指向数组、链表等数据结构中的元素位置&am…

【后端面试总结】golang channel深入理解

在Go语言中,Channel是一种用于在goroutine之间进行通信和同步的重要机制。它提供了一种安全、类型安全的方式来传递数据,使得并发编程变得更加直观和简单。本文将详细介绍Golang中Channel的基本概念、创建与关闭、发送与接收操作,以及相关的使…

华为、华三交换机纯Web下如何创关键VLANIF、操作STP参数

华为交换机WEB操作 使用的是真机S5735,目前主流的版本都适用(V1R5~V2R1的就不在列了,版本太老了,界面完全不一样,这里调试线接的console口,电脑的网络接在ETH口) 「模拟器、工具合集」复制整段内…

详解Java数据库编程之JDBC

目录 首先创建一个Java项目 在Maven中央仓库下载mysql connector的jar包 针对MySQL版本5 针对MySQL版本8 下载之后,在IDEA中创建的项目中建立一个lib目录,然后把刚刚下载好的jar包拷贝进去,然后右键刚刚添加的jar包,点击‘添…