system-auth에서 'nullok'을 제거하면 루트 비밀번호가 방지됩니다.

system-auth에서 'nullok'을 제거하면 루트 비밀번호가 방지됩니다.

[ 이것은 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 세션에서 어떤 비밀번호로도 로그인할 수 없습니다.
  • 그런 다음 다시 system-auth에 넣습니다 nullok. 어떤 비밀번호로도 다시 로그인할 수 있습니다.

항상 열려 있는 SSH 세션에서 편집 및 비밀번호 설정을 수행하고 새 SSH 세션을 열어 결과를 테스트했습니다.

다시 접속할 수 없을까 봐 메인 SSH 세션을 감히 닫지 못했습니다. 그리고 신호등 구동 시스템이라 시스템을 재부팅하지 않았습니다.

이전 비밀번호를 입력할 필요가 없고 새 비밀번호만 입력하면 된다는 사실에 놀랐습니다(2회).

비밀번호를 변경한 후 답변을 받았지만 Password changed새 비밀번호로 SSH를 통해 로그인할 수 없습니다.

루트 비밀번호를 다른 곳에서 설정해야 하나요? 아니면 제거하면 nullokSSH를 통해 루트 계정이 완전히 차단됩니까?

나는 root1개의 특정 비밀번호로만 로그인하고 다른 비밀번호에 대한 액세스를 거부할 수 있기를 원합니다.

관련 정보