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


25

Scientific Linux (7.0)를 사용하기 시작했습니다 (이 질문은 배포 중립적이라고 가정하지만). 커널 버전은 3.10.0-123.20.1.el7.x86_64입니다.

내 질문으로 돌아온다.

나는 root계정으로 전환했고 거기서 test-account명령을 사용하여 새로운 사용자 계정 을 만들었습니다 adduser test-account. 암호를 묻는 메시지가 표시되지 않았으며 옵션을 사용하여 암호를 제공하지도 않았습니다. "암호없는"계정 인 것 같습니다. 루트 계정으로이 계정에 로그인 할 수 있습니다. 테스트 계정에 암호가 있어도 암호를 제공하지 않아도 가능하다고 생각합니다. 그러나 세 번째 계정 에서이 (test-account)에 로그인하려고하면 암호를 묻는 메시지가 나타납니다. 누르는 것만으로 Enter는 작동하지 않습니다.

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


시스템 정책에 따라 암호가 필요할 수 있습니다. 암호를 설정하는 옵션을 adduser알고 있으므로 -p사용하지 않는 것이 좋습니다. 루트 passwd test-account로 비밀번호를 설정하고 설정하십시오.
ott--

아니요, 계정은 비밀번호없이 생성되며 루트에서 전환하여 액세스 할 수도 있습니다. 내가 할 수없는 유일한 것은 일반 사용자로부터 전환하는 것입니다.
Lavya

루트에서 어떻게 전환합니까 (어떤 명령을 사용하고 있습니까?)
roaima

@roaima su test-account. 즉, 전환 test-account(경우에도 어떻게 될지되는 프롬프트에 암호없이 test-account암호를했다). 내가 꽃밥 권한이없는 사용자 계정에서 테스트 계정으로 전환하려고 할 때, 커널은 프롬프트에 암호를 저를 요구하고, 무효 (눌러를 허용하지 않습니다 eneter)
Lavya

이미 이에 대한 답변을 받았습니다. 즐겨.
roaima

답변:


29

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

다음은 Scientific Linux와 같아야하는 CentOS 6.5의 예입니다.

 $ 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.

어떻게 전환 할 수 있어요 "adduser 명령은 명시 적으로 해당 사용자에 대한 암호를 지정할 때까지 사용할 수있는 사용자 생성" test-account 그 (사용자가 사용할 수있는) 경우 인 경우 루트에서를?
Lavya

su test-account
Nathan McCoy

계정이 비활성화 된 경우 su루트에서 어떻게 계정을 전환 할 수 있습니까?
Lavya

2
root사용자 캔 su쉘이있는 계정으로. /bin/false예를 들어 쉘이 설정되어 있으면 작동하지 않습니다. 그것은 단지 마술이다 root! 많은 사용자 계정에는 유효한 셸이 없으며 해당 사용자로 특정 프로그램을 실행하는 데만 사용됩니다. apache사용자 및 아파치 웹 서버와 같은
Nathan McCoy

우분투 18.04에서는 빈 암호로 사용자로 로그인 할 수 없습니다.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

3

암호가 없는 사용자 게스트 가 있습니다. 이것은 기록이다 :

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

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

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

우분투 라이브 CD 에서이 문자열을 복사했습니다. 사용자는 암호가 없습니다.


수락 된 답변 ( passwd -d ...) 대신 sddm과 함께 작동합니다.
mzimmer

1
/etc/shadow파일을 직접 편집하는 것은 위험하므로 일반적으로 권장하지 않습니다. A가 갖는 guest미세을 차지하지만, 다중 사용자 파일이 저장 잠재적 부적절한 사용자 입력 또는 문제를 줄일 수 편집에 암호를 도구를 사용.
Nathan McCoy

@NathanMcCoy, 나는 그것이 위험하다는 데 동의합니다. 그러나 GUI 도구는 빈 암호를 만들 수 없습니다. 6 ~ 8 자 이상이어야합니다. 적어도 이것은 내가 사용하는 쿠분투의 경우입니다.
Raicho Nikolov

예 @NathanMcCoy, 하나는 사용할 수 chpasswd -e그보다 안전하게 할 : unix.stackexchange.com/a/472966/32558을
치로 틸리가新疆改造中心法轮功六四事件

이것은 응급 복구 사례에 적합하며 하드 드라이브를 연결하고 (말하기 위해) 몇 파일을 편집하여 시스템을 수정하십시오. 특히이 사용자를 추가하고 일시적으로 다음 OpenSSH를 돌파 어떤 로그인 및 수정에 시리얼 콘솔 사용의 sudoers에 추가하여
레이 포스

2

빈 비밀번호를 가진 사용자

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 비지 박스 초기화에서 루트 사용자 이름이나 비밀번호를 입력하지 않고 자동으로 로그인하는 방법?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.