# 添加密码
echo "dolphinscheduler" | passwd --stdin dolphinscheduler
创建用户后,给dolphinscheduler添加密码时,出现错误
Authentication token manipulation error
原因分析>>>>>>>>>
[root@dev2-bu----1 ~]# lsattr /etc/passwd /etc/shadow
-------------------- /etc/passwd
-------------------- /etc/shadow
这是默认的配置,所以执行下面的命令,去除i没用;
[root@dev2-bu----1 ~]# chattr -i /etc/shadow
[root@dev2-bu----1 ~]# chattr -i /etc/passwd
解决思路>>>>>>>>>
查看log,定位报错
tail -f /var/log/messages
Oct 30 17:06:01 dev2-bu----1 audit[146509]: USER_CHAUTHTOK pid=146509 uid=0 auid=0 ses=502 msg='op=PAM:chauthtok grantors=? acct="dolphinscheduler" exe="/usr/bin/passwd" hostname=dev2-bu----1.novalocal addr=? terminal=pts/1 res=failed'
其中 grantors=?
表示没有任何 PAM 模块成功授权更改认证令牌。这通常是由于 PAM 配置文件损坏或不完整导致的
以下是详细的排查和解决步骤>>>>>>>>>
1. 恢复 /etc/pam.d/passwd
的默认配置
/etc/pam.d/passwd
文件缺少了 auth
和 account
模块的配置,这些配置对于 passwd
命令的正常运行是必要的。标准的 /etc/pam.d/passwd
文件内容应如下:
#%PAM-1.0
auth include system-auth
account include system-auth
password substack system-auth
password substack postlogin
password optional pam_gnome_keyring.so use_authtok
操作步骤:
cp /etc/pam.d/passwd /etc/pam.d/passwd.bak
vi /etc/pam.d/passwd
保存并退出编辑器。
2. 恢复 /etc/pam.d/system-auth
的默认配置
/etc/pam.d/system-auth
文件中存在非标准的配置,例如 auth required pam_kysec.so
,这可能导致认证过程出现问题。
操作步骤:
- 备份原始文件:
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
- 使用
authconfig
命令重新生成 PAM 配置文件:
authconfig --updateall
或者,如果 authconfig
命令不可用,可以手动编辑 /etc/pam.d/system-auth
,将其内容替换为默认配置。标准的 /etc/pam.d/system-auth
文件内容如下(以 CentOS 7 为例):
#%PAM-1.0
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth sufficient pam_sss.so use_first_pass
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account [default=bad success=ok user_unknown=ignore] pam_sss.so
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_sss.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_sss.so
- 保存并退出编辑器。
3. 检查并确保 PAM 模块存在
确保 PAM 相关的模块(例如 pam_unix.so
、pam_deny.so
等)存在于系统中。执行以下命令:
ls -l /lib64/security/pam_unix.so
ls -l /lib64/security/pam_deny.so
如果这些文件不存在,可能需要重新安装 PAM 软件包:
yum reinstall pam -y
4. 重启相关服务
某些情况下,可能需要重启系统或相关服务,以确保配置生效。
reboot
这时候再执行
echo "dolphinscheduler" | passwd --stdin dolphinscheduler
bingo~~~~成功添加
标签:passwd,token,auth,system,etc,Authentication,so,error,pam From: https://blog.csdn.net/2301_76636891/article/details/143404866