Hangi noktada ~ / .bashrc dosyası oluşturulur?


21

Örneğin, eğer komutu çalıştırmam gerekirse adduser test, kullanıcı için ev dizini oluşturulduktan sonra .bashrc otomatik olarak yaratılıyor testmu? Kullanıcı oluşturulduktan sonra oluşturulmadıysa, hangi koşullar altında yaratılır?

Ayrıca, bir kullanıcının giriş dizinine bir .bashrc dosyası eklersem, işletim sistemi tarafından üzerine yazılır mı?

Şimdiden teşekkürler.


2
Az önce denediysen, buraya sormaktan çok daha hızlı öğrenirsin.
Stig Hemmer

Yanıtlar:


30

Çoğu durumda, ilk kullanıcı dosyaları (dahil .bashrc) kullanıcı oluşturulduğunda oluşturulur. Bunlar adlandırılmış 'iskelet' dizinine kaydedilen dosyaların kopyalarıdır /etc/skel. İki ana komut vardır:

  • useradd back-end komutudur, doğrudan kullanıyorsanız (herhangi bir seçenek olmadan) sadece bir sistem kullanıcısı (ve grubu) oluşturulacaktır:

    $ sudo useradd new-user
    $ ls -la /home/new-user/
    ls: cannot access '/home/new-user/': No such file or directory
    • useraddBir giriş dizini oluşturur ve /etc/skelbu -m --create-homeseçenek sağlanıp sağlanmadığını bir kopyasıyla doldurur . @Jwodder bu yorum için teşekkür ederiz .

    • Bu seçenek -s --shellyeni kullanıcının oturum açma kabuğunun adını değiştirir. Yeni kullanıcının giriş kabuğu ne olursa olsun, 'iskelet' dizininin tüm içeriği /etc/skelyeni kullanıcının giriş dizinine yerleştirilir.

    • Farklı bir 'iskelet' dizini -k --create-homeseçeneği ile tanımlanabilir .

    • Bu komutun yapılandırma dosyasıdır /etc/default/useradd.

  • adduserkullanıcı dostu ve etkileşimli ön ucu useradd. Bu komut, dosyaları varsayılan olarak /etc/skelkullanıcı $HOMEdizinine kopyalar :

    $ sudo adduser new-user
    Adding user `new-user' ...
    Adding new group `new-user' (1002) ...
    Adding new user `new-user' (1002) with group `new-user' ...
    Creating home directory `/home/new-user' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    Changing the user information for new-user
    Enter the new value, or press ENTER for the default
            Full Name []: New User
            Room Number []:
            Work Phone []:
            Home Phone []:
            Other []:
    Is the information correct? [Y/n]
    
    $ ls -a /home/new-user/
    .   ..   .bash_logout   .bashrc   .config   examples.desktop   .profile   .Xdefaults
    • Bu komutun yapılandırma dosyasıdır /etc/adduser.conf.

    • Yeni kullanıcının giriş kabuğu için varsayılan değer değişken tarafından belirlenir DSHELL=. Opsiyon aracılığıyla da belirtilebilir --shell. Yeni kullanıcının giriş kabuğu ne olursa olsun, 'iskelet' dizininin tüm içeriği /etc/skelyeni kullanıcının giriş dizinine yerleştirilir.

    • SKEL=Bu dosyadaki değişken 'iskelet' kullanıcı dosyalarını içeren varsayılan dizin belirtir.

    • Bu seçenek --no-create-home, komutu adduserbir kullanıcı giriş dizini oluşturmaya zorlar , sırasıyla 'iskelet' dizininin içeriği kopyalanmaz.

    • Tek seçenek olmayan argüman ve ile çağrılırsa --systemseçeneği, adduserbir sistem kullanıcısı katacak ... Bir ev dizini normal kullanıcılar için aynı kurallar tarafından oluşturulur. Yeni sistem kullanıcısı kabuğa sahip olacak /bin/false( --shellseçeneği geçersiz kılmadıkça ) ve girişleri devre dışı bırakacaktır . İskelet yapılandırma dosyaları kopyalanmaz. ... manuel sayfadan.


Ayrıca, kullanıcı olduğu gibi herhangi bir GUI aracıyla oluşturulduğunda User Accounts, sonuç komutunkiyle aynıdır adduser.


Referanslar:


2
useraddAyrıca bir ev dizini oluşturmak ve bir kopyasını doldurmanız gerekir /etc/skeleğer -mseçeneği sağlanır.
jwodder

4
İkinci kod bloğunuz hala useraddkomutta kullanır ; o olması gerekiyordu adduser?
David Z

2
Ayrıca, Kullanıcı Hesapları faydalanıyor adduser, değil mi?
Gunnar Hjalmarsson
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.