Yeni oluşturulan kullanıcı hesabına giriş yapamıyorum


25

Hesapları yeni oluşturulmuş hesabıma değiştirmeye çalışıyorum Siyah bir ekran alıyorum ve ardından doğru şifreyi girdikten sonra ana giriş ekranına geri götürüyorum.

Daha önce var olan hesabıma giriş yaptığımda:

"System Program Problem Detected"

Details:

Executable path /usr/bin/Xorg

Package: xserver-xorg-core 2:1.11.4-0ubuntu10.1

Details: Crash
... (tons more, but no way to copy paste or save)

Su vermeye çalıştığımda

su -l penner

Alırım:

No directory, logging in with HOME=/

El ile giriş dizini oluşturdum ve bu hata gider, ancak giriş yapma şansınız hala yoktur Kullanıcı oluşturma işleminde bir şeyler ters gitti mi? Bunu nasıl düzeltebilirim?


Kullanıcı hesabını nasıl yarattınız? Bunu GUI'den mi yoksa komut satırından mı yaptınız? Komut satırından yaparsanız, adduser ve useradd öğelerinin çok farklı şeyler yaptığını bilmeniz gerekir. Ayrıca, / etc / skel 'deki dosyalar kopyalanmadı. Lütfen ev direktörünüzde ve yeni kullanıcının direktörlüğünde, neler olup bittiğini anlayabiliyor musunuz?
SuperMatt

Yanıtlar:


31

Kullanıcı hesabını birlikte oluşturduysanız, useraddbunun için her şeyi manuel olarak ayarlamanız gerekir. Bu nedenle, komut satırından kullanıcı hesapları oluştururken, bunun adduseryerine Ubuntu'da (ve Debian ve diğer Debian tabanlı sistemlerde) kullanılması önerilir . Sadece kullanıcıyı kaldırmak userdelveya deluserile yeniden oluşturmak isteyebilirsiniz adduser. Aksi takdirde...

Giriş Dizini Konumunu Düzeltme

Kullanıcı hesabını saklamak ve sorunu çözmek istiyorsanız, şunlara bakmanız gerekir:

  • kullanıcı hesabının gerçekte yapılandırıldığı giriş dizininin ismi.
  • gerçekte oluşturduğunuz dizinin adı

Bunlar tamamen aynı olmalı. Aldığınız hata mesajı size su -l penneraynı olmadığını söylüyor.

Kullanıcı hesabının gerçekte yapılandırıldığı giriş dizinini kontrol etmek için bu komutu çalıştırın ( daha fazla bilgi için man 5 passwdve bakınız man grep):

grep penner /etc/passwd

Bunun gibi bir çizgi görmelisin:

penner:x:1000:1000:Eliah Kagan,,,:/home/penner:/bin/bash

Yani, altıncı- :ayrılmış alan (beşinciden sonra :) giriş dizinini içerir. Değilse /home/penner, olması gerekir. Kullanıcı için oluşturduğunuz dizin değilse /home/penner, o da olmalıdır. İki dizin aynıysa ancak ikisi de değilse /home/penner, o zaman bu teorik olarak işe yarayabilir, ancak her ikisini de yapmalısınız /home/penner, çünkü birçok yazılım tüm rootkullanıcıların ev dizinlerinin olmadığını varsaymaktadır ./home/username

Bu komutu çalıştırarak pennergiriş dizinini değiştirebilirsiniz /home/penner:

sudo usermod -d /home/penner penner

Dizin olduğundan ve Kullanıcının Erişebildiğinden emin olmak

İsimlerin her ikisi de (veya bir kez) ise /home/penner, kullanıcının kendi giriş dizinine de erişebildiğinden emin olmalısınız. Koşmak:

ls -ld /home/penner

Buna benzeyen bir şey görmelisiniz (tarih ve saat farklı olsa da):

drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner

Yerine ise drwxr-xr-x, sizinle başlar o şey var -ziyade d, o zaman bir dosyayı yerine bir dizin oluşturduk. Dosyayı silin ve bunun yerine bir dizin oluşturun.

İlki yerine pennerbaşka bir şeyiniz varsa, kullanıcı kendi giriş dizinine sahip değilse, onu kendi dizinine dönüştürün:

sudo chown penner /home/penner

