Linux用户-普通用户

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

Linux是一个多用户多任务操作系统,这意味着它可以同时支持多个用户登录并使用系统。但是我们之前所有的操作都是基于超级管理员root来操作的,但是从Linux设计来说,是不推荐的。因为root的权限太大,所以才需要使用普通用户来进行日常运维,那如果普通用户需要做的操作需要root权限的时候又该怎么做呢?我们将通过以下几个方面来讲解。

1.Linux用户(本章节)

2.Linux用户组

3.SU命令

4.SUDO命令

用户介绍

Linux操作系统的用户体系非常灵活,这使得它成为了一个很好的多用户系统。它有三种类型的用户:超级用户(root),系统用户和常规用户。

  1. 超级用户 (root):在Linux系统中,超级用户是权限最高的用户,被称为根用户,也就是root用户。超级用户可以执行任何命令,包括系统设置、软件安装、用户和权限管理等。root用户的权限等同于Windows系统中的管理员权限。

  2. 系统用户:系统用户主要是为了运行某些服务或者守护进程(daemon)而创建的。这些系统用户通常不会具有登录shell,也就是说,它们不能直接登录系统。例如,邮件系统会有一个名为 mail 的系统用户,网页服务器可能会有一个名为 www 或 http 的用户。

  3. 常规用户:这些用户是进行日常工作的用户,他们可以登录系统并运行各种应用程序。但是,他们不能对系统进行修改,也不能访问其他用户的文件,除非这些文件被明确地赋予了访问权限。你在安装Linux系统后创建的第一个用户就是常规用户(也可以不创建),通常这个用户会被赋予使用sudo命令的权限,也就是说,这个用户可以执行一些需要root权限的命令。

在Linux系统中,每个用户都有一个唯一的用户ID(UID),系统内部通过UID来识别用户。UID 0通常被赋予root用户,UID 1-999一般为系统用户,1000以上的UID用于常规用户。

用户命令

Linux 用户管理可以通过命令行进行,以下是一些常用的用户管理命令:

  1. useradd [options] username:创建新的用户。例如 useradd -m username 将会创建一个新的用户,并创建用户的主目录。

  2. passwd username:设置或修改用户的密码。不加用户名则默认修改当前用户,只有root可以修改其他用户的密码。

  3. userdel [options] username:删除用户。例如 userdel -r username 将会删除用户以及用户的主目录。

  4. usermod [options] username:修改用户的信息。例如 usermod -l newname username 将会修改用户的用户名。

  5. groups username:显示用户所属的组。

  6. id username:显示用户的 UID(用户 id)、GID(用户组 id)以及所属的组。

  7. su username:切换到其他用户。例如 su - username 将会切换到用户,并加载用户的环境变量。

  8. whoami:显示当前的用户名。

  9. who:显示当前登录的所有用户。

  10. last:显示系统的登录记录。

注意在使用这些命令时可能需要 root 权限,可以使用 sudo 命令获取 root 权限。例如 sudo useradd username

用户管理

