Bunu nasıl yapacağım? Ev dizini olmayan bir kullanıcı oluşturdum ve şimdi bir tane oluşturmak istiyorum. Sadece new_user adında bir klasör değil, tüm klasörleri ve gizli dosyaları vb. ile birlikte varsayılan ev dizinini istiyorum.
Alt dizinler (Belgeler, İndirilenler, vb...), ev dizininin doğru izinlerle oluşturulması koşuluyla, kullanıcı GNOME üzerinden ilk oturum açtığında otomatik olarak oluşturulur. İşte bir örnek:
alaa@aa-lu:~$ sudo useradd testinguser alaa@aa-lu:~$ sudo passwd testinguser Yeni UNIX parolasını girin: Yeni UNIX parolasını yeniden yazın: passwd: parola başarıyla güncellendi alaa@aa-lu:~$ sudo ls -l /home Toplam 20 drwxr-xr-x 55 alaa alaa 4096 Ağu 22 22:00 alaa drwx------ 2 root root 16384 Jun 5 09:46 lost+found alaa@aa-lu:~$ sudo mkdir /home/testinguser alaa@aa-lu:~$ sudo chown testinguser:testinguser /home/testinguser alaa@aa-lu:~$ ls -l /home Toplam 24 drwxr-xr-x 55 alaa alaa 4096 Ağu 22 22:00 alaa drwx------ 2 root root 16384 Jun 5 09:46 lost+found drwxr-xr-x 2 testinguser testinguser 4096 Ağu 23 10:03 testinguser alaa@aa-lu:~$ ls -l /home/testinguser/ Toplam 0 alaa@aa-lu:~$
Kullanıcının ev dizininin doğru ayarlanıp ayarlanmadığını /etc/passwd' içindeki girdiyi kontrol ederek kontrol edebilirsiniz. Ev dizininin varsayılan olarak
/home/testinguser` olarak ayarlandığını görmelisiniz:
alaa@aa-lu:~$ grep testinguser /etc/passwd testinguser:x:1001:1001::/home/testinguser:/bin/sh
Eğer /home/testinguser
ev dizinini orada göremiyorsanız, güncellemek için sudo usermod -d /home/testinguser testinguser
komutunu çalıştırmanız gerekecektir, ancak bu komutu kullanmanıza gerek yoktur çünkü varsayılan olarak ayarlanmış olmalıdır (useradd
'in kılavuz sayfalarına göre).
Daha sonra hesabımdan çıkış yaptım ve testinguser
ile tekrar giriş yaptım ve işte otomatik olarak oluşturulan alt dizinler:
alaa@aa-lu:~$ ls -l /home/testinguser/ Toplam 36 drwxr-xr-x 2 testinguser testinguser 4096 Ağu 23 10:05 Masaüstü drwxr-xr-x 2 testinguser testinguser 4096 Ağu 23 10:05 Belgeler drwxr-xr-x 2 testinguser testinguser 4096 Ağu 23 10:05 İndirilenler drwxr-xr-x 2 testinguser testinguser 4096 Ağu 23 10:05 Müzik drwxr-xr-x 2 testinguser testinguser 4096 Ağu 23 10:07 Resimler drwxr-xr-x 2 testinguser testinguser 4096 Ağu 23 10:05 Public drwxr-xr-x 2 testinguser testinguser 4096 Ağu 23 10:05 Şablonlar drwxr-xr-x 2 testinguser testinguser 4096 Ağu 23 10:05 Videolar
etc/skel` dosyasının içeriğini kopyalamama gerek kalmadı.
Mümkünse, lütfen aşağıdaki adımları izleyerek başka bir yeni kullanıcı oluşturmayı deneyebilir misiniz? İşiniz bittiğinde, bu yeni kullanıcıyı sudo deluser testinguser && sudo rm -r /home/testinguser
ile kaldırabilirsiniz.
Tüm bunlar sizde işe yaramadıysa, o zaman bir hata olduğunu tahmin ediyorum.
**GÜNCELLEME: Çözüm bozuk ve benim için de çalışmıyor.
Kullanıcının ev dizini mevcut değilse oluşturmak istiyorsanız, useradd
komutunu -m
bayrağı ile çalıştırın. Bu /etc/skel
dizinindeki tüm dosyaları kopyalayacaktır.
useradd -m username
Sisteminiz için ayarları yapılandırmanız gerekebilir. Man sayfasına göre:
-m, --create-home
Create the user's home directory if it does not exist. The files and directories
contained in the skeleton directory (which can be defined with the -k option)
will be copied to the home directory.
By default, if this option is not specified and CREATE_HOME is not enabled, no
home directories are created.
ve ayrıca şunu da belirtir:
CONFIGURATION
The following configuration variables in /etc/login.defs change the behavior
of this tool:
CREATE_HOME (boolean)
Indicate if a home directory should be created by default for new users.
Eğer yeni kullanıcıyı adduser
komutu ile oluşturduysanız, yeni kullanıcı için bir ev dizini oluşturmanıza gerek yoktur. Aşağıdaki alt dizinlerle birlikte /home
dizininde kullanıcının adıyla adlandırılmış bir ev dizini: Masaüstü, İndirilenler, Belgeler, Müzik, Resimler, Videolar (ve diğerleri), yeni kullanıcı için otomatik olarak oluşturulacaktır.
Eğer yeni kullanıcıyı useradd
komutu ile oluşturduysanız, aşağıdaki komutları terminalde çalıştırın:
sudo -i #enter your user password when you are asked
gedit /etc/passwd
root olarak /etc/passwd
dosyasını düzenlemek için (bu en önemli adımdır). Yeni kullanıcının adının olduğu satırı bulun ve onun için varsayılan ev dizinini aşağıdaki gibi ayarlayın:
new_username:x:1001:1001::/home/new_username:/bin/sh
Bu satırda ayrıca yeni kullanıcı için gerçek bir isim ekleyebilir veya varsayılan kabuğu ayarlayabilirsiniz. Bunun gibi bir şey:
new_username:x:1001:1001:Real New Username,,,:/home/new_username:/bin/bash
Dikkatli olun, başka değişiklik yapmayın.
Dosyayı kaydettikten sonra, root hesabından çıkmadan önce aşağıdaki komutları çalıştırın:
mkdir /home/new_username #to create the directory /home/new_username
cp -r /etc/skel/. /home/new_username #to copy skeleton files to /home/new_username
chown -R new_username:new_username /home/new_username #to change the owner of /home/new_username to the new user
Tüm bunlardan sonra, yeni kullanıcı için ana klasör ilk girişten sonra otomatik olarak doldurulacaktır.
Ayrıca bakınız: https://askubuntu.com/questions/152707/how-to-make-user-home-folder-after-account-creation