Linux——用户和权限

news2024/9/20 11:32:13

root用户(超级管理员)

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。

******************

使用普通用户在根目录下创建文件夹

切换到root用户后,继续尝试

普通用户的权限,一般在其HOME目录内是不受限的。

一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。

su和exit指令

su命令就是用于账户切换的系统命令,其来源英文单词:Switch User

1.- 符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上

2.参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root

3.切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d

4.使用普通用户,切换到其它用户需要输入密码

5.如切换到root用户 使用root用户切换到其它用户,无需密码,可以直接切换

sudo命令

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。

但是我们不建议长期使用root用户,避免带来系统损坏。

我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。

在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权

但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证

为普通用户添加sudo认证

普通用户要执行sudo命令需要sudo认证,且需要输入root的密码

******************************************

切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers

在文件的最后添加:

重新执行一下sudo mkdir  /test01 

用户,用户组管理 

以下命令需root用户执行

用户组管理的命令

创建用户组

groupadd 用户组名

创建一个组,名为g1

再用同样的方式创建一个g2(不贴图了)

用getent group命令查看组

能看到我们新创建的两个组以及和我们的普通用户chen同名的组

--------------------------------------

删除用户组

groupdel 用户组名

删除g2

**********************************************************************

用户管理的命令

创建用户

useradd [-g -d] 用户名

选项:-g 指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g

例1

先用getent passwd查看用户信息

创建一个u1.不指定 -g 会创建同名组并自动加入

(这里组号为空的原因是,一个用户可能属于多个组,由此这里并不直接显示)

用id u1 指定 查看u1的信息

可以看到,它在它的同名组下

例2:

创建一个u2 用 -g 指定它加入g1组

---------------------------------------------------------

选项:-d 指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

我们先看看u1和u2的home路径

可以看见,我们没有 -d 指定用户的home,它的home目录默认在 /home/用户名

现在我们创建一个u3 指定它在g1组 ,并且指定它的home 目录 在 /home/user3

--------------------------------------

删除用户

userdel [-r] 用户名

选项:-r  删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留

删除u3   没有 -r  它的home目录被保留,我们手动删一下

删除u2  使用 -r  它的home目录也被删除了

--------------------------------------

查看用户所属组

id [用户名]

参数:用户名,被查看的用户,如果不提供则查看自身

--------------------------------------

修改用户所属组

usermod -aG 用户组 用户名      将指定用户加入指定用户组

-a 选项表示追加(append)

-G 选项后面跟的是要添加的用户组的名称

创建一个g2,把u1加入g2

可以看见,它是归属于u1g2 组的

getent命令

使用getent命令,可以查看当前系统中有哪些用户

语法: getent passwd

我们的u1归属于多个组,这里不显示组id

共有7份信息,

分别是: 用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

------------------------------------

使用getent命令,同样可以查看当前系统中有哪些用户组

语法:getent group

共有3份信息,

分别是:   组名称:组认证(显示为x):组ID

查看权限控制

通过ls -l 查看文件的详细信息

序号1:表示文件、文件夹的权限控制信息

序号2:表示文件、文件夹所属用户

序号3:表示文件、文件夹所属用户组

****************************************************

认知权限信息

让我们来解析一下序号1——权限细节

权限细节总共分为10个槽位

************************************ 

以这个文件为例,它归属于root用户,归属于root用户组

root用户对它有 rwx权限

root用户组对它有 rx权限 没有w权限

其他用户组对他有rx权限 没有w权限

rwx的含义

r表示权限

w表示权限

x表示执行权限

*****************************

针对文件、文件夹的不同,rwx的含义有细微差别

r

针对文件可以查看文件内容

针对文件夹,可以查看文件夹里面的内容,如ls命令

w

针对文件表示可以修改此文件

针对文件夹,可以在文件夹内:创建、删除、改名等操作

x

针对文件表示可以将文件作为程序执行

针对文件夹,表示可以更改工作目录到此文件夹,即cd进入

修改权限控制 

chmod命令

我们可以使用chmod命令,修改文件、文件夹的权限信息。

注意,只有文件、文件夹的所属用户或root用户可以修改。

命令格式

选项:-R,对文件夹内的全部内容应用同样的操作

例1:

