17.用户身份与能力

news2024/10/2 18:21:39

        Linux系统的管理员之所以是root,并不是因为它的名字叫root,而是因为该用户的身 份号码即UID(User IDentification)的数值为 0。在 Linux 系统中,UID就像我们的身份证号 码一样具有唯一性,因此可通过用户的UID值来判断用户身份。

  • 管理员UID为0:系统的管理员用户。
  • 系统用户UID为1~999:Liunx系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会由独立的系统用户负责运行,进而有效控制被破坏范围。
  • 普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。

        在Linux 系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且 这个基本用户组只有该用户一个人。如果该用户以后被归纳到其他用户组,则这个其他用户 组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满 足日常的工作需要。

1.id

用于显示用户的详细信息,用户ID、基本组与扩展组GID,

[root@localhost ~]# id trick
uid=1000(trick) gid=1000(trick) groups=1000(trick)

2.useradd

用于创建新的用户账户

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

 -d 指定用户的家目录(默认为/home/username)

-e 账户的到期时间,格式为YYYY-MM-DD.

-u 指定该用户的默认UID

-g 指定一个初始的用户基本组(必须已存在)

-G 指定一个或多个扩展用户组

-N 不创建与用户同名的基本用户组

-s 指定该用户的默认Shell解释器

[root@localhost yum.repos.d]# useradd trick

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

[root@localhost ~]#  useradd -d /home/trick66 -u 6666 -s /sbin/nologin trick66

3.groupadd

用于创建新的用户组

[root@localhost ~]# groupadd group1

4.usermod

用于修改用户的属性

-c 填写用户账户的备注信息

-d -m -m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去

-e 账户的到期时间,格式为YYYY-MM-DD

-g 变更所属用户组

-G 变更扩展用户组

-L锁定用户禁止其登录系统

-U 解锁用户,允许其登录系统

-s 变更默认终端

-u 修改用户的UID

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

[root@localhost ~]# usermod -G root trick
[root@localhost ~]# id trick
uid=1000(trick) gid=1000(trick) groups=1000(trick),0(root)

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

[root@localhost ~]# usermod -u  8888 trick
[root@localhost ~]# id trick
uid=8888(trick) gid=1000(trick) groups=1000(trick),0(root)

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

[root@localhost ~]# usermod -s /sbin/nologin trick
[root@localhost ~]# su - trick
This account is currently not available.
[root@localhost ~]#

 /bin/bash 正常登录服务器
/sbin/nologin 不能登录服务器

将用户的终端设置成/sbin/nologin后用户马上就不能登录了(切换身份也不 行),但这个用户依然可以被某个服务所调用,管理某个具体的服务。

5.passwd

用于修改用户的密码、过期时间等信息

        普通用户只能使用passwd命令修改自己的系统密码

        root管理员则有权限修改其他所 有人的密码。

        root管理员在Linux系统中修改自己或他人的密码时不需要验证旧密码,

        既然root管理员能够修改其他用户的密码,就表示其完全拥有该用户的管理权限。

-l  --stdin 锁定用户,禁止其登录

-u 解除锁定,允许用户登录

-d 通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username

-e 使该用户可用空密码登录系统

-S 强制用户在下次登录时修改密码

[root@localhost ~]# passwd trick
Changing password for user trick.
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 trick
Locking password for user trick.
passwd: Success
[root@localhost ~]# passwd -S trick
trick LK 2024-01-20 0 99999 7 -1 (Password locked.)

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

[root@localhost ~]# passwd -u trick
Unlocking password for user trick.
passwd: Success
[root@localhost ~]# passwd -S trick
trick PS 2024-01-20 0 99999 7 -1 (Password set, SHA512 crypt.)

6.userdel

用于删除已有的用户账户

在执行删除操作时,该用户的家目录默认会保留下来,此时可以使用-r参数将其删除。

在删除一个用户时,一般会建议保留他的家目录数据,以免有重要的数据被误删除。所 以在使用userdel 命令时可以不加参数,写清要删除的用户名称就行:

-f 强制删除用户

-r 同时删除用户及用户家目录

[root@localhost ~]# userdel trick66
[root@localhost ~]# userdel -r xiaoming

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

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

相关文章

【蓝桥杯冲冲冲】动态规划初步[USACO2006 OPEN] 县集市

蓝桥杯备赛 | 洛谷做题打卡day13 文章目录 蓝桥杯备赛 | 洛谷做题打卡day13题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示样例说明数据规模与约定 思路:方程: 题解代码我的一些话 [USACO2006 OPEN] 县集市 The County Fair 题目描述 每年…

蓝桥杯官网填空题(奇怪的分式)

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4乘以8/5 小明居然把分子拼接在一起,分母拼接在一起&…

66K star!想画出高颜值的流程图,试试这个手绘风开源白板

工作中总是少不了要画画图,不管是开发中绘制流程图,还是设计系统时画出架构图,一款趁手的工具总是少不了。今天我们就来聊聊画图的白板工具。 今天我们推荐的推荐的项目帮你画出手绘风的高颜值图表,目前在GitHub已超过66K Star&a…

美团RASP大规模研发部署实践总结

01 背景 RASP 是 Runtime Application Self-Protection(运行时应用自我保护)的缩写,是一种应用程序安全技术。RASP 技术能够在应用程序运行时检测并阻止应用级别的攻击。随着云计算和大数据的发展,应用程序安全越来越受到重视。其…

