Linux - 비밀번호가 없는 사용자 생성(로그인 시 비밀번호 프롬프트가 필요하지 않음)

Linux - 비밀번호가 없는 사용자 생성(로그인 시 비밀번호 프롬프트가 필요하지 않음)

비밀번호를 사용한 후에도 사용자가 비밀번호를 가지고 있지 않다는 기사를 많이 발견했습니다 passwd -d. 내 시스템 중 일부에서는 작동하지만( su비밀번호를 제공하지 않고도 권한이 없는 계정에서 액세스할 수 있음) 일부에서는 작동하지 않습니다. null과 null을 모두 시도했지만 *다음 중 어느 것도 작동하지 않습니다.

lapsio@pi-car1:~ $ sudo useradd potato -p '*'
lapsio@pi-car1:~ $ su potato
Password: 
su: Authentication failure
lapsio@pi-car1:~ $ sudo passwd -d potato
passwd: password expiry information changed.
lapsio@pi-car1:~ $ su potato
Password: 
su: Authentication failure
lapsio@pi-car1:~ $

참고해주세요 저는아니요말하다비어 있는비밀번호(빈 문자열 해시로 설정 가능) 그래요아니요계정 잠금에 대해서도 이야기하십시오. 나는 Password:어떤 프롬프트도 전혀 나타날 것이라고 기대하지 않습니다 .sugetty저 할 수 있어요지금 이 계정에 로그인하세요비밀번호가 필요하지 않습니다별말씀을요. 오래된 시스템에서 작동하는 것 같습니다. 이 동작을 제어할 수 있는 시스템 수준 구성이 있습니까?

명확히 하기 위해 다음과 같은 동작을 기대합니다.

lapsio@pi-car1:~ $ su potato
potato@pi-car1:~ $ #I'm potato user here, without being asked for password

루트에서 부팅할 때 작동하는 것과 비슷하지만 su권한이 없는 계정에서도 부팅할 수 있기를 원합니다. 그리고 Arch liveCD의 루트 계정을 사용하는 것처럼 su비밀번호 프롬프트 없이 로그인하세요 .getty

알아요이는 나쁜 보안 관행이며 이로 인한 결과를 알고 있지만 여전히 무엇을 해야 할지 알고 싶습니다.

답변1

PAM 구성은 su일반적으로 에 있으며 /etc/pam.d/su이 지시어를 사용하여 동일한 디렉터리에 있는 다른 파일을 참조할 수 있습니다 @include. 어느 시점에는 으로 시작 auth하고 를 언급하는 줄이 있을 것입니다 pam_unix.so. 이전 릴리스에는 nullok빈 비밀번호를 허용하는 옵션이 포함될 수 있습니다 . 최신 배포판에서는 일반적으로 nullok_secure에 나열된 TTY 장치 중 하나로 "인증"할 때만 빈 비밀번호를 허용합니다 /etc/securetty. 또한 이 옵션의 구현은 nullok다를 수 있습니다.

su비밀번호 프롬프트 없이 특정 계정에 대한 명시적 접근을 허용하려면 다음과 같은 줄을 추가하면 됩니다.

auth sufficient pam_succeed_if.so quiet_fail user = potato

(노트:user, =사이의 공백 이 potato중요합니다! )

이전에 적용 pam_unix.so하고 su이 명령만 사용하려면 줄을 사이에 배치해야 합니다./etc/pam.d/su 앞으로로 시작하는 모든 @include지시문이나 다른 줄 auth.

su그러나 이와 같은 PAM 구성을 통해 바로가기를 만드는 것은 PAM 구성이 어떻게 작동하는지 먼저 이해하지 못한 채 약간 위험합니다.당신의지정되지 않은 Linux 배포판. 사용하기 전에 주의 깊게 테스트하십시오.

관련 정보