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命令查看用户信息时,敲错用户名的情况下,会提示没有这个用户。

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

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

相关文章

Arrow, 一个六边形的 Python 时间库

文章目录 Arrow, 一个六边形的 Python 时间库第一部分:背景介绍第二部分:库是什么?第三部分:如何安装这个库?第四部分:库函数使用方法第五部分:场景应用第六部分:常见Bug及解决方案第…

Mac 软件清单

~自留备用~ Macbook用了几年之后, 512G的内置硬盘有些紧张了, 这几天总是提示空间不足, 就重装了下系统, 重装之后竟然不记得有些软件的名字和下载链接, 特此记录 Office 办公套件 直接从微软官网下载Office 安装包https://officecdnmac.microsoft.com/pr/C1297A47-86C4-4C1F…

前端三剑客 —— JavaScript (第六节)

目录 内容回顾 BOM编程 DOM编程* document对象 document对象的属性 document对象的方法 DOM对象节点 操作DOM对象内容 操作DOM对象的属性 --- DOM对象.属性名称 --- DOM对象[属性名称] --- 调用系统API (Application Program interface)&#…

汇编语言知识点整理(应付考试专用,想学习找其他的)

1 基础知识 1.1 信息在计算机内部的表示和存储 1.1.1 信息存储的基本概念 信息在计算机内部是以二进制数据的形式在存储器中存取的。介绍两个基本概念: 位(Bit) 计算机中最小的数据单位,一位有0、1两状态。Bit是计算机中最小…

对常见FTP客户端/服务器的调查与分析

前言 主要是想看看常见的服务器和客户端是如何实现协议中要求的功能的,。 比如RF959要求的记录结构(Record Structure)、页结构(Page Structure)、Block Mode、Compress Mode,看起来就很抽象。 实测发现…

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

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

Day101:漏洞发现-漏扫项目篇NucleiYakitGobyAfrogXrayAwvs联动中转被动

目录 特征类-三方Poc调用&模版Poc调用 案例1:单点对某特征点进行安全评估 Goby-综合类 Nuclei-较综合类 Afrog-特征类 Yakit-可特征可综合 案例2:新型对某特征点进行安全评估 综合类-主动漏扫&中转联动&被动联动 案例1:…

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

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

当我们使用git 上传码云的时候报错:Push rejected Push to origin/master was rejected

在我们推送成果去git(码云)的过程中报错:Push rejected Push to origin/master was rejected 这个问题是我们在推的时候被拒绝了 控制台报错: 18:46:19.665: [zengqingqingandluoxuwen] git -c credential.helper -c core.quote…

软件无线电安全之GNU Radio基础 -上

GNU Radio介绍 GNU Radio是一款开源的软件工具集,专注于软件定义无线电(SDR)系统的设计和实现。该工具集支持多种SDR硬件平台,包括USRP、HackRF One和RTL-SDR等。用户可以通过GNU Radio Companion构建流程图,使用不同…

嵌入式学习54-ARM3(中断和时钟)

知识零碎: import ,定义表示这是一个外部变量的标号,不是在本程序定义的 export ,表示本程序里面用到的变量提供给 其他模块 调用的。 按键模块中,K1和K6所连接的高电阻,根据外部变化变化 …

HiveQL练习(hive3.x)

零、准备工作 1. Hive环境安装 参见搭建Hive 3.x环境(CentOS 9 Hadoop3.x) 2. 准备数据 在虚拟机HOME目录创建如下文件内容: cd /root vi emp.csv内容如下: 7369,SMITH,CLERK,7902,1980/12/17,800,,20 7499,ALLEN,SALESMAN…

SpringMVC--获取请求参数 / 域对象共享数据

目录 1. SpringMVC 获取请求参数 1.1. 通过ServletAPI获取 1.2. 控制器方法形参获取 1.3. RequestParam 1.4. RequestHeader 1.5. CookieValue 1.6. 通过POJO获取请求参数 1.7. 解决获取请求参数的乱码问题 2. 域对象共享数据 2.1. 三大域对象 2.2. 准备工作 2.3. S…

8:系统开发基础--8.5:系统设计、8.6:系统测试 、8.7:软件维护 、8.8:软件质量保证、8.9:软件文档

转上一节: http://t.csdnimg.cn/X0GjWhttp://t.csdnimg.cn/X0GjW 8.5:系统设计 考点1:系统设计概述 1:软件设计的任务与活动 体系结构设计:定义软件系统各主要部件之间的关系。 数据设计:基于E-R图确定…

免费的 ChatGPT 网站(六个)

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、insCode二、讯飞星火三、豆包四、文心一言五、通义千问六、360智脑 现在智能…

专题十三、预处理器

预处理器 1. 预处理器的工作原理2. 预处理指令3. 宏定义3.1 简单的宏3.2 带参数的宏3.3 # 运算符3.4 ## 运算符3.5 宏的通用属性3.6 宏定义中的圆括号3.7 创建较长的宏3.8 预定义宏3.9 C99 中新增的预定义宏3.10 空的宏参数3.11 参数个数可变的宏3.12 __func__ 标识符 4. 条件编…

Leetcode 416.分割等和子集

题目 思路 使用0-1背包的思路。 之前0-1背包是说有N个物品,一个最大承重重量为W的背包。每个物品都有各自的重量和value,要让放入背包中物品价值总和最大。 这道题如何对应成0-1背包,看下面的分析。 背包的大小:要想两个子集元素和相等&am…

宝塔面板Docker+Uwsgi+Nginx+SSL部署Django项目

这次为大家带来的是从零开始搭建一个django项目并将它部署到linux服务器上。大家可以按照我的步骤一步步操作,最终可以完成部署。 步骤1:在某个文件夹中创建一个django项目 安装django pip install django创建一个django项目将其命名为djangoProject …

【板栗糖GIS】如何给微软拼音输入法加上小鹤双拼

【板栗糖GIS】如何给微软拼音输入法加上小鹤双拼 用过在注册表里新建的方法,结果弄完没有出现小鹤双拼方案,想到了自己写reg表 目录 1. 新建一个txt文件 2. 把.txt的后缀名改成.reg,双击运行 3. 在设置中找到微软输入法-常规 1. 新建一个…

二分查找(函数法)

1.二分查找的前提 只有单调的序列才能进行二分查找; 一般为单调不减,单调不增需要像 sort() 一样修改比较函数; 2.binary_search( ) 函数 binary_search( ) 是算法库(algorithm)函数里面的,用于在一个已经…