0

0

Linux用户

星夢妙者

星夢妙者

发布时间:2025-06-19 17:00:32

|

964人浏览过

|

来源于php中文网

原创

作者简介:一位在简历上没有标注精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面提供的思维导图展示了预计更新的内容和当前进度(不定时更新)。

Linux用户

Linux作为一个多用户多任务的操作系统,能够同时支持多个用户进行登录和使用。然而,我们之前的所有操作都是基于超级管理员root进行的,这在Linux设计中是不推荐的,因为root的权限过于强大。因此,日常运维应使用普通用户账户。当普通用户需要执行需要root权限的操作时,该如何处理呢?我们将通过以下几个方面进行详细讲解。

  1. Linux用户(本章节)
  2. Linux用户组
  3. SU命令
  4. SUDO命令

Linux用户介绍

Linux操作系统的用户体系非常灵活,使其成为一个优秀的多用户系统。它包含三种类型的用户:超级用户(root)、系统用户和常规用户。

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

系统用户:这些用户主要是为了运行某些服务或守护进程而创建的。它们通常没有登录shell,无法直接登录系统。例如,邮件系统可能有一个名为mail的系统用户,网页服务器可能有一个名为wwwhttp的用户。

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

在Linux系统中,每个用户都有一个唯一的用户ID(UID),系统通过UID来识别用户。UID 0通常分配给root用户,UID 1-999通常分配给系统用户,1000以上的UID用于常规用户。

Linux用户命令

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

QoQo
QoQo

QoQo是一款专注于UX设计的AI工具,可以帮助UX设计师生成用户角色卡片、用户旅程图、用户访谈问卷等。

下载
  • useradd [options] username:创建新的用户。例如,useradd -m username将创建一个新的用户,并为其创建主目录。
  • passwd username:设置或修改用户密码。不加用户名则默认修改当前用户,只有root可以修改其他用户的密码。
  • userdel [options] username:删除用户。例如,userdel -r username将删除用户及其主目录。
  • usermod [options] username:修改用户信息。例如,usermod -l newname username将修改用户的用户名。
  • groups username:显示用户所属的组。
  • id username:显示用户的UID(用户ID)、GID(用户组ID)以及所属的组。
  • su username:切换到其他用户。例如,su - username将切换到用户并加载其环境变量。
  • whoami:显示当前用户名。
  • who:显示当前登录的所有用户。
  • last:显示系统的登录记录。

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

用户管理

以下是/etc/passwd文件的示例内容:

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
#省略中间部分
nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin
ntp: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程序。

以下是/etc/shadow文件的示例内容:

[root@localhost ~]# cat /etc/shadow
root:*:18961:0:99999:7:::
#省略中间部分
ntp:!!:19885::::::
user01:!!:19893:0:99999:7:::

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

文件结构如下:

  • 用户名:与/etc/passwd中的用户名对应。
  • 加密密码:使用密码哈希算法加密后的密码。实际密码不会直接存储在此处,只存储其哈希值。
  • 密码最后更改日期:自Unix时间戳起,距离上次更改密码的天数。
  • 密码更改最短天数:两次密码更改之间的最小天数间隔。
  • 密码更改最大天数:密码的有效期,超过此期限用户需要强制更改密码。
  • 密码过期前警告天数:密码即将过期前,提前多少天发出警告。
  • 账号失效日期:账号失效的日期,即停止使用该账号的日期。
  • 账号标志:包含有关账号当前状态的其他信息,例如是否被锁定等。

每一行对应一个用户账号,字段之间用冒号(:)分隔。/etc/shadow文件具有非常严格的访问控制,通常只有root用户或具有相应特权的用户能够读取和修改此文件。这是为了确保用户密码和账户信息不被未经授权的用户获取。

总结

  1. 如果自己是一个普通运维角色,我们能拿到的账号和密码,应该是一个普通用户和密码。
  2. 如果自己是运维管理员的情况,则分配给其他人的账号也只能是一个普通账号。
  3. 普通用户可以通过susudo命令来提升自己的权限,用于完成需要超级管理员权限才能完成的运维操作。
  4. 当然,这并不是标准方案,你可以根据自己的实际情况选择。
  5. 有的应用程序则要求必须使用非root用户启动,比如es,使用root则会被提示不允许使用root启动。

相关专题

更多
mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

182

2023.12.04

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

283

2024.02.23

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

255

2025.06.11

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

122

2025.08.07

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

667

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1125

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

799

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

453

2023.08.02

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.7万人学习

Excel 教程
Excel 教程

共162课时 | 13.1万人学习

C# 教程
C# 教程

共94课时 | 7.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号