Postgresql的集群搭建与监控方案

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 相关文章: PostgreSQL学习之部署与简单使用 PostgreSQL的常见错误和解决方法 如果PostgreSQL有两层nginx代理&…

vue+elementui实现12个日历平铺,初始化工作日,并且可点击

<template><div class"app-container"><el-form :model"queryParams" ref"queryForm" size"small" :inline"true"><el-form-item label"年份" prop"holidayYear"><el-date-…

SQL 注入总结(详细)

一、前言 这篇文章是最近学习 SQL 注入后的笔记&#xff0c;里面整理了 SQL 常见的注入方式&#xff0c;供大家学习了解 SQL 注入的原理及方法&#xff0c;也方便后续自己回顾&#xff0c;如有什么错误的地方欢迎指出&#xff01; 二、判断注入类型 按照注入点类型分类 数字型…

精品基于Uniapp+springboot疫情资讯信息管理系统App-新闻

《[含文档PPT源码等]精品基于Uniappspringboot疫情信息管理系统App》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;Java 后台框架&#xff1a;springboot、ssm …

峰华卓立:iPaaS集成平台,全面加速推进企业数智化建设

01 企业介绍 峰华卓立&#xff08;证券代码&#xff1a;834914&#xff09;是一家聚焦于3DP&#xff08;粘结剂喷射技术&#xff09;打印装备的研发、制造、销售及应用服务为一体的综合性服务供应商&#xff0c;国家高新技术企业&#xff0c;行业专精特新企业&#xff0c;工业级…

JAVA RPC Thrift基操实现与微服务间调用

一、Thrift 基操实现 1.1 thrift文件 namespace java com.zn.opit.thrift.helloworldservice HelloWorldService {string sayHello(1:string username) }1.2 执行命令生成Java文件 thrift -r --gen java helloworld.thrift生成代码HelloWorldService接口如下 /*** Autogene…

进程内协同:原子操作、互斥、同步和通信的原理

进程内协同&#xff0c;简单来说&#xff0c;就是在一个进程内部&#xff0c;多个执行体&#xff08;如线程、协程&#xff09;如何共享资源&#xff0c;如何协同工作以完成一项任务。这涉及到一系列的机制和技术&#xff0c;包括原子操作、互斥、同步和通信等。 那么&#xf…

Opencv轮廓检测运用与理解

目录 引入 基本理解 加深理解 ①比如我们可以获取我们的第一个轮廓,只展示第一个轮廓 ②我们还可以用一个矩形把我们的轮廓给框出来 ③计算轮廓的周长和面积 引入 顾名思义,就是把我们图片的轮廓全部都描边出来 也就是我们在日常生活中面部识别的时候会有一个框,那玩意就…

C语言实战系列一:经典贪食蛇

C语言学习必须实战&#xff0c;并且学完语法后就必须立即用实战来巩固。一般需要10来个比较复杂的程序才能掌握C语言。今天就教大家第一个小程序&#xff0c;贪食蛇。 首先上代码 一、代码 #include <stdio.h> #include <stdlib.h> #include <curses.h> #…

windows用mingw(g++)编译opencv,并install安装

windows下用mingw编译opencv貌似不支持cuda&#xff0c;选cuda会报错&#xff0c;我无法解决&#xff0c;所以没选cuda&#xff0c;下面两种编译方式支持。 如要用msvc编译opencv&#xff0c;参考我另外一篇文章。 如要用Ubuntu编译opencv&#xff0c;参考我另外一篇文章http…

UE5 Windows打包时报错“SDK Not Found”解决方案

在Unreal Engine 5.0.3 Windows平台下打包时报错&#xff1a;“Windows的SDK未正常安装&#xff0c;而其是生成数据的必需项。请检查主工具栏中“启动“菜单SDK部分来更新SDK。” 解决方案&#xff1a; 1、打开 Visual Studio Installer&#xff0c;点击“修改”按钮&#xf…

时空预测网络ST-Resnet 代码复现

ST-ResNet&#xff08;Spatio-Temporal Residual Network&#xff09;是一种用于处理时空数据的深度学习模型&#xff0c;特别适用于视频、时间序列等具有时空结构的数据。下面是一个简单的使用PyTorch搭建ST-ResNet的示例代码。请注意&#xff0c;这只是一个基本的示例&#x…

Hadoop基本概论

目录 一、大数据概论 1.大数据的概念 2.大数据的特点 3.大数据应用场景 二、Hadoop概述 1.Hadoop定义 2.Hadoop发展历史 3.Hadoop发行版本 4.Hadoop优势 5.Hadoop1.x/2.x/3.x 6.HDFS架构 7.Yarn架构 8.MapReduce架构 9.大数据技术生态体系 一、大数据概论 1.大数…

【动态规划】【广度优先搜索】【状态压缩】847 访问所有节点的最短路径

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 广度优先搜索 状态压缩 LeetCode847 访问所有节点的最短路径 存在一个由 n 个节点组成的无向连通图&#xff0c;图中的节点按从 0 到 n - 1 编号。 给你一个数组 graph 表示这个图。其中&#xff0c;graph[i] 是一个列…

Java开发分析工具 JProfiler的详细使用方法解析(附 JProfiler for Mac许可证秘钥)

JProfiler 是一款功能强大的Java代码分析工具&#xff0c;JProfiler的直观UI可帮助您解决性能瓶颈&#xff0c;确定内存泄漏并了解线程问题且JProfiler Mac破解版配置会话非常简单&#xff0c;第三方集成使得入门变得轻而易举&#xff0c;并且以自然的方式呈现数据分析。 解…