Linux的权限(一)

目录

权限的本质

Linux权限的概念

如何创建与删除普通用户

创建普通用户:

设置用户密码: 

删除普通用户:

删除与该用户关联的主目录和邮件目录 :

su指令

sudo指令

Linux权限管理

Linux中文件访问者有三种“人”

Linux中为什么要有组的概念: 

Linux中有两种人(普通用户与超级用户)的概念是否与Linux中文件访问者有三种人(拥有者、所属组、Other)的概念有所冲突?

权限的本质

一般来说:权限 = 人 + 事物的属性

在Linux中更准确的讲应该是:权限 = 角色 + 文件

Linux权限的概念

Linux下有两种用户:
超级用户(root):可以在linux操作系统下做任何事情,不受限制
普通用户:在linux操作系统下做有限的事情
注意事项:
1、超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
2、在普通用户身份下,默认情况下是无法创建其他用户的。创建和管理用户需要管理员权限(如 root 或具有适当权限的用户)才能执行。

如何创建与删除普通用户

创建普通用户:

//在root目录下:
useradd -m 新用户名

//在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力)
sudo useradd -m 新用户名

设置用户密码: 

//在root目录下:
passwd 用户名

//在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力)
sudo passwd 用户名

删除普通用户:

//在root目录下:
userdel 用户名

//在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力)
sudo userdel 用户名

删除与该用户关联的主目录和邮件目录 :

//在root目录下:
userdel -r 用户名

//在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力)
sudo userdel -r 用户名

su指令

语法 su [用户名]
功能 切换用户
常见使用方式:
1、su 用户名 和 su 、实现超级用户与普通用户之间的切换:

进入超级用户时需要输入密码 

2、su - 与 su、进入超级用户:

su -是重新登陆至超级用户所以它在登陆时还会显示登录信息,su是切换至超级用户

二者等效,推荐使用命令更简单的后者

sudo指令

语法:sudo 后续指令......

功能:指令提权

注意事项:

1、sudo进行指令提权时,需要输入该普通用户本身的密码

常见使用方法:

1、sudo touch file.txt、在普通用户中指令提权后创建文件

Linux权限管理

Linux中文件访问者有三种“人”

1、拥有者
2、所属组
作用: 在多人协作时更好的进行权限管理
3、Other

Linux中为什么要有组的概念: 

公司中假设我们是A组的组员d,我在Linux中写了一些代码,现在组长要来检查我的代码,本来我的代码只有我自己能看,现在我要打开权限让同组的组长查看,如果没有组的概念,只有拥有者与其他人Other,那么在我打开权限时,除了我的组长以外,我的死对头B组的组员g就也能查看我的代码,万一写的代码不好就很丢人,所以有了组的概念就很方便了......

Linux中有两种人(普通用户与超级用户)的概念是否与Linux中文件访问者有三种人(拥有者、所属组、Other)的概念有所冲突?

答案:两者并不冲突,反而互补

具体解释:在Linux中权限不是用来限制人的而是用来限制角色的,这也是为什么说“在Linux中更准确的讲应该是:权限 = 角色 + 文件” ,普通用户与超级用户是具体的人,而拥有者、所属组、Other是三种角色,一种角色可以是多个不同的人,即某一个普通用户可以是一个文件的拥有者和所属组,一个超级用户可以仅仅只是一个文件的所属组......

第一行内容中,第一个root表示它是dir文件的拥有者,第二个root表示它也是dir文件的所属组

~over~

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

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

相关文章

HashMap源码全面解析

注:本篇文章是在JDK1.8版本源码进行分析。 一、概述 HashMap 是基于哈希表的 Map接口的实现,是以 key-value 存储形式存在,即主要用来存储键值对。 HashMap的类图: HashMap继承抽象类AbstractMap,实现了Map、Clonea…

深度学习:什么是知识蒸馏(Knowledge Distillation)

1 概况 1.1 定义 知识蒸馏(Knowledge Distillation)是一种深度学习技术,旨在将一个复杂模型(通常称为“教师模型”)的知识转移到一个更简单、更小的模型(称为“学生模型”)中。这一技术由Hint…

基于SpringBoot蜗牛兼职网的设计与实现

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,蜗牛兼职网当然也不能排除在外。蜗牛兼职网是以实际运用为开发背景,运用软件工程原理和开发方法&#xff0c…

面试就是这么简单,offer拿到手软(一)—— 常见非技术问题回答思路

面试系列: 面试就是这么简单,offer拿到手软(一)—— 常见非技术问题回答思路 面试就是这么简单,offer拿到手软(二)—— 常见65道非技术面试问题 文章目录 一、前言二、常见面试问题回答思路问…

算法通关村第四关—栈的经典算法问题(白银)

