Parola olmadan bir kullanıcı oluşturma


66

Bu gibi şifre olmadan kullanıcı oluşturmaya çalışıyorum:

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

İyi yaratıldı. Ancak git kullanıcısı altında giriş yapmaya çalıştığımda şifreyi giriyorum:

su git
Password:...

Boş bıraktığımda hata alıyorum:

su: Authentication failed

Sorun nedir?


1
Hiçbir şey yanlış değil, kimlik doğrulama beklendiği gibi başarısız oldu. "Parola yok, giriş yapamazsınız" hata mesajını almayacaksınız.
scai

Ancak git kullanıcısının altında .ssh klasörü oluşturmam gerekiyor, bunu nasıl yapmalıyım?
Erik

1
Ya kök olarak oluşturun ve doğru izinleri ayarlayın ya da su gitparola sağlamak zorunda olmadığınız bir kök olarak çalıştırın .
scai

4
Kullanarak chmodve chown.
scai

1
Konu dışı, ama "kullanıcı" değil "kullanıcı". writersdigest.com/online-editor/…
David Baucum

Yanıtlar:


31

Bir "devre dışı bırakılmış şifre" ile bir kullanıcı yarattınız, bu, kullanıldığı şekliyle oturum açmanıza izin verecek hiçbir şifre olmadığı anlamına gelir. Bu, boş bir parola belirlenerek elde edilen ve çok nadiren kullanılabilecek bir parola sağlamadan herkesin giriş yapabileceği bir kullanıcı oluşturmaktan farklıdır.

Normal olarak giriş yapmayan “sistem” kullanıcıları gibi komutları çalıştırmak için, kök hesap üzerinden atlamanız gerekir:

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

veya

sudo -u git git init

Bazı kullanıcıların gitkomutları root olarak çalıştırmalarına izin vermeden kullanıcı olarak çalıştırmalarını istiyorsanız , sudo ( visudoroot olarak çalıştır ve benzeri bir satır ekle %gitters ALL = (git) ALL) ayarını yapın .


@JulienRicard Er, evet ve? “Parolasız kullanıcı” kavramının anlaşılmasının birkaç yolu var ve ben soruda verilen kullanım durumuna cevap veriyorum. Mesela misafir kullanıcı yaratma ile ilgili bir soru farklı bir soru olacaktır.
Gilles,

41

Bu --disabled-passwordseçenek bir şifre belirlemeyecektir, yani şifre yasal değildir, ancak giriş hala mümkündür (örneğin SSH RSA tuşları ile).

Şifresiz bir kullanıcı oluşturmak için passwd -d $username, kullanıcı oluşturulduktan sonra şifreyi boşaltmak için kullanın. Tüm sistemlerin boş şifre olan kullanıcıların oturum açmasına izin vermediğini unutmayın.


3
Bu sürüm 16 ubuntu'da çalışmıyor gibi görünüyor
Daniel Tate,

@DanielTate ile çalışmak biraz tür: unix.stackexchange.com/a/472968/32558
Ciro Santilli

9

Git kullanıcısı altındaki sisteme erişmek istiyorsanız sudo kullanmalısınız:

sudo -s -u git

veya

sudo su - git

4

Boş şifre ile bir kullanıcı oluştur

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

Şifre istemi hala maalesef gösteriliyor.

Ancak sadece bir şey yazmadan girmek isabet ve kullanıcı olarak giriş yapar test-user-0.

-eBayraklar söyler chpasswdşifre zaten şifrelendiğini ve U6aMy0wojrahoboş dize karmasıdır.

Ubuntu 18.04'te test edilmiştir.

Terminal otolog ile getty -a

En azından terminalde, birisinin her seferinde şifrelerini yazmaması için şifresiz bir kullanıcı oluşturmanız gerekmez.

Ben değiştirerek BusyBox bunu yapmak başardı inittab: Nasıl init Buildroot BusyBox kök adı veya şifre yazmadan otomatik giriş?

Bu yüzden, Ubuntu 18.04'ün systemd init sistem komut dosyalarını değiştirerek bu tekniği uyarlamanın çok zor olmayacağına inanıyorum getty -a <user>, ancak bu cevabı kendim yapmayı denemedim.


2

Sanırım istediğin bu:

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

Yapabileceksin

su $username

Komutları bu kullanıcı olarak çalıştırmak için, / bin / bash veya belirttiğiniz herhangi bir kabuk. --gecos "Kullanıcı" sadece yorum alanına "Kullanıcı" yazdı, bu yüzden sizden bu bilgiler istenmedi. İstediğin şeyi o alana koyabilirsin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.