Linux用户
发布时间 - 2025-06-19 00:00:00 点击率:次作者简介:一位在简历上没有标注精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面提供的思维导图展示了预计更新的内容和当前进度(不定时更新)。
Linux作为一个多用户多任务的操作系统,能够同时支持多个用户进行登录和使用。然而,我们之前的所有操作都是基于超级管理员root进行的,这在Linux设计中是不推荐的,因为root的权限过于强大。因此,日常运维应使用普通用户账户。当普通用户需要执行需要root权限的操作时,该如何处理呢?我们将通过以下几个方面进行详细讲解。
- Linux用户(本章节)
- Linux用户组
- SU命令
- SUDO命令
Linux用户介绍
Linux操作系统的用户体系非常灵活,使其成为一个优秀的多用户系统。它包含三种类型的用户:超级用户(root)、系统用户和常规用户。
超级用户(r
oot):在Linux系统中,超级用户拥有最高权限,被称为根用户或root用户。root用户可以执行任何命令,包括系统设置、软件安装、用户和权限管理等。其权限类似于Windows系统中的管理员权限。
系统用户:这些用户主要是为了运行某些服务或守护进程而创建的。它们通常没有登录shell,无法直接登录系统。例如,邮件系统可能有一个名为mail的系统用户,网页服务器可能有一个名为www或http的用户。
常规用户:这些用户是进行日常工作的用户,可以登录系统并运行各种应用程序,但无法对系统进行修改,也不能访问其他用户的文件,除非这些文件被明确赋予了访问权限。在安装Linux系统后创建的第一个用户通常是常规用户(也可以不创建),这个用户通常会被赋予使用sudo命令的权限,即可以执行一些需要root权限的命令。
在Linux系统中,每个用户都有一个唯一的用户ID(UID),系统通过UID来识别用户。UID 0通常分配给root用户,UID 1-999通常分配给系统用户,1000以上的UID用于常规用户。
Linux用户命令
Linux用户管理可以通过命令行进行,以下是一些常用的用户管理命令:
-
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用户或具有相应特权的用户能够读取和修改此文件。这是为了确保用户密码和账户信息不被未经授权的用户获取。
总结
- 如果自己是一个普通运维角色,我们能拿到的账号和密码,应该是一个普通用户和密码。
- 如果自己是运维管理员的情况,则分配给其他人的账号也只能是一个普通账号。
- 普通用户可以通过
su及sudo命令来提升自己的权限,用于完成需要超级管理员权限才能完成的运维操作。 - 当然,这并不是标准方案,你可以根据自己的实际情况选择。
- 有的应用程序则要求必须使用非root用户启动,比如es,使用root则会被提示不允许使用root启动。
# linux
# windows
# nginx
# 操作系统
# ai
# linux操作系统
# mail
# 标识符
# 算法
# http
# unix
# 思维导图
# 是一个
# 普通用户
# 可以通过
# 自己的
# 多个
# 主目录
# 用户登录
# 切换到
# 应用程序
# 有一个
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速完成中国万网建站详细流程?
如何用PHP快速搭建高效网站?分步指南
如何在 Pandas 中基于一列条件计算另一列的分组均值
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
js代码实现下拉菜单【推荐】
如何在宝塔面板中创建新站点?
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
使用C语言编写圣诞表白程序
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Laravel怎么调用外部API_Laravel Http Client客户端使用
Laravel如何处理文件下载请求?(Response示例)
实例解析angularjs的filter过滤器
Linux系统命令中screen命令详解
Android GridView 滑动条设置一直显示状态(推荐)
如何在阿里云虚拟服务器快速搭建网站?
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
济南网站建设制作公司,室内设计网站一般都有哪些功能?
Laravel如何使用Sanctum进行API认证?(SPA实战)
如何在万网自助建站平台快速创建网站?
如何快速生成橙子建站落地页链接?
历史网站制作软件,华为如何找回被删除的网站?
如何用PHP快速搭建CMS系统?
Laravel如何为API编写文档_Laravel API文档生成与维护方法
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
企业网站制作这些问题要关注
Laravel如何自定义分页视图?(Pagination示例)
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
JavaScript模板引擎Template.js使用详解
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
Laravel storage目录权限问题_Laravel文件写入权限设置
如何快速搭建二级域名独立网站?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
如何用免费手机建站系统零基础打造专业网站?
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
郑州企业网站制作公司,郑州招聘网站有哪些?

