如何在 Linux 中更改用户密码

2023-11-10

在本指南中,我们将解释如何在 Linux 中更改用户密码。我们还将向您展示如何强制用户在下次登录时更改密码。

这些说明适用于任何 Linux 发行版,包括 Ubuntu、Debian 和 CentOS。

介绍#

在 Linux 中,您可以使用以下命令更改用户帐户的密码passwd公用事业。

加密后的用户密码以及其他密码相关信息存储在/etc/影子 file.

作为普通用户,您只能更改自己的密码。 root 用户和具有 sudo 权限的用户可以更改其他用户的密码并定义如何使用或更改密码。

更改密码时,请确保您使用的密码强度高且唯一。

拥有强密码是保护帐户安全最重要的事情。通常,强密码至少包含 16 个字符,并且至少包含 1 个大写字母、1 个小写字母、1 个数字和 1 个特殊字符。

出于安全考虑,建议定期更新您的密码,并为每个帐户使用唯一的密码。

更改您的用户密码#

要更改您自己的用户的帐户密码,请运行passwd不带任何参数的命令:

passwd

系统将提示您输入当前密码。如果密码正确,该命令将要求您输入并确认新密码。

输入密码时,密码不会显示在屏幕上。

下次登录系统时,请使用新密码。

更改其他用户的密码#

正如我们在简介中提到的,只有 root 用户和具有以下权限的用户sudoaccess 可以更改另一个用户帐户的密码。

以下示例假设您以具有 sudo 权限的用户身份登录。

要更改另一个用户帐户的密码,请运行passwd命令,后跟用户名。例如,要更改名为的用户的密码linuxize,运行以下命令:

sudo passwd linuxize

系统将提示您输入并确认新密码:

Enter new UNIX password:
Retype new UNIX password:

成功后,该命令将打印如下内容:

passwd: password updated successfully

强制用户在下次登录时更改密码#

默认情况下,密码设置为永不过期。要强制用户在下次登录时更改密码,请使用passwd命令与--expire选项后跟用户的用户名:

sudo passwd --expire linuxize

上面的命令将立即使用户密码失效。

下次用户尝试使用旧密码登录时,将显示一条消息,强制他们更改密码:

ssh linuxize@192.168.121.209
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for linuxize.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Connection to 192.168.121.209 closed.

一旦用户设置了新密码,连接就会关闭。

结论#

在本教程中,您学习了如何更改用户的密码以及如何设置密码过期时间。

您可以通过键入以下内容找到有关 passwd 命令的更多信息man passwd在您的终端或访问 Linux密码人 page.

