Linux加强篇-用户身份

目录

⛳️推荐

用户身份与能力


⛳️推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

用户身份与能力

在RHEL 8系统中,用户身份有下面这些,相当于皇宫的一些身份,皇帝、锦衣卫、大臣,皇帝是0独一无二,也就是root,锦衣卫是1-999保护系统免于崩溃,大臣是1000+由皇帝任命,拼命干活,出生的时候都以为自己是0,长大之后发现拿错本了,都是1000+。UID是不能冲突的,而且管理员创建的普通用户的UID默认是从1000开始的(即使前面有闲置的号码),就是有的萝卜坑不是你想占就占的。

管理员UID为0:系统的管理员用户。

系统用户UID为1~999:Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会由独立的系统用户负责运行,进而有效控制被破坏范围。

普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。

用户组的概念。通过使用用户组号码(GID,Group IDentification),可以把多个用户加入到同一个组中,从而方便为组中的用户统一规划权限或指定任务。这个简单来讲就是小团体,党争。

在Linux系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳到其他用户组,则这个其他用户组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满足日常的工作需要,你被任命了先各自为战,然后如果有人拉拢你,其他用户就是扩展用户组,但是基本用户组还是你,你中有我,我中有你,天下事坏就坏在这里,但是我们都是有基本立场的。

1.  id命令

id命令用于显示用户的详细信息,语法格式为“id用户名”

使用id命令查看一个名称为linuxprobe的用户信息:

[root@localhost ~]# id centos8  

uid=1000(centos8) gid=1000(centos8) groups=1000(centos8)

2.  useradd命令

useradd命令用于创建新的用户账户,语法格式为“useradd [参数] 用户名”

可以使用useradd命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会被存放在/home目录中,默认的Shell解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组。

useradd命令中参数及作用

参数作用
-d指定用户的家目录(默认为/home/username)
-e账户的到期时间,格式为YYYY-MM-DD.
-u指定该用户的默认UID
-g指定一个初始的用户基本组(必须已存在)
-G指定一个或多个扩展用户组
-N不创建与用户同名的基本用户组
-s指定该用户的默认Shell解释器

使用useradd命令创建一个名称为linuxcool的用户,并使用id命令确认信息:

[root@localhost ~]# useradd weihongbin04

[root@localhost ~]# id weihongbin04

uid=1004(weihongbin04) gid=1004(weihongbin04) groups=1004(weihongbin04)

创建一个普通用户并指定家目录的路径、用户的UID以及Shell解释器,/sbin/nologin,它是终端解释器中的一员,与Bash解释器有着天壤之别。一旦用户的解释器被设置为nologin,则代表该用户不能登录到系统中:

