Linux修改密码

2023-10-27

Linux修改密码用 passwd 命令,用root用户运行passwd ,passwd user_name可以设置或修改任何用户的密码,普通用户运行passwd只能修改它自己的密码。

[root@localhost ~]# passwd ##修改root用户密码
Changing password for user root..
New password: ##输入新密码
Retype new password: ##再次确认新密码
passwd: all authentication tokens updated successfully.

[root@localhost ~]# passwd hadoop ##修改hadoop用户密码
Changing password for user hadoop.
New password: ##输入新密码
Retype new password: ##再次确认新密码
passwd: all authentication tokens updated successfully.

一、passwd 常用参数如下:

-k ##keep-tokens keep non-expired authentication tokens 注:保留即将过期的用户在期满后能仍能使用;
-d ##delete delete the password for the named account (root only) 注:删除用户密码,仅能以root权限操作;
-l ##lock lock the named account (root only) 注:锁住用户无权更改其密码,仅能通过root权限操作;
-u ##unlock unlock the named account (root only) 注:解除锁定;
-f ##force force operation 注:强制操作;仅root权限才能操作;
-x ##maximum=DAYS maximum password lifetime (root only) 注:两次密码修正的最大天数,后面接数字;仅能root权限操作;
-n ##minimum=DAYS minimum password lifetime (root only) 注:两次密码修改的最小天数,后面接数字,仅能root权限操作;
-w ##warning=DAYS 注:在距多少天提醒用户修改密码;仅能root权限操作;
-i ##inactive=DAYS 注:在密码过期后多少天,用户被禁掉,仅能以root操作;
-S ##status report password status on the named account (root only) 注:查询用户的密码状态,仅能root用户操作;
1、例如让某个用户不能修改密码,可以用-l 参数来锁定:

[root@localhost ~]# passwd -l hadoop ## 注:锁定用户hadoop不能更改密码;
Locking password for user hadoop.
passwd: Success ##注:锁定成功;
[hadoop@localhost ~]# su - hadoop ##注:su切换到hadoop用户;
[hadoop@localhost ~]$ passwd ##注:hadoop用户更改密码;
Changing password for user hadoop.
Changing password for hadoop
(current) UNIX password: ## 注:输入hadoop的当前密码;
passwd: Authentication token manipulation error ## 注:失败,不能更改密码;

2、例如清除一个用户的密码 用参数-d,密码清除后登录就无需密码

[root@localhost ~]# passwd -d hadoop ##注:清除hadoop用户密码;
Removing password for user hadoop.
passwd: Success ##注:清除成功;
[root@localhost ~]# passwd -S hadoop ##注:查询hadoop用户密码状态;


Empty password. ##注:空密码,没有密码

二、密码时效命令:chage ,修改用户密码有效期限;chage 命令格式:chage [-l] [-m 最小天数] [-M 最大天数] [-W 警告] [-I 失效日] [-E 过期日] [-d 最后日] 用户

-m days: 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M days: 指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该帐号前就必须改变口令。
-d days: 指定从1970年1月1日起,口令被改变的天数。
-I days: 指定口令过期后,帐号被锁前不活跃的天数。如果值为0,帐号在口令过期后就不会被锁。
-E date: 指定帐号被锁的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日后经过的天数。
-W days: 指定口令过期前要警告用户的天数。
-l: 列出指定用户当前的口令时效信息,以确定帐号何时过期。
例如设置用户hadoop两天内不能更改口令,并且口令最长的存活期为30天,并且口令过期前5天通知用户的命令:chage -m 2 -M 30 -W 5 hadoop
查看用户hadoop当前的口令时效信息:chage -l hadoop
备注:1.可以用chage user_name进入交互模式修改用户的口令时效;
2.修改口令实质上就是修改口令文件/etc/shadow中与口令时效相关的字段值。

三、passwd 修改密码报错 passwd:Authentication token manipulation error
root用户或者普通用户修改密码失败 ;报的错误 密码:身份验证令牌操作错误;一般是密码文件的权限的问题,或者是该用户锁定不能修改密码,或者是根目录空间满了。
1.首先查看磁盘空间是否满了df -hl,如果满了,查找出占用较大的无用文件清空或删除;常用到命令:

