더 이상 sudo 명령을 실행할 수 없습니다. 비밀번호가 허용되지 않습니다.

더 이상 sudo 명령을 실행할 수 없습니다. 비밀번호가 허용되지 않습니다.

저는 1년 넘게 온라인 상태인 Ubuntu를 실행하는 서버를 가지고 있습니다. 루트가 아닌 내 사용자를 사용하고 SSH 키(비밀번호 로그인 없음)를 사용하여 SSH를 통해 서버에 연결합니다. 이 사용자는 제가 정기적으로 사용하는 sudoers의 일부입니다 su. 처음부터 잘 작동했습니다. 내 사용자 비밀번호는 비밀번호 관리자에 저장되어 있으므로 수동으로 아무것도 입력하지 않습니다.

이번달 초부터 내 비밀번호는 더 이상 허용되지 않습니다. 내가 실행하려고 할 때 :

$ sudo -i
[sudo] password for my_user:
Sorry, try again.

3번 시도 후:

sudo: 3 incorrect password attempts

비밀번호는 변경되지 않았습니다. 올바른 비밀번호를 붙여넣고 있습니다. 비밀번호 관리자에서 비밀번호를 수동으로 복사해 보기도 했습니다. 그래서 다른 일이 벌어지고 있습니다.

나는 여전히 sudoers 그룹의 구성원임을 확인했습니다. 드라이브가 가득 차지 않았거나 CPU가 과부하된 것을 확인했습니다. 특이한 것은 없습니다. 저는 자동 업데이트를 실행하므로 Ubuntu Server의 자동 업데이트 스크립트를 실행하여 새 소프트웨어를 간단히 설치할 수 있습니다. 우분투 22.04를 실행 중입니다.

다음을 실행하여 내 사용자 비밀번호를 변경하려고 하면:

$ passwd my_user
Changing password for my_user.
Current password:
passwd: Authentication token manipulation error
passwd: password unchanged

따라서 문제는 sudo 자체에 있는 것이 아니라 내 사용자 인증에 있는 것 같습니다.

루트로 아무것도 실행할 수 없다는 점을 감안할 때 원하는 모든 것을 확인할 수는 없습니다.

몇 가지 더 확인해 봤는데이 문제, 포함하다:

  • 파일 시스템이 다음에 따라 읽기 전용으로 마운트되지 않았습니다./proc/mounts
  • /etc/shadow권한이 -rw-r-----있으며 다음에 속합니다.root:shadow

sudo -l의 출력:

$ sudo -l
Matching Defaults entries for my_user on lla_server:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User my_user may run the following commands on lla_server:
    (ALL : ALL) ALL

$ grep passwd /etc/nsswitch.conf
passwd:         compat systemd

$ cat /etc/pam.d/sudo
#%PAM-1.0

# Set up user limits from /etc/security/limits.conf.
session    required   pam_limits.so

session    required   pam_env.so readenv=1 user_readenv=0
session    required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0

@include common-auth
@include common-account
@include common-session-noninteractive

$ cat /etc/pam.d/sudo-i
#%PAM-1.0

# Set up user limits from /etc/security/limits.conf.
session    required   pam_limits.so

session    required   pam_env.so readenv=1 user_readenv=0
session    required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0

@include common-auth
@include common-account
@include common-session

$ su - my_user
Password: 
su: Authentication failure

$ cat /etc/pam.d/common-auth
#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
# 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)
auth    [success=1 default=ignore]  pam_unix.so nullok
# here's the fallback if no module succeeds
auth    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
auth    required            pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth    optional            pam_cap.so 
# end of pam-auth-update config

무엇을 확인할 수 있으며, 이 문제의 원인은 무엇입니까? 루트로는 아무 것도 할 수 없으므로 예를 들어 확인할 수 없습니다 /var/log/auth.log.

관련 정보