如果您有任何问题或反馈,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Linux 中更改用户密码 的相关文章

  • sudo bang bang 到底是什么? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 sudo bang bang 的目的是什么 sudo 什么时候可能需要使用它 砰砰砰 命令是一个快捷方式重复您在终端中输入的上一个命令 当您忘记需要管
  • 编写脚本以使用预定义密码创建多个用户

    所以我想制作一个从运行的 users txt 创建用户的脚本 useradd m s bin false users in the users txt 并填写passwords txt中的密码两次 以确认密码 这是脚本 bin bash A
  • macOS 上的 Bash - 获取给定年份每个星期六的日期列表

    In bash on macOS 我想写一个小脚本dates 或任何其他可以做的程序 它给我一个格式的日期列表yyyymmdd给定年份的每个星期六并将其保存到变量中 例如 如果我想要 1850 年所有星期六的日期列表 它应该看起来像这样 v
  • 如何在最新的 VLC 版本上通过命令行设置音量?

    我一直在尝试在 Ubuntu 上通过终端设置 VLC 2 2 1 中的音量 但没有成功 参数 volume不存在了 Warning option volume no longer exists 并且我在帮助中找不到任何包含 卷 的内容 文档
  • 断开连接后保持 SSH 会话运行 - 过夜 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是对此的后续问题question https stackoverflow com questions 33041892 keep ssh
  • Bower:安装 2 个版本的 jQuery

    我将如何安装 2 个版本的 jQuery使用凉亭 我想要 v2 0 以及 1 9 1 来支持浏览器回退 我遇到的问题是如果你跑bower install jquery 1 9 1 jquery 2 0 0第一个版本被第二个版本覆盖 因为它们
  • 为什么使用 $PATH 以及它是什么

    我对编程有点陌生 不是真的 但我仍在学习 我们不是吗 虽然我了解 Java 和 Python 并且了解 C C JS C HTML CSS 等 并且我可以在终端中很好地导航 但我不熟悉终端中的 PATH 是什么 我使用 Linux 终端和
  • Python 终端菜单?终端着色?终端进度显示?

    我有一个广泛使用 Python 2 风格 的项目 我想知道是否有终端菜单库或类似的东西 我希望通过使用箭头键突出显示选项 一些颜色等简化一些选项 为我的脚本注入一些风味和活力 我隐约记得有一种方法可以制作 bash shell 终端菜单 但
  • 我可以在 chrome devtools 中执行 nodejs javascript 脚本吗?

    是否可以使用Chrome 开发工具执行终端命令node myfile js 所以chrome控制台会输出所有console log来自我的代码 我有一些terminal插件安装在我的 IDE 中 当我想在我的文件上运行此命令时 我使用一些键
  • 在C中获取终端宽度?

    我一直在寻找一种从 C 程序中获取终端宽度的方法 我不断想出的是这样的东西 include
  • 使用单个 shell 脚本运行 React 和 Flask

    我构建了一个使用 ReactJS 作为前端和 Flask 作为中间件的应用程序 我可以使用以下命令序列来执行它 npm start cd Equation Solver python m flask run 执行第一个命令后 我必须打开另一
  • python:Windows终端中的unicode,使用的编码?

    我在 Windows 7 终端中使用 Python 解释器 我正在尝试了解 unicode 和编码 I type gt gt gt s gt gt gt s x89 gt gt gt u u gt gt gt u u xeb 问题1 字符串
  • 使用终端将信息输入 Javascript

    我想获取 C 程序的输出并将其输入到 javascript 文件的标准输入中 但是我无法使用该方法将任何内容推送到标准输入中 node example js lt test txt 因为我收到以下错误 示例 js 35 stdin setR
  • 在Linux伪终端中执行从一个终端发送到另一个终端的字符串

    假设我有一个终端 其中 tty 的输出是 dev pts 2 我想从另一个终端向第一个终端发送命令并执行它 使用 echo ls gt dev pts 2 仅在第一个终端中打印 ls 有没有办法执行字符串 不 终端不执行命令 它们只是数据的
  • 无法打开本地终端

    我尝试在 Android Studio 中初始化我的终端 但它给了我错误 它说 无法打开本地终端 java io IOException 无法创建 PTY 我的电脑运行的是 Windows 10 如何解决这个问题 当您从 Github 存储
  • 箭头键变成 Telnet 中的控制字符

    我在 Ubuntu 终端中 并通过 telnet 连接到服务器 现在每当我输入 up 时 它就会变成 A 其他箭头键也变成控制字符 有没有办法可以运行 telnet 以便它理解我的箭头键 这将是一个巨大的帮助 因为我想在我的命令历史记录中向
  • 错误:GitHub 目前无法显示这么大的文件 - 但该文件只有 1.06 MB [已关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我通过两种不同的方式将 HTML 文件上传到 GitHub 存储库 拖放以及使用终端上的 Git 添加 提交 推送 在这两种情况下
  • sqlite 插入需要很长时间

    我正在将不到 200 000 行插入到 sqlite 数据库表中 我只是在终端中通过 sqlite3 使用一个非常简单的 sql 文件 我打赌它已经运行了至少 30 分钟 这是正常现象还是我应该关闭该过程并尝试不同的方法 sqlite中的插
  • 在 mac 终端中加载库时出错

    有谁请帮忙 我该如何修复以下错误 dyld Library not loaded usr local lib libgdbm 4 dylib Referenced from usr local bin zsh Reason image no
  • .profile 无法从 Mac 终端运行

    我有一个 profile 文件 我正在终端中读取并使用别名 但在某些时候 别名由于没有明确的原因而停止工作 其他命令仍在工作 为了快速修复 我删除了 rm 并在用户目录中重新创建了 profile 文件 我可以看到 至少在该目录中没有 ba

随机推荐

  • 如何在 CentOS/RHEL 7 上安装 Laravel 8

    Laravel是一个开源 PHP 框架 旨在更快地使用 PHP 开发 MVC Web 应用程序 本文将帮助您在 CentOS RHEL 7 系统上安装 Laravel 8 PHP 框架 第 1 步 设置 Yum 存储库 首先 您需要在系统中
  • 基础设施即代码及其重要性

    技术领域有如此多的不同进步 跟上所有这些进步可能会成为一项相当具有挑战性的任务 这就是为什么您需要选择最重要的事情 并找出哪些技术 趋势和进步对您的生活影响最大 基础设施即代码绝对是其中之一 无论你做什么 你都需要研究这个想法 从处理云系统
  • 如何在 Debian 10 (Buster) 上安装 PHP

    PHP 7 3 是可供安装的最新稳定版本 本教程将帮助您在 Debian 系统上安装 PHP 最新版本 现在按照本教程在 Debian 10 Buster 上安装 PHP Debian 10 仍在开发中 因此本教程是使用 Debian 10
  • 每个设计师都必须了解的顶级网页设计工具

    网络开发行业是多年来由于技术进步而蓬勃发展的行业之一 技术的不断发展趋势为快速蓬勃发展并致力于比实体店更成功的企业准备了舞台 因此 如果您是其中之一 希望将自己的创意技能转化为网页设计 那么您需要设计一个具有吸引人的字体 颜色 图像和图形的
  • Linux 中的 Curl 命令及示例

    curl是一个命令行实用程序 用于从服务器传输数据或向服务器传输数据 无需用户交互即可工作 和curl 您可以使用支持的协议之一下载或上传数据 包括 HTTP HTTPS SCP SFTP and FTP curl提供了许多选项 允许您恢复
  • 如何在 Ubuntu 18.04 上安装 Gradle

    Gradle 是一种通用构建工具 主要用于 Java 项目 它结合了 Ant 的最佳功能和Maven 与使用 XML 进行脚本编写的前辈不同 Gradle 使用Groovy 一种动态的 面向对象的编程语言 用于 Java 平台定义项目和构建
  • Linux中的Fdisk命令(创建磁盘分区)

    安装新的 SSD 或硬盘后 您需要做的第一件事就是对其进行分区 驱动器至少需要有一个分区 然后才能对其进行格式化并在其上存储文件 在 Linux 中 您可以使用多种工具来创建分区 其中fdisk是最常用的一种 在这篇文章中 我们将讨论fdi
  • Linux 中的 Rsync 命令及示例

    rsync是一个快速且多功能的命令行实用程序 用于通过远程 shell 在两个位置之间或从 到远程 Rsync 守护进程同步文件和目录 它通过仅传输源和目标之间的差异来提供快速增量文件传输 Rsync 可用于镜像数据 增量备份 在系统之间复
  • 如何在 Linux 中创建目录(mkdir 命令)

    在 Linux 系统中 您可以从命令行或借助桌面文件管理器创建新目录 允许您创建目录 也称为文件夹 的命令是mkdir 本教程涵盖了使用的基础知识mkdir命令 包括日常示例 Linux mkdir 命令语法 语法为mkdir命令如下 mk
  • 如何在 Ubuntu 20.04 上安装 Apache

    Apache 是世界上最流行的 Web 服务器之一 它是一个开源 跨平台的 HTTP 服务器 为大部分互联网网站提供支持 Apache 提供了许多强大的功能 可以通过附加模块进行扩展 本教程介绍如何在 Ubuntu 20 04 上安装和管理
  • 如何在 Debian 9 上设置 SSH 密钥

    Secure Shell SSH 是一种加密网络协议 用于客户端和服务器之间的安全连接 支持各种身份验证机制 两种最流行的机制是基于密码和基于公钥的身份验证 使用 SSH 密钥比传统的密码身份验证更安全 更方便 在本教程中 我们将描述如何在
  • 什么是 503 服务不可用错误

    浏览网页时最常见的错误之一是 503 服务不可用错误 此消息表明网络服务器遇到技术问题 无法处理请求 本文解释了 503 错误的含义 为什么会收到 HTTP 503 代码以及如何解决这些错误 什么是 HTTP 503 错误 当您打开网页时
  • 如何使用 SSHFS 通过 SSH 挂载远程目录

    SSHFS SSH 文件系统 是基于 FUSE 的文件系统客户端 用于通过 SSH 连接挂载远程目录 SSHFS 使用 SFTP 协议 它是 SSH 的一个子系统 并且在大多数 SSH 服务器上默认启用 与其他网络文件系统协议 例如 NFS
  • Linux 中的 pidof 命令

    pidof是一个命令行实用程序 可让您查找正在运行的程序的进程 ID 在这篇文章中 我们将解释如何使用Linuxpidof命令 如何使用pidof命令 有不同的实现pidof适用于基于 Red Hat 和 Debian 的发行版 在 Red
  • 在 Ubuntu 20.04 上安装 ONLYOFFICE 文档

    ONLYOFFICE Docs 是一个根据 AGPLv3 许可证分发的开源办公套件 它允许处理办公文档 电子表格和演示文稿 以及可填写的表格 您可以将其另存为 PDF 文件 该套件使用 DOCX XLSX 和 PPTX 作为核心格式 保证与
  • 如何在 CentOS 8 上安装 VirtualBox 来宾添加

    虚拟盒子是开源的跨平台虚拟化软件 允许您同时运行多个来宾操作系统 虚拟机 VirtualBox 提供了一组驱动程序和应用程序 VirtualBox Guest Additions 可以安装在来宾操作系统中以扩展来宾操作系统的功能 例如共享文
  • 如何在Linux中检查监听端口(正在使用的端口)

    在对网络连接或特定于应用程序的问题进行故障排除时 首先要检查的事情之一应该是系统上实际使用的端口以及哪个应用程序正在侦听特定端口 本文介绍了如何使用netstat ss and lsof命令来找出哪些服务正在侦听哪些端口 这些说明适用于所有
  • 如何在 CentOS 7 上安装 Nginx

    Nginx 发音engine x是一个免费 开源 高性能的 HTTP 和反向代理服务器 负责处理 Internet 上一些最大网站的负载 Nginx 可以用作独立的 Web 服务器 也可以用作反向代理 for Apache和其他网络服务器
  • 如何在 Debian 10 上安装 Anaconda

    Anaconda 是最流行的 Python R 数据科学和机器学习平台 它用于大规模数据处理 预测分析和科学计算 Anaconda 发行版附带 1 500 多个开源数据包 它还包括 conda 命令行工具和名为 Anaconda Navig
  • 如何在 Linux 中更改用户密码

    在本指南中 我们将解释如何在 Linux 中更改用户密码 我们还将向您展示如何强制用户在下次登录时更改密码 这些说明适用于任何 Linux 发行版 包括 Ubuntu Debian 和 CentOS 介绍 在 Linux 中 您可以使用以下