[root@localhost ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bash#省略中间部分nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologinntp:x:38:38::/etc/ntp:/sbin/nologin#省略中间部分user01:x:1000:1000::/home/user01:/bin/bash

/etc/passwd 文件中的每一行都代表系统上的一个用户账号,每行由多个字段组成,字段之间使用冒号(:)分隔。典型的字段包括:

  • 用户名:用户的登录名。

  • 密码占位符:(在现代系统中通常是 x)原本是存储加密的密码,现在通常是存储在 /etc/shadow 文件中,或者指向其他安全存储的文件。

  • 用户 ID (UID):唯一标识符,用于系统内部识别用户。

  • 组 ID (GID):该用户所属的主要组的标识符。

  • 用户描述:一般是用户的全名或注释。

  • 主目录:用户登录后所处的初始目录。

  • 登录 Shell:用户登录后默认使用的 Shell 程序。

root 属于超级管理员,无论用户ID还是组ID都是0nginx&ntp 属于系统用户,都是服务自带的用户,/sbin/nologin 就是不允许登录,包括ssh和通过控制台user01 属于常规用户,属于通过useradd 增加的用户的,没有nologin就是允许ssh和通过
[root@localhost ~]# cat /etc/shadowroot:*:18961:0:99999:7:::#省略中间部分ntp:!!:19885::::::user01:!!:19893:0:99999:7:::

/etc/shadow 文件用于存储用户账号的加密密码、密码过期信息以及账号是否被锁定等敏感信息。相比于 /etc/passwd 文件,它具有更高的安全性,因为普通用户无法直接读取此文件。

  1. 文件结构

    • 用户名:与 /etc/passwd 中的用户名对应。

    • 加密密码:使用密码哈希算法加密后的密码。实际密码不会直接存储在此处,只存储其哈希值。

    • 密码最后更改日期:自 Unix 时间戳起,距离上次更改密码的天数。

    • 密码更改最短天数:两次密码更改之间的最小天数间隔。

    • 密码更改最大天数:密码的有效期,超过此期限用户需要强制更改密码。

    • 密码过期前警告天数:密码即将过期前,提前多少天发出警告。

    • 账号失效日期:账号失效的日期,即停止使用该账号的日期。

    • 账号标志:包含有关账号当前状态的其他信息,例如是否被锁定等。

    • 每一行对应一个用户账号,字段之间用冒号(:)分隔。

    • 典型的字段包括:

  2. 访问权限/etc/shadow 文件具有非常严格的访问控制,通常只有 root 用户或具有相应特权的用户能够读取和修改此文件。这是为了确保用户密码和账户信息不被未经授权的用户获取。

总结

1.如果自己是一个普通运维角色,我们能拿到的账号和密码,应该是一个普通用户和密码。

2.如果自己是运维管理员的情况,则分配给其他人的账号也只能是一个普通账号。

3.普通用户可以可以通过susudo命令来提升自己的权限,用于完成需要超级管理员权限才能完成运维的操作。

4.当然,这并不是标准方案,你可以根据自己的实际情况选择。

5.有的应用程序则要求必须使用非root用户启动,比如es,使用root则会被提示不允许使用root启动。

关注微信公众号《运维小路》获取更多内容。

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

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

相关文章

微信小程序实现上传照片功能

案例&#xff1a; html: <view class"zhengjianCont fontSize30" style"margin-bottom: 40rpx;"><view class"kuai"><image binderror"imageOnloadError" bind:tap"upladPhoto" data-params"business…

杂谈c语言——3.内存对齐

先看两个例子&#xff1a; typedef struct S {int a;double b;char c; }S;typedef struct B {int a;char b;double c; }B;int main() {printf("S : %d\n", sizeof(S));printf("B : %d\n", sizeof(B));return 0; } 结果为&#xff1a; S:24; B:16&#xff…

常用在线 Webshell 查杀工具推荐

一、简介 这篇文章将介绍几款常用的在线 Webshell 查杀工具&#xff0c;包括长亭牧云、微步在线云沙箱、河马和VirusTotal。每个工具都有其独特的特点和优势&#xff0c;用于帮助用户有效检测和清除各类恶意 Webshell&#xff0c;保障网站和服务器的安全。文章将深入探讨它们的…

【Redis】String字符串

目录 String字符串 常见命令 SET GET MSET MGET SETNX 计数命令 INCR INCRBY DECY DECYBY INCRBYFLOAT 其他命令 APPEND GETRANGE SETRANGE STRLEN 内部编码 String类型的典型使用场景 缓存(Cache)功能 计数功能 共享会话(Session) String字符串 字符…

类和对象(下)C++

1.初始化列表 1.为什么有初始化列表&#xff0c;它的作用&#xff1f; ->初始化列表&#xff0c;是构造函数初始化的另一种形式。 ->在语法上面理解&#xff0c;初始化列表可以认定为是每个成员变量定义初始化的地方. ->引用成员变量&#xff0c;const成员变量&am…

Qt实现简易CAD软件的开发:技术解析与实现

文章目录 简易CAD软件的开发&#xff1a;技术解析与实现引言项目概述程序入口主窗口的实现主窗口类定义&#xff08;mainwindow.h&#xff09;主窗口类实现&#xff08;mainwindow.cpp&#xff09; 自定义绘图视图自定义绘图视图类定义&#xff08;myqgraphicsview.h&#xff0…

亚信安全获国家信息安全服务(风险评估和安全工程类)二级资质

近日&#xff0c;亚信安全荣获由中国信息安全测评中心颁发的《国家信息安全测评信息安全服务资质证书—风险评估二级》和《国家信息安全测评信息安全服务资质证书—安全工程类二级》资质。亚信安全凭借综合实力和优秀的技术能力&#xff0c;成为为数不多的获得国家信息安全服务…

嵌入式C编程常用的异常错误处理

嵌入式C编程中&#xff0c;异常错误处理是确保系统稳定性和可靠性的重要部分。以下是一些常见的异常错误处理方法及其详细说明和示例&#xff1a; 1. 断言 (Assertions) 断言用于在开发阶段捕获程序中的逻辑错误。通过assert宏&#xff0c;可以在条件不满足时终止程序并输出错…

前端常用的【设计模式】和使用场景

设计原则 最重要的&#xff1a;开放封闭原则 对扩展开放对修改封闭 工厂模式 用一个工厂函数&#xff0c;来创建实例&#xff0c;隐藏 new 如 jQuery 的 $ 函数&#xff0c;React 的 createElement 函数 单例模式 全局唯一的实例(无法生成第二个) 如 Vuex 和 Redux 的 store…

鸿蒙AI功能开发【人脸活体验证控件】 机器学习-场景化视觉服务

人脸活体验证控件 介绍 本示例展示了使用视觉类AI能力中的人脸活体验证能力。 本示例模拟了在应用里&#xff0c;跳转人脸活体验证控件&#xff0c;获取到验证结果并展示出来。 需要使用hiai引擎框架人脸活体验证接口kit.VisionKit.d.ts。 效果预览 使用说明&#xff1a; …

Web性能监测的利器Performance Observer!!

前言 前段时间在研究前端异常监控平台&#xff0c;在思考性能监控时&#xff0c;想到了浏览器自带的观察者以及页面生命周期API 。于是在翻查资料时发现了&#xff0c;Performance ObserverAPI。正好趁着这个机会给大家好好讲讲Performance Observer API Performance Observe…

【python】Scrapy中常见的“Response Not Ready”或“Response Not 200”错误分析及解决

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

吴恩达机器学习笔记

1.机器学习定义&#xff1a; 机器学习就是让机器从大量的数据集中学习&#xff0c;进而得到一个更加符合现实规律的模型&#xff0c;通过对模型的使用使得机器比以往表现的更好 2.监督学习&#xff1a; 从给定的训练数据集中学习出一个函数&#xff08;模型参数&#xff09;…

【Jenkins未授权访问漏洞 】

默认情况下 Jenkins面板中用户可以选择执行脚本界面来操作一些系统层命令&#xff0c;攻击者可通过未授权访问漏洞或者暴力破解用户密码等进入后台管理服务&#xff0c;通过脚本执行界面从而获取服务器权限。 第一步&#xff1a;使用fofa语句搜索 搜索语句&#xff1a; port&…

【八股文】Redis

1.Redis有哪些数据类型 常用的数据类型&#xff0c;String&#xff0c;List&#xff0c;Set&#xff0c;Hash和ZSet&#xff08;有序&#xff09; String&#xff1a;Session&#xff0c;Token&#xff0c;序列化后的对象存储&#xff0c;BitMap也是用的String类型&#xff0c;…

CCRC-CISAW信息安全保障人员证书含金量

在数字化时代背景下&#xff0c;CISAW认证受到越来越多个人的青睐。 特别是在互联网技术高速发展的今天&#xff0c;随着5G技术的广泛应用&#xff0c;市场对CISAW专业人才的需求急剧增加。 这种职业不仅地位显著&#xff0c;而且职业生涯相对较长。 目前市场上&#xff0c;…

【leetcode详解】覆盖所有点的最少矩形数目(C++思路详解)

思路详解&#xff1a; 0. 题目情境并未限制矩形高度&#xff0c;故矩形数目的判断只和点的横坐标有关 1. 为了不重不漏地考虑到所有点&#xff0c;故笔者选择首先将二维数组中的点按横坐标的大小排序 //说明&#xff1a;本来笔者以为需要自定义sort排序&#xff0c;后来发现…

《嵌入式 - 嵌入式大杂烩》ARM Cortex-M寄存器详解

1 ARM Cortex-M寄存器概述 ARM Cortex-M提供了 16 个 32 位的通用寄存器(R0 - R15),如下图所示。前15个(R0 - R14)可以用作通用的数据存储,R15 是程序计数器 PC,用来保存将要执行的指令。除了通用寄存器,还有一些特殊功能寄存器。特殊功能寄存器有预定义的功能,而且必须通…

GPU 片上调度系统

这篇文章分析和说明GPU 片上的kernel 通过stream 作为载体是如何分发到SM 处理器上&#xff0c;同时CUDA 所抽象的grid/block/thread 在GPU 设备层面是如何调度的。调度器通常是被忽略的一个部分&#xff0c;但对CUDA kernel 的编写和后期系统性能分析很有帮助&#xff0c;也可…

将 Tcpdump 输出内容重定向到 Wireshark

在 Linux 系统中使用 Tcpdump 抓包后分析数据包不是很方便。 通常 Wireshark 比 tcpdump 更容易分析应用层协议。 一般的做法是在远程主机上先使用 tcpdump 抓取数据并写入文件&#xff0c;然后再将文件拷贝到本地工作站上用 Wireshark 分析。 还有一种更高效的方法&#xf…