[이것은 ServerFault에 대한 내 게시물에 대한 후속 조치입니다.https://serverfault.com/questions/661136/root-accepts-any-password-how-to-change-to-a-real-password]
이전 시스템에서는 루트 계정이 비어 있지 않은 한 모든 비밀번호를 허용했습니다. 모든 비밀번호가 올바른 비밀번호로 인정되므로 누구나 로그인할 수 있습니다.
과거(10년 전)에는 시스템이 자체 인증을 갖춘 전화 접속 모뎀 뒤에 있었기 때문에 이것은 문제가 되지 않았습니다. 그러나 몇 년 후에는 공용 IP 주소를 통해 시스템에 액세스할 수 있게 되었습니다.
기적적으로 지난주까지 SSH 포트에 관심을 갖는 사람은 아무도 없었습니다.
누군가(중국 IP 주소)가 루트로 로그인하여 일부 시스템 설정을 변경하고 로그아웃했습니다.
백업에서 시스템을 복원하고 문제를 해결할 시간을 주기 위해 더 이상 ADSL 모뎀을 통해 액세스할 수 없도록 SSH 포트를 변경했습니다.
문제는 다음과 /etc/pam.d/system-auth
같습니다
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required /lib/security/pam_env.so
auth sufficient /lib/security/pam_unix.so likeauth nullok
auth required /lib/security/pam_deny.so
account required /lib/security/pam_unix.so
password required /lib/security/pam_cracklib.so retry=3
password sufficient /lib/security/pam_unix.so nullok use_authtok md5
password required /lib/security/pam_deny.so
session required /lib/security/pam_limits.so
session required /lib/security/pam_unix.so
내가 바뀔 때
auth sufficient /lib/security/pam_unix.so likeauth nullok
도착하다
auth sufficient /lib/security/pam_unix.so likeauth
그러면 루트 계정은 더 이상 임의의 비밀번호를 허용하지 않지만, 내가 구성한 비밀번호도 허용하지 않습니다.
나는 다음을 시도했다:
- 먼저, 명령을 통해 루트 비밀번호를 변경하십시오
passwd
. 결과: 어떤 비밀번호로든 로그인할 수 있습니다. - 그런 다음 삭제하십시오
nullok
. 방금 설정한 비밀번호로도 새 SSH 세션에서 어떤 비밀번호로도 로그인할 수 없습니다. - 그런 다음 루트 비밀번호를 다시 변경했습니다. 결과: 새 SSH 세션에서 어떤 비밀번호로도 로그인할 수 없습니다.
- 그런 다음 시스템 인증을 다시 설정합니다
nullok
. 어떤 비밀번호로도 다시 로그인할 수 있습니다.
편집 및 비밀번호 설정을 위해 SSH 세션을 열어두고 새 SSH 세션을 열어 결과를 테스트했습니다.
다시 접속할 수 없게 될까 봐 메인 SSH 세션을 닫는 것이 두렵습니다. 또한 신호등 시스템이 실행 중이어서 시스템을 재부팅하지 않았습니다.
이전 비밀번호는 입력하지 않고 새 비밀번호만(2번) 입력할 수 있다는 사실에 놀랐습니다.
비밀번호를 변경한 후 답변을 받았지만 Password changed
새 비밀번호를 사용하여 SSH를 통해 로그인할 수 없습니다.
루트 비밀번호를 다른 곳에서 설정해야 하나요? 아니면 삭제하면 nullok
SSH를 통해 루트 계정이 완전히 차단되나요?
root
특정 비밀번호 1개로만 로그인하고 다른 비밀번호로는 액세스를 거부하고 싶습니다 .