查看test01.txt的 权限信息  (最开始的-表示他是一个文件)

将test01.txt 的权限修改为 rwx rw- r-x

其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限

例2:

创建一个多级文件夹 /a/b/c,记住这里a文件夹和b文件夹的权限信息

修改a文件夹的权限信息为rwxrwxrwx,

我们没有选择  -R  可以看到b文件夹的权限没有被修改

*********************************

执行chmod -R u=rwx,g=rwx,o=rwx a

可以看见a文件夹里面的所有内容的权限都被修改为rwxrwxrwx了

用数字表示权限

 修改test01.txt文件的权限为 rwx r-x  ---   =>  111 101 000   =>  7 5 0

chown命令

使用chown命令,可以修改文件、文件夹的所属用户和用户组

普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行

命令格式

选项,-R,同chmod,对文件夹内全部内容应用相同规则

选项,用户,修改所属用户

选项,用户组,修改所属用户组 :用于分隔用户和用户组

示例

*************************************

在用户chen下面创建一个文件夹

切换到root用户,修改它的所属用户为root ,所属组为g1

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

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

相关文章

【linxu】虚拟环境中Python 版本错乱:深入探究 Linux 虚拟环境的识别问题

【linxu】虚拟环境中Python 版本错乱:深入探究 Linux 虚拟环境的识别问题 问题描述:在服务器上,我配置了一个虚拟环境,明确指定使用 Python 3.8 版本。然而,当我激活该环境并检查 Python 版本时,意外地发现…

IO练习--随机点名

