OpenBSD에서 비밀번호 변경 강제하기

OpenBSD에서 비밀번호 변경 강제하기

OpenBSD 5.6에서는 기본 비밀번호를 사용하여 여러 사용자 계정을 제공해야 합니다. 사용자가 처음 SSH에 로그인할 때 기본값에서 비밀번호를 강제로 변경하도록 하고 싶습니다.

CentOS와 Debian에서는 chage -d 0 $username.

login.conf 매뉴얼에는 다음과 같은 방법으로 OpenBSD에서 동일한 작업을 수행할 수 있어야 한다고 나와 있습니다.

  • usermod -f 1 $username또는
  • usermod -f "Jan 1 2015" $username

그런 식으로 설정하면 에서 적절한 변경이 이루어지지만 userinfo $usernameSSH를 통해 $username으로 로그인하면 실제로 비밀번호 변경이 적용되지 않습니다. 위에서 비활성으로 표시된 비밀번호를 인식하지 못한 채 쉘이 매우 행복하게 열립니다.

2000년의 일부 게시물은 다음과 같습니다.래퍼 로그인 셸 작성비밀번호를 강제로 변경하려면 즉, usermod및 의 명백한 스캐폴딩을 고려하면 chpass이것이 내장되어 있지만 Linux 등가물만큼 광범위하게 문서화되지는 않은 것 같습니다.

BSD 전문가가 이에 대한 기존 접근 방식을 밝힐 수 있습니까?

답변1

에 따르면 login.conf (5)만료된("죽은") 비밀번호의 기본 유예 기간은 0입니다. 해당 값이 에 설정되어 있지 않으면 /etc/login.conf현재 시스템 날짜가 사용자 비밀번호의 6번째 필드보다 큰 경우 사용자는 로그인하여 비밀번호를 변경할 수 없습니다. 항목 /etc/master.passwd- 참조 passwd (5).

문제를 해결하려면 선택한 유예 기간(예: 2주) 내에 해당하는 에포크 이후 초 수 형식의 날짜를 지정해야 합니다. 이 날짜도 에서 구성합니다 /etc/login.conf. 어제의 비밀번호 만료 시간을 수동으로 선택하려면 다음을 사용할 수 있습니다.

# date -d yesterday +%s
1463597700

그런 다음 를 /etc/master.passwd사용하여 해당 값을 필드 #6에 연결합니다 vipw. 그러면 관련 줄은 다음과 같이 표시됩니다.

user:$2b$08$01234567890abcdef:1000:1000::1463597700:0:user:/home/user:/bin/ksh

표시된 대로 usermod를 실행하면( usermod -f "May 17 2016" user) 기본적으로 동일한 작업이 수행되지만 두 경우 모두 사용자 클래스의 관련 섹션 /etc/login.conf에 다음을 추가하여 변경해야 합니다 .default:\

    :password-dead=2w:\
    :password-warn=2w:

첫 번째 줄은 사용자가 자신의 비밀번호를 변경할 수 있도록 2주간의 유예 기간을 허용합니다. 두 번째 줄은 사용자의 비밀번호가 만료될 예정이라는 경고를 표시합니다. 만료된 경우 사용자에게 다음과 같은 내용이 표시됩니다.

WARNING: Your password has expired.
You must change your password now and login again!
Changing local password for user.
Old password:
New password:
Retype new password:
Connection to openbsd-server closed.

90일마다 추가 비밀번호 변경을 시행하도록 :passwordtime=7776000:구성 할 수도 있습니다 . /etc/login.conf비밀번호 재사용 금지와 같이 사용자의 비밀번호 복잡성에 대한 추가 확인이 필요한 경우 passwordqc패키지나 다른 비밀번호 검사기 프로그램에서 설치하고 구성해야 합니다.

관련 정보