Linux操作系统中关于用户管理的操作

创建新用户

useradd 【选项】 用户名

在/etc/passwd中以追加的方式在passwd的最后一行添加用户信息。

可以使用命令tail  -n 1/etc/passwd查看文件的最后一行内容。

ls /home/首先/home/这是普通用户的家目录,

在/home/下会有一个跟用户名同名的家目录,也就是跟用户名同名的宿主目录。

如上图所示,在/etc/shadow的文件中也会出现user A的密码信息。并且出现两个感叹号,表示用户当前没有设置密码信息。

如上图所示,在/etc/shadow目录中有一个跟用户同名的文件,

就是这个用户在该机器上的本地邮箱地址,这个文件保存用户的邮件,

useradd命令的常用选项:

-u 用户ID,

当默认不指定用户ID时,就会默认从上一个用户的ID,往下排。

如上图所示,当我们通过命令useradd -u 2000 userC  来指定用户的ID时,在/etc/passwd文件中,用户的ID就会被指定为2000

(指定新建用户ID的目的,就是为了好记。)

系统用户的ID是1-999

1000+的ID是给普通用户留的。
管理员的ID是0

-s shell 用来指定用户的shell 

一般配合-M选项来使用,

-M的意思是不创建用户的家目录。

创建系统用户

如上图所示,使用命令useradd -s /sbin/nologin -M mysql

在不指定用户ID的前提下,去创建一个系统用户,使用grep “mysql” 在文件/etc/passwd中可以找到这个系统用户的信息。

由于创建的是系统用户,所以在/home/中并不会真正创建mysql的家目录,但是在/etc/passwd中仍然会显示mysql系统用户的相关信息。

使用命令useradd -u 90 -s /sbin/nologin -M openstack

这时新建系统用户是openstack,并且指定该用户的ID是90,给该系统配备的shell程序是/sbin/nologin,表示该新建系统用户不能正常登录系统。

-g指定用户的基本组,创建新用户时,跟用户同名的组默认就是用户的基本组。

在Linux操作系统中创建新用户时,默认会创建跟新建用户同名的组,这个跟新建用户同名的组,默认是新建用户的基本组。

可以使用-g选项来指定新建用户的基本组,

如上图所示,给hadoop用户指定基本组为hdfs组

首先要创建hdfs组,即使用命令groupadd hdfs

来创建hdfs组

当我们查看Linux操作系统中一个用户的uid gid 附加组   时可以使用命令id 用户名 

-G可以用来指定用户的附加组

对于一个用户来说,基本组只能有一个但是附加组可以有多个。

-G 附加组,附加组, 多个附加组(可以用逗号隔开。)

www用户创建3个附加组,

用命令groupadd 组名

useradd -G 组名 用户名

可以使用命令id 用户名

来查看新建用户的uid gid 附加组

切换用户

如上图所示,当root管理员用户切换到其他普通用户登录系统时,直接使用命令su - 用户名

即可实现切换用户登录Linux操作系统的需求。

当想要从普通用户退出到root管理员用户时,直接就可以使用命令exit退出,此时就相当于退出普通用户,返回上一个root管理员用户。

为什么当使用su 命令切换用户时,那个-  必须加上?

如上图所示,当使用su命令去切换用户时,不加-

就会导致虽然用户能够切换过去,但是用户的操作环境切换不过来,这时系统会提示权限拒绝。

如上图所示,这时用户的当前目录是/root/

当使用命令su www时虽然登录系统的用户切换到www

但是此时系统所处的当前目录还是/root/

想要以普通用户的身份去查看管理员用户的家目录信息,当然是没有权限的,系统会提示权限禁止。

如上图所示,当使用su - www去切换用户时,这时系统的当前目录是/home/www

使用ls 命令就不会再次受到限制了。

设置用户密码

passwd [选项] [用户名]

当我们直接敲passwd + 回车时,修改的是当前用户的密码。

