Ana sayfa oluşturulmuyor

71

Ubuntu'da sistem yönetimini anlamaya çalışıyorum. Yani, örnek olarak

kullanarak kukla bir kullanıcı oluşturuyorum.
sudo useradd -d /home/linda linda
Parola oluşturmak için

ve passwd . % Co_de%

kullanarak bir giriş yapıldığını kontrol ediyorum
linda:x:1004:1004::/home/linda:/bin/sh

Ancak, cat /etc/passwd 'ı aldığımda,

No directory, logging in with HOME=/

ve gerçekten, hiçbir ev dizini oluşturulmadı. Neyi özlüyorum?

teşekkürler.

    
sordu tchakravarty 10.11.2013 11:48

10 cevap

78

man useradd durumu:

useradd is a low level utility for adding users. On Debian,
administrators should usually use adduser(8) instead.

low level utility

not alın

Bir kullanıcı eklemek için, bunun yerine adduser kullanın. Bu daha üst düzey bir yardımcı program.

Ayrıca, -d seçeneğine bakarak:

   -d, --home HOME_DIR
       The new user will be created using HOME_DIR as the value for the
       user's login directory. The default is to append the LOGIN name to
       BASE_DIR and use that as the login directory name. The directory
       HOME_DIR does not have to exist but will not be created if it is
       missing.

The directory will not be created if it is missing.

Genellikle useradd 'den uzak tutun, bunun yerine adduser kullanın.

    
verilen cevap gniourf_gniourf 10.11.2013 12:03
28

Bunu basitçe ev dizinini oluşturarak düzeltebilirsiniz.

mkdir /home/linda
chown linda:linda /home/linda

Tekrar giriş yapmayı deneyin ve bu işe yaramalı.

    
verilen cevap OmPS 10.11.2013 12:10
12

man useradd ile, -d /home/linda seçeneği, bu eksikse /home/linda dizinini oluşturmaz. Yani, bunu manuel olarak oluşturmanız gerekir. Bunu yapmak için, aşağıdaki komutları terminalde çalıştırın:

sudo -i                            #to get root privileges
mkdir /home/linda                  #to create the directory /home/linda
cp -rT /etc/skel /home/linda         #to populate /home/linda with default files and folders
chown -R linda:linda /home/linda   #to change the owner of /home/linda to user linda
Ayrıca bkz: Hesaptan sonra kullanıcı giriş klasörü nasıl yapılır? yaratma?

    
verilen cevap Radu Rădeanu 10.11.2013 13:44
6

Varsayılanları değiştirmek isterseniz /etc/defaults/useradd 'a bakın. Kullanım:

useradd -m -d /home/joe -s /bin/bash .

    
verilen cevap beanhead 10.01.2015 17:32
4

Ayrıca, ilk girişte kullanıcının giriş dizininin oluşturulabilmesi için /etc/pam.d/common-session değerini de değiştirebilirsiniz. Aşağıdaki satırı bu dosyaya ekleyin.

...
session required pam_mkhomedir.so

Bu, özellikle sisteminizin, kullanıcıların makinenize harici olarak yönetildiği bir ağdaysa, örneğin LDAP ile yararlıdır.

    
verilen cevap KevinC 13.11.2013 21:10
3

Aşağıdaki girişi /etc/login.defs 'ye ekleyin ve kaydedin:

CREATE_HOME yes

Şimdi, kullanıcı hesapları oluşturmayı deneyin. Ana dizini oluşturacak.

    
verilen cevap kavin 08.06.2015 08:43
3

-m yerine -d kullanın, böylece dizin sizin için oluşturulacaktır:

sudo useradd -m linda

Ayrıca, linda normal bir kullanıcı ise, /bin/bash değerini shell olarak kullanmasını isteyebilirsiniz:

sudo useradd -m linda -s /bin/bash

    
verilen cevap p1100i 21.12.2016 12:13
1

adduser değerini kullanın.

DESCRIPTION

 adduser  and  addgroup  add users and groups to the system according to
   command    line    options    and    configuration    information    in
   /etc/adduser.conf.   They  are  friendlier  front ends to the low level
   tools like useradd, groupadd and usermod programs, by default  choosing
   Debian  policy conformant UID and GID values, creating a home directory
   with skeletal configuration, running a custom script,  and  other  fea‐
   tures.  adduser and addgroup can be run in one of five modes:

useradd tüm seçenekleri kendiniz eklemelisiniz. İzinleri ve diğer bazı şeyleri içerir.% Co_de% bunu varsayılan değerler temelinde yapar (ve aynı zamanda ev dizinini kendi başına ekler).

Eğer adduser kullanmanız gerekiyorsa muhtemelen -d seçeneğini -d seçeneğiyle birlikte kullanmalısınız!

    
verilen cevap Rinzwind 10.11.2013 12:05
0

linda'yı kullanıcı olarak eklemeden önce /home/linda yoksa, --create-home değerini de eklemeniz gerekir.

sudo useradd --create-home linda
    
verilen cevap Abel Tom 17.09.2016 08:21
0

Oluşturulan ana dizine sahip olmamanızın en olası nedeni, CREATE_HOME yes 'si içinde /etc/login.defs değerine sahip olmadığınızdır.

Bunu, @OmPS veya @Radu Rădeanu'nun önerdiği şeyleri uygulayarak düzeltebilirsiniz.

Ancak, aşağıdaki komutlardan birini kullanarak gelecekte bu sorunun üstesinden gelmenin birçok yolu:

  • sudo adduser linda 'nin sonucu

    Adding user 'linda'
    Adding new group 'linda' (1001) ...
    Adding new user 'linda' (1001) with group 'linda' ...
    Creating home directory '/home/linda' ...
    Copying files from '/etc/skel' ...
    ****Password confirmation****
    ****Name prompt****
    

    Eklenti varsayılanları /etc/adduser.conf 'den seçilirse --home seçeneği belirtilmemiş. Ayrıca, /etc/skel içeriğini kopyaladığını unutmayın.

  • adduser'ı --home

    ile kullan
    sudo adduser --home /home/linda
    

Kullanıcılar isterse bunu istememeniz dışında, önceki seçenekle aynı giriş dizini, atadığınız kullanıcı adından farklı.

  • Temel dizini useradd komutuna belirtin:

    sudo useradd -b /home
    
  • login.defs kullan: /etc/login.defs 'yi değiştir ve sudo useradd yapmadan önce aşağıdaki satırı ekle:

    CREATE_HOME   yes
    

Not: man login.defs yaparsanız, şu anda diyor

Gölge şifre paketi tarafından sağlanan işlevlerin çoğu artık PAM tarafından ele alınmaktadır. Bu nedenle, /etc/login.defs artık passwd (1) tarafından kullanılmıyor veya login (1) ve su (1) tarafından daha az kullanılıyor. Lütfen bunun yerine ilgili PAM yapılandırma dosyalarına bakın.

  • pam_mkhomedir PAM modülünü kullan: man pam_mkhomedir sayfasından, aşağıdaki satırı /etc/pam.d/login öğesine ekleyin:

    session  required  pam_mkhomedir.so skel=/etc/skel
    
verilen cevap randominstanceOfLivingThing 17.12.2017 19:51

Etiketlerdeki diğer soruları oku