다음과 같이 비밀번호없이 사용자를 만들려고합니다.
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
뭐가 문제 야?
답변
“비활성화 된 비밀번호”를 사용하여 사용자를 만들었습니다. 즉, 사용 된 비밀번호로 로그인 할 수 없습니다. 이는 빈 암호를 지정하여 얻을 수 있으며 거의 유용하지 않은 암호를 제공하지 않고도 누구나 로그인 할 수있는 사용자를 만드는 것과 다릅니다.
정상적으로 로그인하지 않은 “시스템”사용자와 같은 명령을 실행하려면 루트 계정을 통해 홉해야합니다.
su -c 'su git -c "git init"'
또는
sudo -u git git init
특정 사용자가 git
명령을 루트로 실행하지 않고 명령을 사용자 로 실행할 수있게하려면 sudo를 설정하십시오 ( visudo
루트로 실행 하고 같은 행을 추가하십시오 %gitters ALL = (git) ALL
).
답변
이 --disabled-password
옵션은 비밀번호를 설정하지 않습니다. 즉, 비밀번호가 유효하지 않지만 로그인은 여전히 가능합니다 (예 : SSH RSA 키).
비밀번호없이 사용자를 만들려면 passwd -d $username
사용자를 만든 후에 사용 하여 비밀번호를 비 웁니다. 모든 시스템에서 빈 암호를 가진 사용자가 로그인 할 수있는 것은 아닙니다.
답변
git 사용자로 시스템에 액세스하려면 sudo를 사용해야합니다.
sudo -s -u git
또는
sudo su - git
답변
빈 비밀번호로 사용자를 만듭니다.
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>
해당 답변에 언급 된 것처럼 터미널 을 설정하여 해당 기술을 적용하는 것은 그리 어렵지 않아야한다고 생각합니다 .
답변
나는 이것이 당신이 원하는 것이라고 생각합니다.
adduser --disabled-password --shell /bin/bash --gecos "User" $username
당신은 할 수있을 것입니다
su $username
/ bin / bash 또는 지정한 쉘에서 해당 사용자로 명령을 실행합니다. –gecos “User”는 주석 필드에 “User”를 입력하면 해당 정보를 입력하라는 메시지가 표시되지 않습니다. 해당 필드에 원하는 것을 넣을 수 있습니다.