usermod -L과 passwd -l의 차이점

usermod -L과 passwd -l의 차이점

~에서man passwd

-l, --lock
          This option is used to lock the password of specified account
          and it is available to root only. The locking is performed by rendering
          the encrypted password into an  invalid  string  (by
          prefixing  the  encrypted string with an !). Note that the
          account is not fully locked - the user can still log in by other means
          of authentication such as the ssh public key authentication.
          Use chage -E 0 user command instead for full account locking.

~에서man usermod

-L, --lock
       Lock a user's password. This puts a '!' in front of the
       encrypted password, effectively disabling the password. 
       You can't use this option with -p or -U.

두 옵션 모두 !섀도우 파일의 비밀번호 시작 부분에 a를 배치합니다.

usermod다른 유형의 인증도 동일한 작업을 수행해야 한다면 잠그지 않는 것에 대해 경고하는 것은 어떨까요?

이 두 가지 옵션 중에서 계정을 잠글 때 고려해야 할 다른 사항이 있습니까?

답변1

usermodDebian 시스템의 매뉴얼 페이지와 man7.org내 Debian 시스템의 매뉴얼 페이지에는 동일한 효과에 대한 경고가 포함되어 있습니다.

-L, --lock
사용자의 비밀번호를 잠급니다. ...
참고: 계정을 잠그려면(비밀번호 액세스뿐만 아니라) EXPIRE_DATE도 1로 설정해야 합니다.

일부 시스템에서는 그렇게 말하지 않는다면 모든 문서가 완벽하지는 않다는 것을 보여주는 것 같습니다. 적어도 당신이 인용한 텍스트에는 "[the] 사용자의비밀번호."이므로 자세히 읽어보면 여전히 몇 가지 제한 사항이 있음을 알 수 있습니다.


나는 아니에요생각하다고려해야 할 다른 사항이 많이 있습니다. 두 도구 모두 동일한 작업을 수행하며 비밀번호(및 비밀번호만)를 사용할 수 없게 만듭니다. 비밀번호를 사용하지 않는 모든 것( su권한이 있는 사용자가 사용함, sudo구성에 따라 다름, cronSSH 키...)은 여전히 ​​비밀번호로 잠긴 사용자로서 작업을 수행할 수 있습니다.

매뉴얼 페이지에 명시된 대로 passwd계정 만료는 더 광범위한 블록으로 작동합니다. 인증이 PAM을 거치지 않아도 보통 호출되는 PAM 세션 모듈에서 만료 여부를 확인하는 것 같아요.

("보통", 권한이 있는 프로그램은 계정 만료 시간에 상관없이 사용자 ID를 변경할 수 있기 때문에 프로그래밍된 경우에만 가능합니다. 그러나 최소한 PAM 세션이 시작 cron되어 sshd만료 시간이 확인됩니다.)


그럼에도 불구하고 사용자 계정 잠금을 시작하면 잠금이 예상대로 작동하는지 테스트하는 것도 나쁘지 않을 것입니다(테스트 계정 사용). 이것은 정말로 구멍을 남기고 싶지 않은 상황 중 하나일 수 있기 때문입니다.

관련 정보