设置指定用户的密码,可执行的命令格式是 passwd + 用户名

如上图所示,只有root用户可以指定用户名,也就是说只有root用户可以修改指定用户的登陆密码,

其他用户只能修改当前用户的密码,而不能指定用户名。‘

如上图所示,普通用户只能修改当前用户的密码,并且在修改当前密码的过程中,还必须输入自己的旧密码。

passwd命令的选项

-l 的作用是锁定用户密码。

如上图所示,在使用root管理员身份去指定用户名的前提下,去锁定普通用户www的密码,当普通用户www的密码被锁定之后,就意味着www用户不能直接登录系统。

解锁用户密码成功,

使用命令passwd -u +用户名,来解锁用户密码

-e 强制用户密码过期

即需要用户修改自己的用户密码,此时还需输入用户的旧密码,

查看用户的ID信息

用户名是www,用户的uid是2003

用户的gid是2007(基本组)

用户的附加组是groups中的组

当使用id命令查看用户信息时,敲错用户名的情况下,会提示没有这个用户。

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

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

相关文章

《经典论文阅读2》基于随机游走的节点表示学习—Deepwalk算法

word2vec使用语言天生具备序列这一特性训练得到词语的向量表示。而在图结构上,则存在无法序列的难题,因为图结构它不具备序列特性,就无法得到图节点的表示。deepwalk 的作者提出:可以使用在图上随机游走的方式得到一串序列&#x…

荔枝派LicheePi 4A RISCV板子支持的好玩的AI模型

荔枝派LicheePi 4A 是基于 Lichee Module 4A 核心板的 高性能 RISC-V Linux 开发板,以 TH1520 为主控核心(4xC9101.85G, RV64GCV,4TOPSint8 NPU, 50GFLOP GPU),板载最大 16GB 64bit LPDDR4X&…

给自己的机器人部件安装单目摄像头并实现gazebo仿真功能

手术执行器添加摄像头 手术执行器文件夹surgical_new内容展示如何添加单目摄像头下载现成的机器人环境文件启动仿真环境 手术执行器文件夹surgical_new内容展示 进入src文件夹下选择进入vision_obliquity文件夹 选择launch 有两个可用gazebo中rviz展示的launch文件&#xff0…

Github Coplit的认证及其在JetBrains中的使用

原文地址:Github Coplit的认证及其在JetBrains中的使用 - Pleasure的博客 下面是正文内容: 前言 今天分享一个可有可无的小技巧,水一篇文。 如标题所述,Github Coplit的认证及其在JetBrains中的使用 正文 介绍JetBrains JetBrain…

《经典论文阅读1》YouTubeDNN—基于深度学习的搜推系统开山之作

论文链接: https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/45530.pdf全文由『说文科技』原创出品。版权所有,翻版必究。 这篇发表于2016年九月的文章,在搜索推荐仍然基于矩阵分解的时代,抛…

Github 2024-04-14开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-14统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目3C++项目3Python项目2JavaScript项目1NSIS项目1Jupyter Notebook项目1非开发语言项目1项目化学习 创建周期:2538 天协议类型:M…

Go sync.RWMutex 使用示例

sync.RWMutex 是 Go 语言标准库中的读写互斥锁,适用于读多写少的并发场景。它允许同时有多个读取者(读者)访问共享资源,但只允许一个写入者(作者)独占访问。 下面是一个使用 sync.RWMutex 的示例&#xff…

聊聊jvm中内存模型的坑

jvm线程的内存模型 看图,简单来说线程中操作的变量是副本。在并发情况下,如果数据发生变更,副本的数据就变为脏数据。这个时候就会有并发问题。 参考:https://www.cnblogs.com/yeyang/p/12580682.html 怎么解决并发问题 解决的…

【1000个GDB技巧之】如何在远端服务器打开通过vscode动态观测Linux内核实战篇?

