현재 CentOS 환경을 Debian 환경으로 마이그레이션하고 있습니다. 사용자는 NIS를 사용하여 네트워크를 통해 로그인합니다. /etc/shadow
사용자에게 연속성을 제공할 수 있도록 이전 서버에서 새 서버로 복제하고 싶습니다 . 나는 두 가지 문제를 발견했습니다.
- 사용자 ID 충돌이 문제는 CentOS 파일의 UID에 500을 추가하면 쉽게 해결할 수 있습니다.
shadow
왜냐하면 CentOS는 UID 500으로 부팅되고 Debian은 UID 1000으로 부팅되기 때문입니다. - 다른 비밀번호 해시그것이 나를 죽이는 것입니다. CentOS는 비밀번호 해싱을 사용하는 것 같지만
md5
데비안은sha-512
사용자가 나에게 묻지 않고도 시스템에 로그인할 수 있기를 원합니다.
인터넷 검색 후 다음과 같이 수용 가능한 해결책을 찾았습니다.
passwd -d uname
chage -d 0 uname
첫 번째 줄은 사용자가 uname
직접 로그인할 수 있도록 빈 비밀번호를 설정합니다. 두 번째 줄에서는 uname
비밀번호가 만료되어 다음에 로그인할 때 비밀번호를 변경해야 합니다. 나는 이것이 충분히 좋은 타협이라고 생각합니다.
사용자가 서버에 로그인되어 있으면 문제가 없습니다. 사용자가 다른 시스템에서 NIS 인증을 시도하는 경우에는 이 방법이 작동하지 않습니다. 여전히 "비밀번호 변경 필요" 메시지가 표시되지만 바로 "인증 토큰 작업 오류"가 표시됩니다. 이는 비밀번호 변경이 passwd
시도되지 않고 통과되었기 때문인 것으로 추측됩니다 yppasswd
. 이것이 제가 현재 겪고 있는 딜레마입니다. 사용자가 먼저 서버에 로그인하도록 어색하게 강요하지 않고 연속성을 달성하려면 어떻게 해야 합니까?
편집하다
편집 2
사용자가 서버에 로그인하려고 하면 오류 메시지 없이 정상적으로 로그인되는 것을 방금 확인했습니다. (NIS를 테스트하기 위해) 다른 컴퓨터에서 루트로 전환하고 su
NIS 사용자 중 한 명을 입력하려고 했습니다. "인증 실패(무시)"라는 경고가 나오며 성공했습니다. 나는 이것이 PAM 정책 체인에서 나온 것이라고 생각합니다.
답변1
비밀번호를 다시 해싱하는 것은 전혀 문제가 되지 않습니다. 나에게 필요한 것은 /etc/group
그룹 ID가 1000으로 시작하고 사용자가 일부 댓글 작성자가 추측한 대로 이전 비밀번호를 사용하여 쉽게 로그인할 수 있도록 이전 비밀번호를 변경하는 것입니다.