emsp;emsp;栈的经典算法问题 一、括号匹配问题 emsp;首先看题目要求,LeetCode20.给定一个只包括’(‘,)’,‘{,’,[,]的字符串s,,判断字符串是否有效。有效字符串需满足: 1.左括号…

python绘制箱线图boxplot——用于多组数据的比较, 异常值检测

python绘制箱线图boxplot——用于多组数据的比较, 异常值检测 介绍箱线图方法简介箱线图适用范围seaborn.boxplot箱图外观设置异常值marker形状、填充色、轮廓设置完整代码 如下matplotlib.pyplot常见参数介绍 本文系统详解利用python中seaborn.boxplot绘制箱图boxplot。seab…

Linux系统安装Docker-根据官方教程教程(以Ubuntu为例)

Linux系统安装Docker-根据官方教程教程(以Ubuntu为例) 1. 背景介绍2. 环境配置2.1 软件环境要求2.2 软件下载2.3 文档地址2.3 必备命令工具下载 3. 安装Docker3.1 使用root用户操作后续命令3.2 卸载可能存在的旧版本 4. 安装Docker4.1 更新依赖包4.2 配置…

npm ERR! notarget No matching version found for @eslint/eslintrc@^2.1.4.

文章目录 Intro解决流程总结前置信息了解npm 镜像源三个要用到的npm命令 官方源确认查看当前镜像源的详情解决: 切换镜像源后重试重新操作 事后感受 Intro 事由是今天我在用 create-react-app 新建一个用于测试的前端项目。 然后就出现以下报错: wuyuj…

RHCSA学习笔记(RHEL8) - Part2.RH134

Chapter Ⅰ 提高命令行生产率 SHELL脚本 #/bin/bash声明使用的shell翻译器 for循环 for VAR in LIST doCOMMAND1COMMAND2 done实验1:显示host1-5 #! /bin/bash for host in host{1..5} doecho $host done实验2:显示包含kernel的软件包安装时间 #! /…

【鸿蒙应用ArkTS开发系列】-自定义底部菜单列表弹窗

文章目录 前言创建Demo工程创建dialog 文件夹创建ListMenu 接口创建自定义弹窗 ListMenuDialog使用自定义弹窗 打包测试效果演示默认效果菜单带图标效果设置文本颜色效果不同文本颜色效果无标题效果 前言 上一篇文章中我们实现了选择图片、选择文件、拍照的功能 。 链接在这里…

【网络协议】聊聊网络ReadTimeout和ConnectTimeout

在实际的开发中,网络超时是一个比较常见的问题,比如说针对支付系统,超时就需要进行和三方人员进行核对订单状态,是否人工介入处理。 但其实在设计网络框架的时候,一般都有两个超时参数 连接超时参数 ConnectTimeout&am…

阻抗匹配电阻原理及其应用

一、匹配电阻的作用 1、阻抗匹配 当信号频率比较高,上升沿比较陡时,电子信号经过阻抗不同的地方时也会产设反射。 PCB的单线阻抗一般会设计成50Ω,发射端阻抗一般是17到40,而接收端一般是MOS管的输入,阻抗是比较大的…

Python 高性能 web 框架 - FastApi 全面指南

原文:Python 高性能 web 框架 - FastApi 全面指南 - 知乎 一、简介 FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6 并基于标准的 Python 类型提示。 它具有如下这些优点: 快速&…

shell编程系列(11)-使用grep查找文本

文章目录 前言grep的使用根据关键字查找反向查找 结语 前言 grep命令也是我们在日常使用linux,编写shell脚本中会用到的一个高频命令,grep主要是帮助我们查找我们想要的内容,类似于我们在office word里面的 Ctrl f 查找功能,但是…

LabVIEW在不同操作系统上使VI、可执行文件或安装程序

LabVIEW在不同操作系统上使VI、可执行文件或安装程序 LabVIEW可以在多个操作系统上运行,主要支持以下几种操作系统: Windows: LabVIEW在各个版本的Windows操作系统上都能运行,包括Windows 7、Windows 8和Windows10。LabVIEW为Wi…

docker容器中创建非root用户

简介 用 docker 也有一段时间了,一直在 docker 容器中使用 root 用户肆意操作。直到部署 stable diffusion webui 我才发现无法使用 root 用户运行它,于是才幡然醒悟:是时候搞个非 root 用户了。 我使用的 docker 镜像文件是 centos:centos…

使用系统ProgressBar实现三色进度条

使用系统ProgressBar实现如图三色进度条&#xff1a; //布局中<ProgressBarandroid:layout_width"0dp"android:layout_height"8dp"android:layout_marginLeft"16dp"app:layout_constraintBottom_toBottomOf"id/photo"app:layout_c…

解决报错:error: (-215:Assertion failed) inv_scale_x > 0 in function ‘cv::resize‘

需求背景 欲使用opencv的resize函数将图像沿着纵轴放大一倍&#xff0c;即原来的图像大小为(384, 512), 现在需要将图像放大为(768, 512)。 源码 import cv2 import numpy as np# 生成初始图像 img np.zeros((384, 512), dtypenp.uint8) img[172:212, 32:-32] 255 H, W …

Python爬虫教程27:秀啊!用Pandas 也能爬虫??

说到爬虫&#xff0c;大家可能都知道requests、re、scrapy、selenium等等一些工具库。虽然它低调&#xff0c;但功能非常强大&#xff0c;用于抓取Table表格型数据时&#xff0c;简直是个神器&#xff0c;没有必要去F12研究HTML页面结构甚至写正则表达式解析字段。 #我的Pytho…

Python教程78:聊聊exec和eval()函数,有什么用法区别

exec 和 eval 是 Python 中的两个内置函数&#xff0c;它们都可以执行Python代码&#xff0c;但它们的使用方式和目的有所不同。 1.exec()函数用于执行动态的 Python 代码&#xff0c;你可以使用exec来执行存储在字符串或对象代码中的 Python 代码。exec 不会返回任何结果&…