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

news2024/12/24 21:03:59

创建新用户

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.coloradmin.cn/o/1595042.html

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

相关文章

推荐一款基于vim的超可扩展文本编辑器neovim

一、简介 Vim是一个基于流行的Vi编辑器的文本编辑器,最初是在20世纪70年代发布的。Vim代表“改进的Vi”,它拥有广泛的用户基础和广泛的可用插件和扩展。 Neovim是Vim的一个分支,创建于2014年,旨在解决Vim的一些缺点,…

Node.js留言板(超详细注释)

目录结构如下 app.js // 一.引入模块 var http require(http);// 用于创建 HTTP 服务器和处理 HTTP 请求 var fs require(fs);// 用于读取和写入文件 var url require(url);// 用于解析URL// 创建留言数据对象 var msgs [{ name: 牛二, content: "我是妞儿", cr…

Hadoop+Spark大数据技术(微课版)曾国荪、曹洁版思维导图第四次作业 (第4章 HBase分布式DB)

1.简述Hbase的特点及与传统关系数据库的区别 HBase与传统关系数据库的区别 (1)数据类型 关系数据库具有丰富的数据类型,如字符串型、数值型、日期型、二进制型等。HBase只有字符串数据类型,数据的实际类型都是交由用户自己编写程序…

Spring+SpringMVC的知识总结

一:技术体系架构二:SpringFramework介绍三:Spring loC容器和核心概念3.1 组件和组件管理的概念3.1.1什么是组件:3.1.2:我们的期待3.1.3Spring充当组件管理角色(IOC)3.1.4 Spring优势3.2 Spring Ioc容器和容器实现3.2.1普通和复杂容器3.2.2 SpringIOC的容器介绍3.2.3 Spring IOC…

开源版中文和越南语贷款源码贷款平台下载 小额贷款系统 贷款源码运营版

后台 代理 前端均为vue源码,前端有中文和越南语 前端ui黄色大气,逻辑操作简单,注册可对接国际短信,可不对接 用户注册进去填写资料,后台审批,审批状态可自定义修改文字显示 源码免费下载地址抄笔记 (chaob…

【Vue】新手一步一步安装 vue 语言开发环境

文章目录 1、下载node.js安装包 1、下载node.js安装包 1.打开node.js的官网下载地址:http://nodejs.cn/download/ 选择适合自己系统的安装包:winds、mac 2. 配置node.js和npm环境变量 安装好之后,对npm安装的全局模块所在路径以及缓存所在路…

Linux网络基础 (二) ——(IP、MAC、端口号、TCPUDP协议、网络字节序)

文章目录 IP 地址基本概念源IP地址 & 目的IP地址 MAC 地址基本概念源MAC地址 & 目的MAC地址 端口号基本概念源端口号 & 目的端口号 TCP & UDP 协议基本概念TCP 与 UDP 的抉择 网络字节序大端、小端字节序 🎖 博主的CSDN主页:Ryan.Alask…

五、Jenkins、Docker、SpringClound持续集成

Jenkins、Docker、SpringClound持续集成 一、部署介绍1.部署图2.微服务项目结构3.项目启动顺序 二、微服务项目在Windows运行1.配置java、maven环境2.初始化数据库表/数据2.1 tensquare_gathering服务表2.2 tensquare_gathering服务表 3.启动微服务4.微服务接口测试4.1 获取用户…

Tomcat源码解析——Tomcat的启动流程

一、启动脚本 当我们在服务启动Tomcat时,都是通过执行startup.sh脚本启动。 在Tomcat的启动脚本startup.sh中,最终会去执行catalina.sh脚本,传递的参数是start。 在catalina.sh脚本中,前面是环境判断和初始化参数,最终…

架构师系列-搜索引擎ElasticSearch(六)- 映射

映射配置 在创建索引时,可以预先定义字段的类型(映射类型)及相关属性。 数据库建表的时候,我们DDL依据一般都会指定每个字段的存储类型,例如:varchar、int、datetime等,目的很明确,就…

45.HarmonyOS鸿蒙系统 App(ArkUI)创建列表(List)

列表是一种复杂的容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、音乐列…

Qt快速入门(MV架构之TableView + QStandardItemModel + 自定义代理小案例)

Qt快速入门(MV架构之TableView QStandardItemModel 自定义代理小案例) 关于MV架构的简单介绍 在Qt框架中,代理(Delegate)、模型(Model)和视图(View)之间的关系构成了…

14_SpringMVC

文章目录 MVCSpringMVC与JavaEE对比SpringMVCSpringMVC的核心流程SpringMVC入门案例RequestMapping注解的使用Handler方法的返回值Handler方法的形参keyvalue形式的请求参数Json请求参数 RESTful风格接口静态资源处理FilterHandlerInterceptor异常处理SpringMVC核心流程流程图 …

自动化收集Unity版本更新日志

自动化收集Unity版本更新日志 🍥功能介绍🥪食用手册填写配置开始搜集 🍨数据展示 🍥功能介绍 💡获取指定年份中所有的Unity版本更新日志。 💡根据指定字符串过滤。 💡.收集后自动保存成markdow…

架构师系列-搜索引擎ElasticSearch(四)- 高级查询

ES查询 matchAll 脚本方式 该方式可以通过kabana、curl、elasticsearch-head(纯前端)去操作 # 默认情况下,es一次展示10条数据,通过from和size来控制分页 # 查询结果详解 GET goods/_search {"query": {"match_all":…

如何在MacOS上使用OpenHarmony SDK交叉编译?

本文以cJSON三方库为例介绍如何通过OpenHarmony的SDK在Mac平台进行交叉编译。 环境准备 SDK准备 我们可以通过 openHarmony SDK 官方发布渠道下载对应mac版本的SDK,当前OpenHarmony MAC版本的SDK有2种,一种是x86架构,另一种是arm64&#x…

二叉树例题分享

文章目录 二叉树例题分享[235. 二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/)[701. 二叉搜索树中的插入操作](https://leetcode.cn/problems/insert-into-a-binary-search-tree/)[108. 将有序数组转换为二叉搜索树…

分享一些有趣的 Linux 命令

1、sl 会显示一辆火车穿过你的终端屏幕 2、cmatrix 在终端中显示类似于《黑客帝国》电影中的绿色数字雨效果 3、fortune 显示一个随机的名人名言或者笑话 4、cowsay 让一头牛说出你输入的话 5、toilet 在终端中将输入的文本以艺术字体的形式呈现 6、figlet 类似于 toile…

Python数据分析案例41——基于CNN-BiLSTM的沪深300收盘价预测

案例背景 虽然我自己基于各种循环神经网络做时间序列的预测已经做烂了.....但是还是会有很多刚读研究生或者是别的领域过来的小白来问这些神经网络怎么写,怎么搭建,给我一篇论文看看感觉很厉害的样子。我一看:普刊、单变量时间序列预测、一个…

软考中级工程师网络技术第二节网络体系结构

OSPF将路由器连接的物理网络划分为以下4种类型,以太网属于(25),X.25分组交换网属于(非广播多址网络NBMA)。 A 点对点网络 B 广播多址网络 C 点到多点网络 D 非广播多址网络 试题答案 正确答案: …