随机点名器1 需求: 有一个文件里面存储了班级同学的信息,每一个信息占一行。 格式为:张三-男-23 要求通过程序实现随机点名器。 运行效果: 第一次运行程序:随机同学姓名1(只显示名字) 第二次运行程序:随机同学姓名2(只显示名字) 第三次运行程序:随机同学姓名3(只显…

数学建模强化宝典(2)linprog

一、介绍 linprog 是 MATLAB 中用于解决线性规划问题的函数。线性规划是一种优化方法,它尝试在满足一组线性等式或不等式约束的条件下,找到一个线性目标函数的最大值或最小值。linprog 函数适用于求解形如以下问题的线性规划问题: minimizecT…

Native开发与逆向第六篇 -字符串加密与hook

开发demo 写一个简单的字符串加密处理&#xff0c;将字符串字符转成ASCII十六进制值 std::string StrToHex(std::string str){unsigned char c;char buf[3];std::string result "";std::stringstream ss;ss << str;while (ss.read((char *)(&c), sizeof…

Python数据类型转换背后的逻辑

文末赠免费精品编程资料~~ 今天让我们深入浅出地探索Python数据类型转换的奥秘。Python&#xff0c;作为一门灵活的编程语言&#xff0c;其强大的数据类型转换能力是日常编码中不可或缺的一部分。今天&#xff0c;我们将一步步揭开类型转换背后的逻辑&#xff0c;让你从新手进…

【wsl2】从C盘迁移到G盘

参考大神 C盘的ubuntu22.04 非常大&#xff0c;高达30g 迁移后就只有几百M了&#xff1a; 右键有一个move没有敢尝试 迁移过程 Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved.Install the latest PowerShell for new features and improveme…

HCCL集合通信算法开发Hello World示例(超详细)

本文给读者介绍了HCCL算法开发所涉及的概念和流程&#xff0c;并通过一个样例将前文介绍的内容串联起来。本文定位为HCCL算法开发的入门介绍&#xff0c;读者读完后&#xff0c;可结合HCCL开放代码仓中的算法样例&#xff0c;做深入研究。 1 什么是集合通信 集合通信定义了一…

Http的get请求中的URL中的占位符参数和查询参数有什么区别

Http的GET请求中的URL中的占位符参数和查询参数在功能、位置和用途上存在明显的区别。 占位符参数&#xff08;Path Variables&#xff09; 定义与位置&#xff1a;占位符参数是通过URL模板中的{}定义的&#xff0c;它们位于URL的路径&#xff08;path&#xff09;部分。例如…

C#文件的输入和输出

一个文件是一个存储在磁盘中带有指定名称和目录路径的数据集合.当打开文件进行读写时,它变成一个流.从根本上说,流是通过通信路径传递的字节序列.有两个主要的流:输入流和输出流.输入流用于从文件读取数据,输出流用于向文件写入数据. C#I/O类 System.IO命名空间有各种不同的类…

带权重的随机算法

假设有10名学生&#xff0c;其中5个男生&#xff0c;5个女生。 要求点到男生的概率为70%&#xff0c;女生的概率为30%。 给男生和女生设置权重&#xff0c;其中男生权重为7&#xff0c;女生权重为3。 public class Test02_case2 {public static void main(String[] args) th…

Expected expression after operator

这个错误直译过来就是:运算符号后没有预期的表达式 这个错误通常出现在编程语言中&#xff0c;尤其是在编写C或C等类型语言的时候&#xff0c;它意味着在源代码中遇到了一个操作符&#xff08;比如 , -, *, /, , 等等&#xff09;&#xff0c;但在该操作符后面没有紧跟相应的表…

【最新华为OD机试E卷】最大利润-贪心的商人(100分)-多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-E/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,…

Dolphinscheduler 3.2.0版本参数传递并使用switch任务进行判断

原文阅读&#xff1a;【巨人肩膀社区博客分享】3.2.0版本参数传递并使用switch任务进行判断 目标&#xff1a;根据日期判断执行哪项子任务 &#xfeff; 调度器版本&#xff1a;3.2.0 在这个版本中官方支持的参数传递任务类型有6中&#xff0c;分别为shell,sql,procedure,py…

网络压缩之网络剪枝(network pruning)

网络剪枝&#xff08;network pruning&#xff09;就是要把网络里面的一些参数剪掉。剪枝就是修剪的意思&#xff0c;把网络里面的一些参数剪掉。为什么可以把网络里面的一些参数剪 掉呢&#xff1f;这么大的网络里面有很多很多的参数&#xff0c;每一个参数不一定都有在做事。…

AcWing 897. 最长公共子序列

动态规划就是多见识应用题就完事儿了&#xff0c;也没有什么好说的。 讲解参考&#xff1a; 【E05 线性DP 最长公共子序列】 #include<iostream> #include<algorithm> #define N 1010 using namespace std; char a[N],b[N]; int n,m; int f[N][N]; int main(){…

欧拉 函数

互质&#xff1a; 互质是公约数只有1的两个整数&#xff0c;叫做互质整数。公约数只有1的两个自然数&#xff0c;叫做互质自然数&#xff0c;后者是前者特殊情况。 &#xff08;1和-1与所有整数互质&#xff0c;而且它们是唯一与0互质的整数&#xff09; 互质的判断方法&…

微信公众号文章导出工具 100%还原原文样式:wechat-article-exporter

wechat-article-exporter是一款微信公众号文章导出工具&#xff0c;能够100%还原原文样式&#xff0c;工具受 WeChat_Article 项目的启发所写&#xff0c;目前支持 搜索公众号和公众号内文章&#xff0c;导出文章为包含图片和样式文件的HTML格式&#xff08; (打包了图片和样式…

中仕公考:这样备考,你天生就是公务员!

根据上岸学员的反馈&#xff0c;小编发现了一些共通点&#xff0c;无论是在职备考还是全职备考&#xff0c;只要做到以下几点&#xff0c;不上岸那是不可能的! 1. 作息规律&#xff0c;早起不熬大夜。每天按时早起&#xff0c;挤出时间用来学习&#xff0c;晚上不熬夜学习到很…

Windows编程系列:PE文件结构

Windows编程系列&#xff1a;PE文件结构 PE文件结构 Portable Executable (PE)&#xff0c;可移植的可执行文件。在Windows平台下&#xff0c;所有的可执行文件&#xff08;包括.exe, .dll, .sys, .ocx, .com等&#xff09;均使用PE文件结构。这些使用了PE文件结构的可执行文…

HarmonyOS开发实战( Beta5版)应用性能工具CPU Profiler的使用规范

简介 本文档介绍应用性能分析工具CPU Profiler的使用方法&#xff0c;该工具为开发者提供性能采样分析手段&#xff0c;可在不插桩情况下获取调用栈上各层函数的执行时间&#xff0c;并展示在时间轴上。 开发者可通过该工具查看TS/JS代码及NAPI代码执行过程中的时序及耗时情况…