비밀번호없이 사용자 만들기


66

다음과 같이 비밀번호없이 사용자를 만들려고합니다.

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos ‘User for managing of git version control’ \
   --group \
   --disabled-password \
   --home /home/git \
   git

잘 만들어졌습니다. 그러나 git 사용자로 로그인하려고하면 비밀번호를 입력하게됩니다.

su git
Password:...

비워두면 오류가 발생합니다.

su: Authentication failed

뭐가 문제 야?


1
잘못된 것이 없습니다. 인증이 예상대로 실패했습니다. "비밀번호가없고 로그인 할 수 없습니다"라는 오류 메시지가 표시되지 않습니다.
scai

그러나 git 사용자 아래에 .ssh 폴더를 만들어야합니다. 어떻게해야합니까?
Erik

1
루트로 작성하고 올바른 권한을 설정하거나 su git비밀번호를 제공 할 필요가없는 루트로 실행하십시오 .
scai

4
및를 사용 chmod하여 chown.
scai

1
주제를 벗어 났지만 "사용자"가 아닌 "사용자"입니다. writersdigest.com/online-editor/…
David Baucum

답변:


31

“비활성화 된 비밀번호”를 사용하여 사용자를 만들었습니다. 즉, 사용 된 비밀번호로 로그인 할 수 없습니다. 이는 빈 암호를 지정하여 얻을 수 있으며 거의 ​​유용하지 않은 암호를 제공하지 않고도 누구나 로그인 할 수있는 사용자를 만드는 것과 다릅니다.

정상적으로 로그인하지 않은 "시스템"사용자와 같은 명령을 실행하려면 루트 계정을 통해 홉해야합니다.

su -c 'su git -c "git init"'

또는

sudo -u git git init

특정 사용자가 git명령을 루트로 실행하지 않고 명령을 사용자 로 실행할 수있게하려면 sudo를 설정하십시오 ( visudo루트로 실행 하고 같은 행을 추가하십시오 %gitters ALL = (git) ALL).


@JulienRicard Er, 예, 그리고? “비밀번호가없는 사용자”를 이해하는 방법에는 여러 가지가 있으며 질문에 제공된 사용 사례에 대해 답변합니다. 예를 들어, 게스트 사용자 작성에 대한 질문은 다른 질문입니다.
Gilles

41

--disabled-password옵션은 비밀번호를 설정하지 않습니다. 즉, 비밀번호가 유효하지 않지만 로그인은 여전히 ​​가능합니다 (예 : SSH RSA 키).

비밀번호없이 사용자를 만들려면 passwd -d $username사용자를 만든 후에 사용 하여 비밀번호를 비 웁니다. 모든 시스템에서 빈 암호를 가진 사용자가 로그인 할 수있는 것은 아닙니다.


3
이것은 버전 16 우분투에서 작동하지 않는 것 같습니다
Daniel Tate


9

git 사용자로 시스템에 액세스하려면 sudo를 사용해야합니다.

sudo -s -u git

또는

sudo su - git

4

빈 비밀번호로 사용자를 만듭니다.

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에서 테스트되었습니다.

터미널 자동 로그인 getty -a

적어도 터미널에서는 누군가 비밀번호를 입력 할 때마다 비밀번호를 입력하지 않아도되도록 비밀번호없이 사용자를 만들 필요는 없습니다.

나는 수정하여 비지 박스에이 작업을 수행 할 수 있었다 inittab: 어떻게 초기화하기 Buildroot 비지 박스에서 루트 사용자 이름이나 비밀번호를 입력하지 않고 자동으로 로그인하는 방법?

따라서 Ubuntu 18.04의 systemd init 시스템 스크립트를 수정하여 getty -a <user>해당 답변에 언급 된 것처럼 터미널 을 설정하여 해당 기술을 적용하는 것은 그리 어렵지 않아야한다고 생각합니다 .


2

나는 이것이 당신이 원하는 것이라고 생각합니다.

adduser --disabled-password --shell /bin/bash --gecos "User" $username

당신은 할 수있을 것입니다

su $username

/ bin / bash 또는 지정한 쉘에서 해당 사용자로 명령을 실행합니다. --gecos "User"는 주석 필드에 "User"를 입력하면 해당 정보를 입력하라는 메시지가 표시되지 않습니다. 해당 필드에 원하는 것을 넣을 수 있습니다.

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