[root@localhost ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin jinyiwei01

[root@localhost ~]# id jinyiwei01

uid=8888(jinyiwei01) gid=8888(jinyiwei01) groups=8888(jinyiwei01)

3.  groupadd命令

groupadd命令用于创建新的用户组,语法格式为“groupadd [参数] 群组名”

创建一个用户组cabinet(内阁):

[root@localhost ~]# groupadd cabinet

4.  usermod命令

usermod命令用于修改用户的属性,语法格式为“usermod [参数] 用户名”

用户的信息保存在/etc/passwd文件中,可以直接用文本编辑器来修改其中的用户参数项目,也可以用usermod命令修改已经创建的用户信息,比如用户的UID、基本/扩展用户组、默认终端等

  usermod命令参数及作用

参数作用
-c填写用户账户的备注信息
-d -m参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e账户的到期时间,格式为YYYY-MM-DD
-g变更所属用户组
-G变更扩展用户组
-L锁定用户禁止其登录系统
-U解锁用户,允许其登录系统
-s变更默认终端
-u修改用户的UID

将用户weihongbin01加入到root用户组中,这样扩展组列表中则会出现root用户组的字样,而基本组不会受到影响:

[root@localhost ~]# usermod -G root weihongbin01

[root@localhost ~]# id weihongbin01

uid=1001(weihongbin01) gid=1001(weihongbin01) groups=1001(weihongbin01),0(root)

用-u参数修改weihongbin01用户的UID号码值:

[root@localhost ~]# usermod -u 9999 weihongbin01

[root@localhost ~]# id weihongbin01

uid=9999(weihongbin01) gid=1001(weihongbin01) groups=1001(weihongbin01),0(root)

把用户的解释器终端由默认的/bin/bash修改为/sbin/nolog:

[root@localhost ~]# usermod -s /sbin/nologin weihongbin01

[root@localhost ~]# su - weihongbin01

This account is currently not available.

将用户的终端设置成/sbin/nologin后用户马上就不能登录了,但这个用户依然可以被某个服务所调用,管理某个具体的服务。当黑客通过这个服务入侵成功后,破坏的范围也仅仅局限于这个特定的服务,而不能使用这个用户身份登录到整台服务器上,从而尽可能地把损失降至最小化。

5.  passwd命令

passwd命令用于修改用户的密码、过期时间等信息,语法格式为“passwd [参数] 用户名”

普通用户只能使用passwd命令修改自己的系统密码,而root管理员则有权限修改其他所有人的密码。

passwd命令参数及作用

参数作用
-l锁定用户,禁止其登录
-u解除锁定,允许用户登录
--stdin允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username
-d使该用户可用空密码登录系统
-e强制用户在下次登录时修改密码
-S显示用户的密码是否被锁定,以及密码所采用的加密算法名称

修改自己的密码,只需要输入命令后敲击回车键即可:

[root@localhost ~]# passwd

Changing password for user root.

New password:  

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:  

passwd: all authentication tokens updated successfully.

要修改其他人的密码,则需要先检查当前是否为root管理员权限,然后在命令后指定要修改密码的那位用户的名称:

[root@localhost ~]# passwd weihongbin01

Changing password for user weihongbin01.

New password:  

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:  

passwd: all authentication tokens updated successfully.

使用passwd命令禁止该用户登录系统,等假期结束回归工作岗位时,再使用该命令允许用户登录系统,而不是将其删除。

[root@localhost ~]# passwd -l weihongbin01

Locking password for user weihongbin01.

passwd: Success

[root@localhost ~]# passwd -S weihongbin01

weihongbin01 LK 2023-11-17 0 99999 7 -1 (Password locked.)

在解锁时,记得也要使用管理员的身份;

[root@localhost ~]# passwd -u weihongbin01

Unlocking password for user weihongbin01.

passwd: Success

[root@localhost ~]# passwd -S weihongbin01

weihongbin01 PS 2023-11-17 0 99999 7 -1 (Password set, SHA512 crypt.)

6.  userdel命令

userdel命令用于删除已有的用户账户,语法格式为“userdel [参数] 用户名”

userdel命令中参数及作用

参数作用
-f强制删除用户
-r同时删除用户及用户家目录

在删除一个用户时,一般会建议保留他的家目录数据,以免有重要的数据被误删除。所以在使用userdel命令时可以不加参数,写清要删除的用户名称就行,用户删除但是家目录数据会继续存放在/home目录中,等确认未来不再使用时将其手动删除即可::

[root@localhost ~]# userdel weihongbin01

[root@localhost ~]# id weihongbin01

id: ‘weihongbin01’: no such user

[root@localhost ~]# cd /home

[root@localhost home]# ll

drwx------. 15 centos8      centos8      4096 Nov 15 10:38 centos8

drwx------.  3 jinyiwei01   jinyiwei01     78 Nov 16 16:43 linux

drwx------.  3         9999         1001   78 Nov 15 15:31 weihongbin01

[root@localhost home]# rm -rf weihongbin01

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

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

相关文章

react经验13:使用非react封装的富文本组件

应用场景 已知开源社区已经有react封装的富文本组件,一般的文本编辑需求足够满足,但是当有特殊需求无法满足时,可能需要用到非react封装的富文本组件。 当使用非react封装的富文本编辑器时,react组件内的state与编辑器的内容交换…

图像处理之Retinex算法(C++)

图像处理之Retinex算法(C) 文章目录 图像处理之Retinex算法(C)前言一、单尺度Retinex(SSR)1.原理2.代码实现3.结果展示 二、多尺度Retinex(MSR)1.原理2.代码实现3.结果展示 三、带色…

Axure设计美观友好的后台框架页

使用Axure设计后台框架页 优点介绍: **1、使用中继器灵活配置菜单项; 2、二级菜单面板跟随一级菜单位置显示; 3、菜单链接打开后,联动添加tab标签; 4、标签页与iframe内容联动,可关闭; 5、左侧…

2024-04-23 问AI: 在深度学习中,介绍一下u-net模型。

文心一言 U-Net模型是一种在深度学习中广泛应用的卷积神经网络结构,主要用于图像分割任务。这种模型最初在生物医学图像处理中得到了广泛应用,但由于其高效且可靠的性能,U-Net也逐渐被用于遥感图像分割等领域。 U-Net模型的结构对称&#x…

DNS 服务器不同类型有什么作用?

所有 DNS 服务器都属于以下四个类别之一:递归解析器、根域名服务器、TLD 域名服务器和权威性域名服务器。在典型 DNS 查找中(当没有正在进行的高速缓存时),这四个 DNS 服务器协同工作来完成将指定域的 IP 地址提供给客户端的任务&…

JVM--Java对象到底存在哪?

Java对象存放在堆中,但堆又分为新生代和老年代,新生代又细分为 Eden、From Survivor、To Survivor。那我们创建的对象到底在哪里? 堆分为新生代和老年代,新生代用于存放使用后就要被回收的对象(朝生夕死)&a…

iOS - 多线程的安全隐患

文章目录 iOS - 多线程的安全隐患1. 卖票案例2. 多线程安全隐患的解决方案2.1 iOS中的线程同步方案2.2 同步方案的使用2.2.1 OSSpinLock2.2.1.1 使用方法:2.2.1.2 案例 2.2.2 os_unfair_lock2.2.2.1 使用方法:2.2.2.2 案例 2.2.3 pthread_mutex2.2.3.1 使…

【Ne4j图数据库入门笔记1】图形数据建模初识

1.1 图形建模指南 图形数据建模是用户将任意域描述为节点的连接图以及与属性和标签关系的过程。Neo4j 图数据模型旨在以 Cypher 查询的形式回答问题,并通过组织图数据库的数据结构来解决业务和技术问题。 1.1.1 图形数据模型介绍 图形数据模型通常被称为对白板友…

【大模型】大模型时代的语音合成:音频的离散化表示

🔒文章目录 📊什么是音频离散化🎬音频离散化是什么 🌈SoundStream、Encodec🌂 SoundStream🚀Encodec 📊什么是音频离散化 🎬音频离散化是什么 在自然语言处理(NLP&…

Amazon云计算AWS之[2]弹性计算云EC2

文章目录 说明EC2基本架构Amazon机器映象(AMI)实例(Instance)弹性块存储(EBS) EC2关键技术地理区域和可用区域EC2通信机制弹性负载均衡监控服务自动缩放服务管理控制台 EC2安全及容错机制EC2弹性IP地址 说明…

KingbaseES数据库copy导入导出

数据库版本:KingbaseES V008R006C008B0014 文章目录如下 1. 语法说明 2. 导出数据 2.1. 基本用法 2.2. 只导出某列 2.3. 指定分隔符 2.4. 导出为二进制格式 2.5. 替换导出的NULL数据 2.6. 导出SELECT查询结果 3. 导入数据 3.1. 基本用法 3.2. 只导入某列…

恒峰智慧科技—森林消防泵:既可灭除火灾,又可清理水患

在广袤的森林中,火灾与水患如同潜伏的猛兽,时刻威胁着生态的安全。然而,随着科技的进步,我们有了更强大的武器来对抗这些威胁——森林消防泵。这款神奇的设备不仅能迅速扑灭火灾,还能在雨季到来时清理水患,…

Linux:进程与计划任务

文章目录 Linux:进程与计划任务一、进程1、进程是什么2、进程状态 二、列出进程命令1、查看静态的进程统计信息——“ps”Play1:“ps aux”Play2:ps -elf 2、查看静态的进程统计信息——“top”段首解析进程信息区解释 三、运行与终止进程3.1、运行进程3…

spring的跨域问题

跨域问题 什么是跨域解决跨域 什么是跨域 跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。如果出现了以下情况中的任意一种,那么它就是跨域请求: 1、协议不同,如 http 和 h…

Redis入门到通关之Redis数据结构-List篇

文章目录 ☃️概述☃️数据结构☃️源码☃️其他 欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博客 关于博主: 我是 请回答1024,一个追求数学与计算的边界、时间与空间的平衡,0与1的延伸的后端…

8、案例实战【处理百万级交易无压力】:支付系统JVM调优实战指南

8.1、前文回顾 本文将以一个日交易量达百万次的支付系统为背景,为大家深入分析在上线部署一个系统时,如何根据系统的业务量来合理设置JVM的堆内存大小。 通过阅读之前的文章,相信大家已经对编写的代码如何在JVM中运行的基本原理有了一定的了解,同时也知道如何通过参数来设…

数据结构(Wrong Question)

一、绪论 1.1 数据结构的基本概念 D 因为抽象数据类型(ADT)描述了数据的逻辑结构和抽象运算,通常用(数据对象,数据对象,基本操作集)这样的三元组来表示,从而可构成一个完整的数据结…

虚拟化+docker概念

一.虚拟化简介 通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在相互独立的空间内运行而互相不影响,从而提高计算机…

3节点ubuntu24.04服务器docker-compose方式部署高可用elk+kafka日志系统并接入nginx日志

一:系统版本: 二:部署环境: 节点名称 IP 部署组件及版本 配置文件路径 机器CPU 机器内存 机器存储 Log-001 10.10.100.1 zookeeper:3.4.13 kafka:2.8.1 elasticsearch:7.7.0 logstash:7.7.0 kibana:7.7.0 zookeeper:/data/zookeep…

(Oracle)SQL优化案例:组合索引优化

项目场景 项目上的ETL模型里有如下SQL语句。执行速度非常慢,每次只查询200条数据,但却需要20多秒的时间。再加上该SQL查询出的数据同步频率很高,这个速度是完全不能忍受的。 因为项目隐私,所以对表及字段做了改写。 SELECT ID…