Step: 配置ssh的服务端host (也可以直接在vscode中配置,忽略) 主要步骤:在~/.ssh/config中添加服务端的host,以便vscode的remote中能够登录 详细配置过程参考兄弟篇文章:ssh config如何配置用host名替代ro…

【管理】推进五步法

推进五步法是一种常用的解决问题和推动工作的方法,通常用于团队协作、项目管理和决策过程中。这五个步骤是: 明确目标:首先确定工作的具体目标或问题的解决方向。目标应该具体、明确、可量化,并与团队共享。 分析现状&#xff1a…

Unity 人形骨骼动画模型嘴巴张开

最近搞Daz3D玩,导入后挂上动画模型嘴巴张开,其丑无比。 Google了一下,得知原因是Unity没有对下巴那根骨骼做控制,动画系统就会把它放到默认的位置,嘴巴就张开了。找到了3种解决办法。 1.移除动画中对下巴这个骨骼的转…

数据结构之排序了如指掌(三)

目录 题外话 正题 快速排序 Hoare法 Hoare法思路 Hoare法代码详解 挖坑法 挖坑法思路 挖坑法代码 前后指针法 前后指针法思路 前后指针法代码 小结 题外话 我们接着把没有写完的排序内容完成,快速排序其实大同小异,大家好好把思路整理一下 正题 快速排序 快速排序一…

蓝桥杯:握手问题和小球反弹问题

试题 A: 握手问题 本题总分: 5 分 【问题描述】 小蓝组织了一场算法交流会议,总共有 50 人参加了本次会议。在会议上, 大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手(且仅有一次&#x…

论文笔记:Teach LLMs to Phish: Stealing Private Information from Language Models

iclr 2024 reviewer 评分 588 1 intro 提出了一种“神经网络钓鱼攻击” 一种新的针对在敏感用户数据上训练或finetune的LLMs的攻击向量攻击者将看似无害的投毒数据插入到模型的训练数据集中,以“教会LLMs进行钓鱼”,即诱导模型记住他人的个人身份信息&…

Linux(Ubuntu) 查看并删除使用【dpkg】安装的软件【mysql 8.3安装失败---原因调查】

目录 ■前言 ■查看安装的软件 ■删除安装的软件 正常删除(dpkg -r xxxxName) 问题解决:use --purge to remove them too ■其他调查信息 命令 图片1 图片2 图片3 图片4 ■前言 安装Mysql8.3失败 我的服务器-CSDN博客 ■查看安…

结合 react-webcam、three.js 与 electron 实现桌面人脸动捕应用

系列文章目录 React 使用 three.js 加载 gltf 3D模型 | three.js 入门React three.js 3D模型骨骼绑定React three.js 3D模型面部表情控制React three.js 实现人脸动捕与3D模型表情同步结合 react-webcam、three.js 与 electron 实现桌面人脸动捕应用 示例项目(github)&…

【linux深入剖析】深入理解软硬链接 | 动静态库的制作以及使用

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 1.理解软硬链接1.1 操作观…

CCF区块链论文录用资讯--ICDE 2024

ICDE是CCF A类会议 (数据库/数据挖掘/内容检索) 其2024录用了8篇区块链论文 Database technology for Blockchains I Efficient Partial Order Based Transaction Processing for Permissioned Blockchains (针对许可区块链的高效的基于偏序…

【算法】回溯:与递归,dfs的同质与分别,剪枝与恢复现场的详细理解,n皇后的回溯解法及算法复杂度分析。

目录 ​编辑 1.什么是回溯 2.关于剪枝 3.关于恢复现场 4.题目:二叉树的所有路径(凸显恢复现场:切实感受回溯与深搜) 问题分析 ①函数设置为:void Dfs(root) ②函数设置为:void Dfs(root,path) 解题思想&…

webpack or vite? vuex or pinia?

2022.2.18, 新建一个vue3的项目,过程如下: 目录结构如下: 当还在犹豫选择webpack还是vite,vuex或者pinia的时候,尤大大已经给出了默认选择,vite && pinia。