du -lh --max-depth=1 :查看当前目录下各文件大小
du -sh:查看当前目录总的大小
du -sh * | sort -n:统计当前目录下文件大小,并按文件大小排序
du -sk file_name:查看指定的file文件大小
2.可以用lsattr命令查看存放用户和密码的文件属性lsattr /etc/passwd、lsattr /etc/shadow,(i:不得任意更动文件或目录),如果有i选项,则会导致所有的用户都不能修改密码,因为没有权限允许;
可以用chattr命令将i权限撤销 chattr -i /etc/passwd、chattr -i /etc/shadow,然后再修改用户密码。
————————————————
版权声明:本文为CSDN博主「hyfstyle」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hyfstyle/article/details/90904992

喜欢这篇文章?欢迎打赏~~

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

Linux修改密码 的相关文章

  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • 打印本周星期一的日期(在 bash 中)

    我想获取本周星期一的 YYYYMMdd 格式的日期 例如 今天是 20110627 从明天到周日 我仍然想打印周一 今天 的日期 然后下周重复这个过程 monday date dmonday Y m d last monday date d
  • Linux >2.6.33:可以使用 sendfile() 来实现更快的“猫”吗?

    必须将大量大文件连接成一个更大的单个文件 我们目前使用 cat file1 file2 output file but are wondering whether it could be done faster than with that
  • 如何在 Linux 中向热敏打印机发送 ESC/POS 命令

    我正在尝试在热敏打印机上发送 ESC POS 命令 但每当我发送它们时 热敏打印机都会将它们打印为文本 而不是作为命令执行它们 我在 prn 文件中编写这些命令 每当我执行 lp 命令来打印文件时 这些 prn 文件也会被打印 但作为文本
  • 通过名称获取进程ID

    我想在 Linux 下获得一个给定其名称的进程 ID 有没有一种简单的方法可以做到这一点 我还没有在 C 上找到任何可以轻松使用的东西 如果追求 易于使用 char buf 512 FILE cmd pipe popen pidof s p
  • Linux 中的 Windows NAmed Pipes 替代品

    我们正在将现有的 Windows 代码移植到 Linux 我们使用 ACE 作为抽象层 我们使用 Windows 命名管道与多个客户端进行通信并执行重叠操作 linux 下这个相当于什么 我检查了linux命名管道 FIFO 但它们似乎只支
  • Hadoop-reducer 如何获取数据?

    据我所知 映射器为每个减速器生成 1 个分区 减速器如何知道要复制哪个分区 假设有 2 个节点运行用于字数统计程序的映射器 并且配置了 2 个缩减器 如果每个映射节点生成 2 个分区 并且两个节点中的分区都可能包含相同的单词作为键 那么减速
  • 虚拟内存澄清——大连续内存的分配

    我有一个应用程序 我必须在 Windows 上分配 使用运算符 new 相当大的内存空间 数百 MB 该应用程序是 32 位 我们现在不使用 64 位 即使在 64 位系统上也是如此 我启用了 LARGEADDRESSAWARE 链接器选项
  • Linux 上的“软/硬 nofile”是什么意思

    当我尝试在RedHat EL5上安装软件时 我得到了错误 软 硬nofile的期望值是4096 而默认值是1024 我设法增加了这个数字 但我不知道参数是什么 他们指的是软链接和硬链接吗 我改变的方法是 a 修改 etc security
  • 为什么我的代码在编译用于分析 (-pg) 时在多线程下运行比在单线程下运行慢?

    我正在写一个光线追踪器 最近 我在程序中添加了线程 以利用 i5 四核上的附加内核 奇怪的是 应用程序的调试版本现在运行速度变慢 但优化后的构建运行速度比添加线程之前更快 我将 g pg 标志传递给 gcc 以进行调试构建 并将 O3 标志
  • sudo pip install python-Levenshtein 失败,错误代码 1

    我正在尝试在 Linux 上安装 python Levenshtein 库 但每当我尝试通过以下方式安装它时 sudo pip install python Levenshtein 我收到此错误 命令 usr bin python c 导入
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 使用 terminfo 的终端颜色?

    我正在编写一个 C 类 允许在终端中使用颜色 我希望它适用于每个终端 在支持真彩色 24 位 的终端上打印 在支持它的终端上具有 256 色 6x6x6 其他都是基本的 16 种颜色 我曾经使用 termcap 编写过一次 C 函数 并且我
  • 如何从 Linux 命令行确定 LCD 显示器是否打开

    如何通过 Linux 命令行判断计算机的显示器是否打开 关闭 我传统上认为显示器是仅输出的设备 但我注意到 Gnome 显示器首选项对话框具有 检测显示器 功能 这可以推广到确定显示器是否物理关闭吗 VESA DDC 连接是I2C http
  • python 可以检测它运行在哪个操作系统下吗?

    python 可以检测操作系统 然后为文件系统构建 if else 语句吗 我需要将 Fn 字符串中的 C CobaltRCX 替换为 FileSys 字符串 import os path csv from time import strf
  • 为什么“script”命令会生成 ^[ 和 ^M 字符以及如何使用 vim 搜索和替换删除它们?

    在linux上 使用bash shell 当我使用script命令时 生成的文件称为typescript 当我用 vim 打开该文件时 每一行都包含 M字符 并且有几行 由于我的彩色命令提示符 包含一个字符 我想用任何东西替换这些字符 从而
  • bash "&" 不打印 "[1]+ Done "

    我在 bashrc 中调用一个脚本来打印打开终端时收到的新消息数 我希望该调用在访问网络时是非阻塞的 有时需要几秒钟 这意味着我无法使用终端直到完成 但是如果我输入 mailcheck 在我的 bashrc 中 它工作正常 但然后打印一个空
  • VSCODE 在 Linux 上不适用于我

    刚刚了解 VSCODE 很高兴尝试一下 我下载 解压并运行可执行文件 我得到 Code 2183 0429 201254 ERROR browser main loop cc 170 Running without the SUID san

随机推荐

  • 故障分析

    作者 刘晨 网名 bisal 具有十年以上的应用运维工作经验 目前主要从事数据库应用研发能力提升和技术管理相关的工作 Oracle ACE 腾讯云TVP 拥有 Oracle OCM OCP EXIN DevOps Master SCJP 等
  • VUE加解密MD5、RSA(分段)、AES(SHA1PRNG)

    md5方法 使用 crypto js 1 安装 npm install crypto js 2 引用 import CryptoJS from crypto js 3 加密 let md5 CryptoJS MD5 test toStrin
  • k8s 1.26.3 安装--使用containerd

    机器准备 或虚拟机 三台机器 一 环境准备 1 三台机器分别设置主机名 hostnamectl set hostname master hostnamectl set hostname node2 hostnamectl set hostn
  • 05-----Qt应用程序在windows和Linux操作系统下的打包发布

    1 介绍 对于发布程序 我们最常用的就是获取release版本的exe后 拷贝对应的动态库然后发布 但是QT下我们可以使用相关软件代替 它能帮我们找到该exe所需的动态库文件 下面我们直接参考以下文章即可 非常详细 很不错 所以我觉得没必要
  • 时间戳转化

    1 自定义时间戳转化 2 使用Moment js JavaScript 日期处理类库 地址如下 Moment js 中午网
  • 主从复制报错Fatal error:The slave I/O thread stops because master and slave have equal MySQL server UUIDs;

    异常 在MySQL中开启主从复制失败 原因 先确定主机和从机的server id是否不一样 如果一样也会导致主从复制失败 主机和从机的server id在 etc my cnf配置文件中配置的 下面的结果不一致说明不是server id的问
  • Ubuntu系统下安装rpm安装包

    目录 前言 方法 前言 Ubuntu的软件包格式为deb 而RPM格式的包归属于红帽子Red Hat 在这直接使用命令是安装不了的 需要通过一个桥梁进行转换 方法 将其rpm的格式包转换为deb的格式包 具体转换通过alien进行转换 这个
  • 华为OD机试 Python 【分割数组的最大差值】

    题目 给你一个整数数组 尝试将其分成两部分 左边和右边 然后分别求它们的和 你能找到一种切分方式 使得两边和的差的绝对值最大吗 输入 第一行是一个整数n 表示数组中的元素数量 其中 1 lt n 100000 第二行包含n个整数 它们组成了
  • 一个集成的BurpSuite漏洞探测插件1.2

    4 DNSLog查询漏报 注 扫描结束后才会在BurpSuite的Target Dashboard模块显示高危漏洞 进程扫描中无法进行同步 但可以在插件中查看 涉及到DoPassive方法问题
  • Ninth season twelfth episode,Phoebe fed a bunch of rats!!!!!!

    Scene Coffee place Joey is there Chandler is entering Chandler Hey Joey Hey So where s Mon Chandler Oh she s at home put
  • Keil报错:cannot open source input file “core_cmInstr.h“ 解决办法

    文章目录 前言 参考资料 历史精选文章 前言 前几天在面包板社区申请了一块uFun开发板 昨天刚到手 在烧录Demo程序的时候遇到一个问题 就是Keil打开工程 编译 报很多错误cannot open source input file c
  • Angular 4.x Forms patchValue and setValue

    在 Angular 4 x 中有多种方式可以更新表单的值 对于使用响应式表单的场景 我们可以通过框架内部提供的 API 如 patchValue 和 setValue 方便地更新表单的值 这篇文章我们将介绍如何使用 patchValue 和
  • J-link烧录MCU镜像文件

    1 使用范围 本文档基于NXP M4芯片 介绍MCU镜像文件烧录流程以及在烧录过程中遇到的问题 2 烧录步骤2 1 资源准备 烧录前需准备MCU镜像文件 镜像文件一般由Keil工具 SylixOS IDE工具或者其他工具生成 本文档以Kei
  • 读写分离与分库分表,涉及sharding-JDBC、sharding-sphere、停机迁移和双写方案、分布式id

    一 读写分离 1 1 何为读写分离 读写分离主要是为了将对数据库的读写操作分散到不同的数据库节点上 这样的话 就能够小幅提升写性能 大幅提升读性能 一主多从 也就是一台主数据库负责写 其他的从数据库负责读 主库和从库之间会进行数据同步 以保
  • ERP管理系统的权限控制实现--shiro

    1 Shiro基本原理分析 Authentication 身份认证 登录 验证用户是不是拥有相应的身份 Authorization 授权 即权限验证 验证某个已认证的用户是否拥有某个权限 即判断用户是否能做事情 常见的如 验证某个用户是否拥
  • 用Java Socket开发小型服务器,支持上千个并发

    Java Socket 套接字 socket 为两台计算机之间的通信提供了一种机制 在James Gosling注意到Java 语言之前 套接字就早已赫赫有名 该语言只是让您不必了解底层操作系统的细节就能有效地使用套接字 1 客户机 服务器
  • 质因数分解

    找出最小的质数 与它相乘的就是最大的质数 include
  • Django中基于FBV和CBV的免除或开启csrf验证

    一 全局crsf验证开启 但希望某函数或方法豁免验证 1 基于FBV免除某个函数csrf验证的步骤 1 1 在settings的中间件 添加csrf验证全局验证 默认都已经添加 1 2 导入 django views decorators
  • Qt信号槽的几种写法

    信号槽是Qt的核心部分 它使得对象之间的的通信变得很简单 Qt通过connect来连接信号与槽 当信号被发出时 槽函数立刻被执行 connect函数有五个重载 重载1 QMetaObject Connection connect const
  • Linux修改密码

    Linux修改密码用 passwd 命令 用root用户运行passwd passwd user name可以设置或修改任何用户的密码 普通用户运行passwd只能修改它自己的密码 root localhost passwd 修改root用