Linux root用户执行修改密码命令,提示 Permission denied

news/2024/12/23 12:00:38

问题

linux系统中(ubuntu20),root用户下执行passwd命令,提示 passwd: Permission denied ,如下图:
在这里插入图片描述

排查

1.执行 ll /usr/bin/passwd ,查看文件权限是否正确,正常情况是 -rwsr-xr-x. root root,如果不是,请修改至正确权限

2.查看/etc/pam.d/passwd,常见正常内容如下图(centos系统中)
在这里插入图片描述
在另一台ubuntu20机器上查看内容如下:

#
# The PAM configuration file for the Shadow `passwd' service
#

@include common-password

发现此文件内容为 @include common-password
引用了一个common-password文件,此文件在 /etc/pam.d/目录下,然后查看 /etc/pam.d/common-password 文件内容,如下图:

#
# /etc/pam.d/common-password - password-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define the services to be
# used to change user passwords.  The default is pam_unix.

# Explanation of pam_unix options:
#
# The "sha512" option enables salted SHA512 passwords.  Without this option,
# the default is Unix crypt.  Prior releases used the option "md5".
#
# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
# login.defs.
#
# See the pam_unix manpage for other options.

# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.

# here are the per-package modules (the "Primary" block)
password        [success=1 default=ignore]      pam_unix.so obscure sha512
# here's the fallback if no module succeeds
password        requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password        required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
password        *                               pam_unix.so sha512
password        required                        remember=5

通过对 password 这几行测试,发现将最后两行注释后,即可使用passwd命令


http://www.niftyadmin.cn/n/4924359.html

相关文章

linux 内存 - KO内存占用

说明 KO(kernel module)占用的内存分为两部分: 静态占用 :ko insmod时系统固定分配的内存。动态申请 :代码中动态申请的内存,由于申请方式不同,统计的方式也可能不同,例如:使用vmalloc和kmall…

Netty:查看ByteBuf的实现类

io.netty.buffer.ByteBuf是一个抽象类,我们看看它最终的实现类。实现类有多个,具体用的是哪个实现类,跟分配ByteBuf的方式有关。 作为举例,分别用Unpooled和ByteBufAllocator.DEFAUL来分配一个ByteBuf。 package com.thb;import …

jQuery知识

DOM知识 alert(我是弹窗); prompt(弹窗输入);Dom元素节点获取 方式一:通过 id 获取 一个 元素节点(为什么是一个呢?因为 id 是唯一的) var div1 document.getElementById("box1"); 方式二:通过 标签名 获…

什么是行级锁和表级锁

行级锁和表级锁是数据库中常见的两种锁机制,用于在多个事务并发访问数据库时控制数据的访问权限和并发操作。 行级锁(Row-Level Locking): 行级锁是指在数据库表中对每一行数据进行锁定,只有被锁定的行才不能被其他事…

Vue中的的通信方式有几种?隔代组件的通信你用那种方式解决?

props/$emit 适用父子组件通信 ref与parent/children适用父子组件通信 attrs/listeners,provide/inject 适用于隔代组件通信 vuex,EventBus(事件总线) 适用于父子、隔代、兄弟组件通信 slot插槽方式 attrs实例 父组件(这时候我们传了两个参数title和type&…

YOLOv5源码中的参数超详细解析(2)— 配置文件yolov5s.yaml

前言:Hello大家好,我是小哥谈。YOLOv5配置了5种不同大小的网络模型,分别是YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,其中YOLOv5n是网络深度和宽度最小但检测速度最快的模型,其他4种模型都是在YOLOv5n的基础上不断…

Java并发 | 常见线程安全容器

文章目录 简介一、Hash表🚣1、ConcurrentHashMap1.1 内部实现原理1.2 并发操作方法1.3 ConcurrentHashMap与Hashtable的比较 二、集合🚣2、CopyOnWriteArrayList2.1 内部实现原理2.2 Copy-On-Write(COW)设计思想2.3 实操 三、Map🚣3、Concurr…

BpBinder与PPBinder调用过程——Android开发Binder IPC通信技术

在Android系统中,进程间通信(IPC)是一个非常重要的话题。Android系统通过Binder IPC机制实现进程间通信,而Binder IPC通信技术则是Android系统中最为重要的进程间通信技术之一。本文将介绍Binder IPC通信技术的原理,并…