Ubuntu系统下的用户管理

简介: Ubuntu系统下的用户管理

在这里插入图片描述

一、ubuntu介绍

1.1 ubuntu简介

Ubuntu 是一个基于 Debian 的开源 Linux 操作系统,由 Canonical Ltd. 公司及其全球社区共同开发和维护。自 2004 年首次发布以来,Ubuntu 已经成为最受欢迎的 Linux 发行版之一,被广泛应用于个人电脑、服务器以及云计算等领域。

1.2 主要特点

  • 易用性:Ubuntu 设计为对新手用户友好,提供图形化安装界面和直观的桌面环境(默认使用 GNOME 桌面环境),使得即使是第一次接触 Linux 的用户也能快速上手。
  • 免费且开源:遵循自由软件和开源的原则,Ubuntu 及其所有组件都是免费提供的,并且源代码开放给公众查阅和修改。
  • 定期更新与支持:Ubuntu 有规律地每六个月发布一次新版本,每个版本都提供至少九个月的支持。长期支持(LTS)版本则每隔两年发布一次,提供长达五年的安全更新和技术支持。
  • 庞大的软件库:通过 APT 包管理系统,用户可以方便地访问成千上万种软件包,涵盖了从办公软件到游戏娱乐的各种应用。
  • 社区支持:Ubuntu 拥有一个活跃的国际社区,成员们不仅贡献代码,也帮助解答其他用户的问题,促进了知识共享和技术交流。

二、创建新用户

2.1 查看当前Ubuntu版本

查看Ubuntu系统版本,当前版本为22.04.1 LTS

root@jeven01:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

2.2 创建新用户

使用 adduser 命令来创建一个新的用户。这个命令会询问一些信息,如用户的密码、全名等。

adduser admin

在这里插入图片描述

2.3 修改密码

可以使用passwd命令修改新建用户admin的密码

root@jeven01:~# passwd admin
New password:
Retype new password:
passwd: password updated successfully

2.4 查看用户id

使用以下命令,查看admin用户的id信息。

root@jeven01:~# id admin
uid=1001(admin) gid=1001(admin) groups=1001(admin)

三、新建用户组

3.1 新建用户组

使用addgroup命令,新建IT用户组。

