비밀번호가 없는 사용자 - 루트가 아닌 계정에서 계정에 로그인하는 방법

비밀번호가 없는 사용자 - 루트가 아닌 계정에서 계정에 로그인하는 방법

저는 방금 Scientific Linux(7.0)를 사용하기 시작했습니다(비록 이 질문은 배포 중립적일 수 있지만..). 커널 버전은 3.10.0-123.20.1.el7.x86_64입니다.

내 질문으로 돌아갑니다.

root계정 으로 전환 하고 test-account명령을 사용하여 새 사용자 계정을 만들었습니다 adduser test-account. 비밀번호를 묻는 메시지가 표시되지 않았으며 비밀번호 제공 옵션을 사용하지도 않았습니다. 그래서 나는 이것이 "비밀번호가 없는" 계정이라고 생각합니다. 루트 계정에서 이 계정에 로그인할 수 있습니다. 테스트 계정에 비밀번호가 있더라도 비밀번호를 제공하지 않고도 이 계정에 로그인할 수 있습니다. 하지만 제3의 계정에서 이(테스트 계정)에 로그인하려고 하면 비밀번호를 묻는 메시지가 표시됩니다. 그리고 그냥 눌러도 Enter아무런 효과가 없습니다.

이 계정이 루트가 아닌 계정에서 로그인할 수 있는지 여부입니다. (루트로 전환하거나 사용하지 않고) 방법이 있습니까 sudo?

답변1

기본적으로 엔터프라이즈 GNU/Linux 및 그 파생 버전에서 이 adduser명령은 사용자의 비밀번호를 명시적으로 지정할 때까지 비활성화된 사용자를 생성합니다.

이는 CentOS 6.5의 예이며 Scientific Linux와 동일해야 합니다.

 $ sudo adduser test
 $ sudo grep test /etc/shadow
 test:!!:123456:0:99999:7:::

이는 예시와 같이 /etc/shadow파일에서 비밀번호 필드가 이기 때문입니다.!!

이 계정을 실행하면 passwd사용자의 비밀번호가 변경되고 사용자가 로그인할 수 있게 됩니다.

따라서 비밀번호가 없는 사용자를 보유하려면 다음을 수행할 수 있어야 합니다. 계정을 만든 다음 비밀번호를 제거하면 됩니다.

 $ sudo adduser test
 $ sudo passwd -d test
 Removing password for user test.
 passwd: Success
 $ su test
 $ whoami
 test

이제 모든 사용자는 내 예의 사용자로 사용하고 로그인할 수 있어야 합니다 su. 이 계정으로 로그인 test할 필요는 없습니다 .sudo

가능하고 비밀번호 없이 계정을 가질 수 있지만 권장되지는 않습니다. 사용자의 비밀번호만 설정하면 로그인이 가능해집니다.

$ sudo passwd test
[sudo] password for <YOURACCOUNT>:
Changing password for user test.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

답변2

사용자가 있습니다손님이것은 비밀번호가 없습니다. 그 기록은 다음과 같습니다.

손님:U6aMy0wojraho:17057:0:99999:7:::

문자열 "U6aMy0wojraho"는 게스트 사용자의 해시된 비밀번호입니다. 로그인할 때 Enter 키를 누르고 비밀번호를 입력하면 시스템에서 로그인할 수 있습니다.

/etc/shadow 파일을 편집하고 사용자 이름과 첫 번째 콜론 뒤에 위 문자열을 추가해야 합니다.

Ubuntu 라이브 CD에서 이 문자열을 복사했습니다. 해당 사용자는 비밀번호가 없습니다.

답변3

비밀번호가 비어 있는 사용자

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

안타깝게도 비밀번호 프롬프트가 계속 표시됩니다.

그러나 아무 것도 입력하지 않고 Enter만 누르면 user 로 로그인됩니다 test-user-0.

이러한 -e플래그는 chpasswd비밀번호가 암호화되었으며 U6aMy0wojraho빈 문자열의 해시임을 나타냅니다.

우분투 18.04에서 테스트되었습니다.

BusyBox 자동 로그인

적어도 터미널에서는 누군가가 매번 비밀번호를 입력하지 못하도록 비밀번호 없이 사용자를 생성할 필요가 없습니다. 해킹이면 inittab충분합니다.Buildroot BusyBox init에 루트 사용자 이름이나 비밀번호를 입력하지 않고 자동으로 로그인하는 방법은 무엇입니까?

관련 정보