Bunun yerine drwxr-xr-xsonraki üç karakterde kısa çizgi dvarsa, kullanıcı oraya tam erişemez. Bunu şu şekilde düzeltin:

sudo chmod u+rwx /home/penner

( pennerİsterseniz, bu kadar çalıştırabilirsiniz böylece, kendi dizini sahipseniz bu komutu çalıştırabilen: sudo -u penner u+rwx /home/penner)

Diğer Kullanıcıların Battaniye Yazma Erişimi Olmamasını Sağlama

Yerine ise drwxr-xr-x, orada wyerine lar -s yanında kullanıcılar, daha sonra, son altı harflerle penneryazma erişimi olabilir pennerdizininin. Bu tehlikelidir ( ne yaptığınızı gerçekten bilmiyorsanız ve bu şekilde istemiyorsanız ve işleri ayarlamışsanız sorun olmaz). Tamir etmek için:

sudo chmod -R go-w /home/penner

Diğer Varsayılanlar

Yapmak isteyebileceğiniz başka değişiklikler de var. Ubuntu’da varsayılan olarak (yani, adduseryapmadığınız bir grafik aracıyla veya onunla bir kullanıcı hesabı oluşturursanız ):

  1. Giriş dizinleri, yalnızca kendilerine ait olan kullanıcı için değil, herkes için okuma ve yazma izinlerine sahiptir. Kullanıcılar bunu tüm giriş dizini veya içindeki herhangi bir dosya ve alt dizin için değiştirebilir. Ama bu varsayılan istiyorsun ve üçüncü ve ikinci yoksa rve xde drwxr-xr-xçalıştırın:

    sudo chmod 755 /home/penner
    

    ( pennerİsterseniz, bu kadar çalıştırabilirsiniz böylece, kendi dizini sahipseniz bu komutu çalıştırabilen: sudo -u penner chmod 755 /home/penner)

  2. Her kullanıcı, aynı kullanıcı adıyla kendi grubuna sahiptir ve bu kullanıcının birincil grubudur. Ev dizinleri bu gruba aittir. Yani saniyede anlamı var penneriçinde drwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner. Ne yaptığınızı biliyorsanız , bu varsayılanı kırmak sorun değil . Ancak farklı şeyler yapma niyetiniz yoksa, pennerbu şekilde ayarlandığından emin olmalısınız , çünkü bir kullanıcı veya kullanıcının giriş dizinindeki grup sahiplerinin bazı birincil grup kimlikleri güvenlik sorunlarına yol açabilir.

    Run groups penner. (Daha man groupsfazla bilgi için bakınız .) Bunun gibi bir şey görmelisiniz:

    penner : penner adm dialout cdrom plugdev lpadmin sambashare
    

    Eğer böyle değilse endişelenme. Yakında buna başlayacağım. Bunun yerine, sonraki kelimeye bakın :. Kullanıcının birincil grubunun adı budur. Olmasını istediğini varsayarak penner, olduğundan emin ol. Değilse değiştirin:

    sudo usermod -g penner penner
    

    Grubun pennervar olmadığını söyleyen bir hata alırsanız, bu komutu bu komutla oluşturmanız gerekir (ve sonra yukarıdaki komutu tekrar çalıştırın):

    sudo addgroup penner
    
    • Daha man addgroupfazla bilgi için bkz . (İsterseniz, groupaddgrupları oluşturmak için alternatif olarak komutu kullanabilirsiniz .)
  3. Koştuğunda benden groups pennerçok daha kısa bir grup listesi almış olabilirsin penner : penner adm dialout cdrom plugdev lpadmin sambashare. Masaüstü kullanıcıları için adm, dialout, cdrom, plugdev, lpadmin, ve sambasharemasaüstü kullanıcıları genellikle olması gereken yetenekleri sağlar. Bu nedenle, başka türlü bir nedeniniz yoksa, pennerbu gruplarda bulunmalısınız. Bunlar değil onlar farklı hazırsınız böylece Ancak birincil grupları. Diyelim pennerki bu grupların hiçbirinde yok ve pennerhepsinde olmak istiyorsanız , şu komutu çalıştırın:

    sudo usermod -a -G adm,dialout,plugdev,lpadmin,sambashare penner
    

    İlgilendiğiniz takdirde, tüm bu grupların anlamı:

    (Kaynak: Ayrıcalıklar , Ubuntu belgelerinde wiki.)

