Parolasız bir kullanıcı nasıl yaratılır


22

Os X'te kullanıcılara şifresiz sahip olmak mümkündür. Onları dsclkendi şifresiyle incelerseniz olarak gösterilir *. Bu mysql, pgsqlvb. Gibi veritabanlarının kullanıcıları gibi sistem kullanıcıları için kullanılır . Bunun güzel tarafı, bu kullanıcıların giriş ekranında görünmemesi ve sudovb. Olarak giriş yapamazsınız .

Bazı şeyleri deneyen böyle bir kullanıcıyı sildikten sonra yeniden yaratmak istedim ama yapamadım. Boş bir şifre ile bir kullanıcı almak başardı ve şifreyi olarak ayarlayabilirsiniz *. Ancak hiçbiri, kullanıcı giriş ekranımda göründüğü gibi yukarıdaki ile aynı etkiye sahip değildi.

Böyle bir kullanıcıyı nasıl yaratırsınız?


Linux'ta, --disabled-password işaretini adduser'a iletin. Belki OS X'in komut satırı repertuarında benzer bir şey vardır?
BR

Demek istediğin; Kullanıcı parola olmadan giriş yapabilir veya parola ayarlanmadığı için giriş yapamaz mı?
Chris Huang-Leaver,

1
Bir cevabı kabul etmediğini farkettim ... çeşitli xdm listelerinden uzak durmak için bir şart, oldukça düşük bir kullanıcı kimliğine sahip olmak. Pek çok sistemde useradd, 1000'de kimlik eklemeye başlar ve giriş yöneticileri kullanıcı kimliğini bunun altında göstermez, ancak yukarıdaki her şeyi gösterir. bu sorunun cevabı olmasa da, sorunun çözümü bu olabilir. lütfen 1000'in keyfi olduğunu ve dağıtımınızda daha düşük veya daha yüksek olabileceğini unutmayın. Düzeltmek için sadece kullanıcı girişini /etc/passwddaha düşük bir kullanıcı kimliğine sahip olacak şekilde değiştirin . Şimdi benim için benzer bir soru sormak istiyorum.
xenoterracide

@ xenoterracide: Kullanıcıyı yeniden yarattığımda, eski kimliği verdim, mysql'den daha yüksek bir kimliği olan, sildiğim pgsql kullanıcısıydı, bu nedenle bu durumda herhangi bir etkisi olmadığından eminim. , ama yine de bilgi için teşekkürler.
googletorp

Yanıtlar:


6

passwd --delete <username>İle kullanıcı oluşturduktan sonra çalıştırabilirsiniz adduser. Bundan sonra, bir şifre girmeden giriş yapabileceksiniz.


4
Sanırım burada sorulanın tam tersi.
Shadur

İlk başta, bunun "sistem kullanıcısı" ndan bahseden ve "giriş ekranında" görünmeyen OP sorusunu tekrar okuyana kadar doğru (veya en iyi) cevap olduğunu düşündüm. Bu yöntem giriş ekranında görünecek ve bu yöntemi kullanarak 'sudo' yapabilirsiniz.
HidekiAI

3

/ Dev / null ve / sbin / nologin 'in ana dizini ile / etc / passwd içindeki bir kullanıcı, komutları kesmek için kullanılabilir, ancak aslında giriş yapamaz;

/ etc / passwd adresinden

tcpdump:x:104:441:added by portage for tcpdump:/dev/null:/sbin/nologin

Bunun bunun XDM giriş ekranından da kaybolmasını sağlayacağını hatırlıyorum, ancak artık XDM kullanmıyorum, bu yüzden bir tahmin :-)


Bu doğru cevabı çünkü OP, kabuk için '/ sbin / nologin' olarak ayarlayarak 'sudo' yapamayacağınız veya “giriş ekranında” gösteremediğiniz bir hesap istedi. Unutulmaması gereken bir husus, OP'nin "sistem kullanıcısı" olduğu sorusudur, ayrıca "useradd --system" ifadesinin düşük sayılarda UID oluşturmak için kullanılması gerektiğini de belirtmelidir (portage /
ebuild'in

3

Sen kullanabilirsiniz usermodbir kullanarak şifreyi devre dışı edecek olan !bir yerine *.

usermod -L <username>

Usermod'daki man sayfasından:

-L, --lock Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password.

2

Kullanarak dsclverecek

dscl . -passwd /Users/myuser ""

Bu, üstündeki cevapların çoğunun aksine ... aslında benim için çalıştı.
GroovyCakes

1

OSX hakkında emin olamıyorum, ancak FreeBSD'de şunları kullanabilirsiniz:

pw add user mymuser -g mygroup -s /nonexistent -h -

seçeneğe -iletilen değer, master.passwd'deki parola alanını ayarlamayı ve böylece oturum açmadan bir hesap oluşturmayı bildirir . Kabuğun ayarlanması kesinlikle gerekli değildir, ancak /etc/pw.conf adresinden bir kabuk kontrolünden kaçınır.-hpw*


1

passwdDosyadaki kullanıcı için şifre alanını boş bırakmak işe yarayacaktır.



-1

Linux'ta kullanıyorum:

sudo useradd -r -p \* -s /sbin/nologin -c "Comment My Daemon,,,"  -d "/var/uuu"  myuser

Bir sonraki alternatif daha fazla çapraz platform olmalıdır (eğer -rseçenek mevcut değilse):

sudo useradd -K UID_MIN=100 -K UID_MAX=499 -K GID_MIN=100 -K GID_MAX=499 -p \* -s /sbin/nologin -c "Comment My Daemon,,,"  -d "/var/uuu"  myuser

İşte:

  • / etc / shadow içindeki parola ayarlanacaktır *. Olmadan -p \*olacak!

  • kabuk olacaktır /sbin/nologin(Siz de kullanabilirsiniz /bin/false, ancak bence /binbazı sistemlere çok geç monte edilebilir). Böylece kullanıcı giriş yapamaz

  • -d kullanıcının homedir

ÖNEMLİ NOT

İşte -rbir sistem kullanıcısı yaratır:

Bu bayrak bir sistem hesabı oluşturmak için kullanılır. Yani, /etc/login.defsUID içinde UID_MINtanımlanan değerin altında olan ve parolasının süresinin dolmadığı bir kullanıcı . Useradd'nin, /etc/login.defs içindeki varsayılan ayardan bağımsız olarak, böyle bir kullanıcı için bir giriş dizini yaratmayacağını unutmayın . -mOluşturulacak sistem hesabı için bir giriş dizini istiyorsanız bu seçeneği belirtmeniz gerekir. Bu, Red Hat tarafından eklenen bir seçenektir .

Seçenek -rsisteminizde mevcut olmayabilir. Bu yüzden bir sistem kullanıcısı oluşturmak için giriş ekranınızda gösterilmez, bence -Kseçeneği kullanabilirsiniz . Gibi bir şey: -K UID_MIN=100 -K UID_MAX=499. Gibi seçeneği deneyebilirsiniz:

-K UID_MAX=$(cat /etc/login.defs | grep ^UID_MIN | awk '{print $2}')

otomatik sizi belirlemek UID_MAXama kullanmak gerekir OS X'in You üzerinde test ettik SYS_UID_MAXiçin UID_MINiçeri uncommented eğer /etc/login.defs

Aynı içindir GID_MAXve GID_MINsistem grup kimliği için. (Bkz GID_MINve uncommented ise SYS_GID_MAXde , /etc/login.defs kullanım için GID_MAX)

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.