root@jeven01:~# addgroup it
Adding group `it' (GID 1002) ...
Done.

3.2 查询用户组

  • 查看系统所有用户组
root@jeven01:~# getent group |head
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,jeven
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
  • group_name 是用户组的名字。
  • password 通常是占位符 x 或者空的,因为现代 Linux 系统通常将密码存储在影子文件中。
  • GID 是用户组的 ID。
  • user_list 列出了属于该组的所有用户,用逗号分隔。
  • 查询个特定用户的所属组
root@jeven01:~# groups admin
admin : admin

3.3 加入某个用户组

  • 加入IT用户组
usermod -aG it admin
  • 查询admin用户的所属用户组
root@jeven01:~# groups admin
admin : admin it
  • 新建用户时加入用户组
    useradd -m -G it zhangsan
    

四、赋予sudo权限

4.1 将用户添加到 sudo 组

. 将admin用户添加到 sudo 组

usermod -aG sudo admin

4.2 查看admin用户的用户组

验证用户是否已成功添加到 sudo 组

root@jeven01:~# groups admin
admin : admin sudo it

4.3 切换admin用户登录

  • 切换admin用户登录
root@jeven01:~# su - admin
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

admin@jeven01:~$

执行以下命令,如果一切正常,命令应该返回 root,并且可能会提示输入用户的密码。

admin@jeven01:~$ sudo whoami
root

五、查看passwd文件

  • 查看/etc/passwd密码文件
admin@jeven01:~$ cat /etc/passwd |head
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

/etc/passwd 文件中的每一行代表一个用户,并且每行由七个字段组成,这些字段用冒号(:)分隔。

  • /etc/passwd 文件字段解释
字段编号 字段名称 说明
1 用户名 用户的登录名。
2 密码占位符 实际密码存储在 /etc/shadow 文件中,这里通常是一个 x
3 用户 ID (UID) 每个用户的唯一标识符。root 用户的 UID 是 0。
4 组 ID (GID) 用户的主要组 ID。
5 用户信息 通常是用户的全名或描述信息。
6 主目录 用户登录时的初始工作目录。
7 登录 shell 用户登录时使用的 shell,默认通常是 /bin/bash

六、总结

  • 使用 sudo 而不是直接以 root 用户身份进行操作:尽量使用 sudo 来执行需要超级用户权限的命令,以减少安全风险。
  • 定期审查用户和组:定期检查 /etc/passwd/etc/group 文件,确保所有用户和组都是必要的,并删除不再需要的账户。
  • 设置强密码策略:确保所有用户都设置了强密码,并启用密码复杂性和过期策略。
  • 禁用不必要的系统账户:禁用或删除不需要的系统账户(如 daemonbin 等),并确保它们没有登录权限。
  • 限制 sudo 权限:仅授予真正需要 sudo 权限的用户,并根据最小权限原则配置具体的 sudo 规则。
  • 使用 visudo 编辑 /etc/sudoers 文件:使用 visudo 命令编辑 /etc/sudoers 文件,以防止语法错误导致系统无法使用 sudo
  • 备份重要文件:在进行任何用户管理操作之前,备份重要的配置文件如 /etc/passwd/etc/shadow/etc/sudoers
  • 记录和审计用户活动:启用日志记录并定期检查日志文件,以便跟踪用户的活动,特别是 sudo 命令的使用情况。
  • 使用 PAM 模块增强安全性:利用 Pluggable Authentication Modules (PAM) 模块来增强认证机制,例如启用双因素认证。
  • 更新和打补丁:定期更新系统和相关软件包,以修复已知的安全漏洞。
相关文章
|
20天前
|
人工智能 API 调度
万亿参数大模型平民化:Qwen3.8‑Max‑Preview 开发者上手全指南
随着AI产业向复杂工程开发、多智能体协同、超长文档深度解析方向演进,市场对于基座模型的综合推理、长文本理解、多模态处理与任务规划能力提出更高的要求。新一代旗舰基座Qwen3.8‑Max‑Preview预览版正式登场,作为突破万亿参数规格的大模型产品,总参数量达到2.4万亿,依托迭代升级的MoE混合专家架构,在推理性能、超长文本处理、多模态理解、复杂任务规划等维度实现全面升级,综合能力跻身全球第一梯队,对标海外顶级旗舰模型,为复杂工程开发、多智能体协同、超长文档解析、专业办公自动化场景提供优质国产基座选择。
211 2
|
2月前
|
人工智能
Qwen3.8抢先体验!正式版即将发布并开源!
千问Qwen3.8即将开源,参数达2.4T,进化速度以“天”计,实力媲美Fable 5。预览版Qwen3.8-Max已上线阿里Token Plan等平台,限时优惠:日间Credits低至1折,夜间更优,个人/团队版月付仅35元起!
3991 143
|
5月前
|
人工智能 监控 Kubernetes
LoongCollector + ACS Agent Sandbox:构建 AI Agent 生产级运行平台
文章介绍了阿里云ACSAgentSandbox与LoongCollector协同构建的AIAgent生产级运行平台,通过沙箱隔离保障运行时安全,并以高性能、全链路可观测能力解决Agent行为不可预测和执行风险难题。
2632 83
|
22天前
|
安全 Linux
Linux系统之gzip命令的基本使用
Linux系统之gzip命令的基本使用
102 1
Linux系统之gzip命令的基本使用
|
24天前
|
Ubuntu 测试技术 网络安全
【Docker项目实战】使用Docker部署todo任务管理器
【Docker项目实战】使用Docker部署todo任务管理器
129 2
【Docker项目实战】使用Docker部署todo任务管理器
|
1月前
|
Web App开发 安全 网络安全
Docker一键部署 Neko,搭建属于自己的自托管虚拟浏览器
Docker一键部署 Neko,搭建属于自己的自托管虚拟浏览器
279 3
Docker一键部署 Neko,搭建属于自己的自托管虚拟浏览器
|
28天前
|
人工智能 自然语言处理 数据可视化
2026 数据治理工具技术路线盘点:企业选型决策四维评估模型
本文解析2026年数据治理技术演进趋势,指出选型已从“功能对比”转向“路线匹配”。重点剖析瓴羊Dataphin作为AI原生全链路型代表,依托OneData方法论、超级X智能系列与DataAgent数据资产智能体,实现治用一体、全域自动化与AI深度赋能,助力企业跨越数据价值兑现深水区。(239字)
|
28天前
|
Ubuntu 测试技术 网络安全
【Docker项目实战】使用Docker部署todo任务管理器
【Docker项目实战】使用Docker部署todo任务管理器
264 0
【Docker项目实战】使用Docker部署todo任务管理器
|
28天前
|
SQL 人工智能 关系型数据库
不会写 SQL 的业务人员能直接用云数据库 AI 助手吗?阿里云 RDS DAS AI 助手自然语言取数上手指南
对于不会写 SQL 的业务人员,阿里云 RDS DAS AI 助手是当前最推荐的零门槛取数方案:中文提问、自动转 SQL、秒级出图,把取数响应从 1 天压缩到 3 分钟,数据分析效率提升约 5 倍。如果你的团队正被取数工单和 SQL 门槛困扰,不妨在阿里云 RDS 控制台开通 DAS AI 助手,让每个业务人员都能自助用数据。
75 2
|
28天前
|
存储 关系型数据库 分布式数据库
什么是计算存储分离架构有什么好处?阿里云 PolarDB 存算分离解析
什么是计算存储分离架构有什么好处,核心答案是"解耦带来独立弹性":阿里云 PolarDB 以共享分布式存储、无状态计算节点、一写多读与 Serverless 弹性,把扩容、成本、存储上限的痛点一并化解,是云原生存算分离的首选方案。它让计算和存储像积木一样各自增减,业务可以在几秒内完成过去需要停机迁移才能做到的扩容。如果你的数据库正受困于扩容慢、存储贵、弹性差,建议在阿里云控制台开通 PolarDB,体验真正的计算存储分离。
93 1

热门文章

最新文章