Kullanıcıyı Yönetici Yapma

pennerYönetici olmak istemiyorsanız , muhtemelen başka bir şey yapmanız gerekmez. pennerBir yönetici olup olmadığını kontrol edebilirsiniz groups penner. Hiçbiri adminveya sudolistelenmemişse, penneryönetici değildir.

pennerYönetici olmak istiyorsanız penner, bu gruplardan hangisine var olduğunu ekleyin . ( pennerİkisi de varsa ikisini de ekleyebilirsiniz .) Bu iki komutu ayrı ayrı çalıştırarak da başarabilirsiniz - biri başarılı olursa, pennerbir yönetici yaptınız :

sudo usermod -a -G admin penner
sudo usermod -a -G sudo penner
  • İki grubun nedeni, Ubuntu 12.04 LTS'den önce yöneticilerin admingrupta olmalarıydı . Ubuntu 12.04 LTS ile başlayarak, yöneticiler sudogrup içerisindedir. Ancak, 12.04 LTS sisteminiz önceki bir sürümden yükseltildiyse (ve bu durum, çıktıktan sonra 12.10, Ubuntu 11.10 veya önceki sürümlerinden yükseltilen Ubuntu sürümleri için geçerli olmalıdır), yöneticiler her ikisinin de üyesidir. sudove admin. Genel olarak, bu gruplardan biri yönetimsel yetenekler kazandırmıyorsa, sadece mevcut değildir, bu nedenle yukarıdaki iki komutu (ayrı olarak, ayrı olarak değil sudo usermod -a -G admin,sudo penner) yürütmek , genellikle pennerbir yönetici yapmanın güvenli ve etkili bir yoludur .

Teşekkürler! Adduser gibi bir şey güzel ama el ile de nasıl yapılır bilmek istiyorum. Çok kapsamlı bir cevap! Gerçekten onu takdir ederim.
penner,

sudo chmod u+a /home/pennerUbuntu 16.04 (Xenial) ile ilgili hata veriyor. Mı sudo chmod u+rw /home/penneruygun yedek?
Nickolai Leschov

@NickolaiLeschov Bunun için üzgünüm - ve hatayı işaret ettiğin için teşekkürler! Komutu düzelttim.
Eliah Kagan,

Bu sadece aptal, neden useraddsonra kaldırmıyorsun ? rasgele bozuk kod tutmak
süreli

1
@dashesy Teşekkürler - Kullanmanın useraddUbuntu'da diğer sistemlerde neden olmadığı sorunlara neden olduğunu bilmiyordum. 16.04 sistemimde, /etc/default/useradd(uncommented tek satırında olduğu gibi) SHELL=/bin/shve useradd (8) SHELL, -s/ --shellflag belirtilmemişse, ancak 16.04 sistemimde gerçekleşmeyen değerin kullanıldığını söylüyor gibi görünüyor . Aceleci bir şekilde, Ubuntu'nun useraddkırılmadığını söylemek yanlıştı . Şimdi pek emin değilim. Belki Fedora ve Debian (ve Ubuntu) arasındaki bu farkın iyi bir nedeni var ... ama insanları yanlış yönlendirmemek için yorumumu sildim.
Eliah Kagan

0

Bu çoğunlukla, kullanıcı için bir giriş dizini oluşturmadan kullanıcıyı oluşturduğunuzda gerçekleşir. Bu, kullanıcı oluştururken bu komutu kullanarak çözülebilir.

useradd -m the_username

-M bayrağı, kullanıcının giriş dizinini oluşturur. Kullanıcı oluşturduktan sonra, giriş yaparak o kullanıcı için giriş dizininin olup olmadığını kontrol edin.

ls /home

Orada listelenen kullanıcı adını görebiliyorsanız, yapılacak en son şey o kullanıcıya bir şifre atamaktır.

passwd the_username

Şimdi bu kullanıcı adı ve şifre ile giriş yapabilirsiniz.


-1

ctrl + alt + f1 ve orada giriş yapın ve çalıştırın

sudo chown -R $ USER: $ USER $ ANASAYFA

sonra ctrl + alt + f7 tuşlarına basın ve giriş yapmayı deneyin

Çalışacak

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.