TÜM KULLANICILAR için varsayılan kabuğu bash olarak nasıl değiştirirsiniz?


38

Bundan sonra her yeni kullanıcının varsayılan olarak kabuğu olarak bash yapmasını istiyorum.

Kendi kabuğunuzu bash olarak değiştirmek için "chsh -s / bin / bash" komutunu kullanacağınızı biliyorum, ancak gelecekteki tüm kullanıcıların kabuğunu varsayılan olarak otomatik olarak bash olarak nasıl ayarlarım?

Yanıtlar:


63

Kullanıcı Ekle

adduserVarsayılan dosyasıdır /etc/adduser.conf. DSHELLDeğişken tarafından tanımlanan varsayılan kabuk /bin/bashvarsayılandır.

useradd

Büyük olasılıkla buna ihtiyacınız yoktur çünkü useradd çok düşük seviyeli bir yardımcı programdır ve doğrudan kullanılamaz.

Eğer useradd kullanıyorsanız, /etc/default/useraddskeleton dosyasını düzenleyin (yine de bir yedekleme yapmayı unutmayın).

SHELLDeğişkeni /bin/bashyerine ayarlayın /bin/sh.

Şimdi useraddyeni bir kullanıcı eklemek için her kullanışınızda bashotomatik olarak varsayılan kabuk olur.

Zaten var olan kullanıcılar

Zaten var olan kullanıcıların kabuğunu değiştirmek istiyorsanız /etc/passwddosyayı düzenlemeniz gerekir (lütfen yedeğini aldığınızdan emin olun).

İşte sütunların bir açıklaması

  1. Kullanıcı adı
  2. isteğe bağlı şifreli şifre
  3. sayısal kullanıcı kimliği
  4. sayısal grup kimliği
  5. kullanıcı adı veya yorum alanı
  6. kullanıcı giriş dizini
  7. isteğe bağlı kullanıcı komut tercümanı

Bu sırayla iki nokta üst üste (:) bununla ayrılır.

root:x:0:0:root:/root:/bin/bash

Bu dosya hakkında daha fazla bilgi için man sayfasına bakınız man 5 passwd.


4
Başka bir kullanıcının kabuğunu değiştirmenin daha güvenli bir yolu gibi bir şey olacağını düşünüyorum sudo -u $USER chsh -s $SHELL.
Jack O'Connor

1
@ JackO'Connor bunu bir cevap olarak da göndermelisiniz.
Octavian Damiean

Bu 16.04 Ubuntu'da çalışıyor gibi görünmüyor. Düzeltmeyi bilen var mı?
Harshdeep

26

Octavianusun belirttiği gibi, varsayılanları değiştirmenin yolu kullanıcıyı yaratma şeklinize bağlıdır. Şimdilik Gnome Ayarlarım üzerinden yeni bir kullanıcı oluşturmaya çalıştım ve takip ediyor gibi gözüküyor /etc/default/useradd. Mevcut kullanıcılar için başkasının giriş kabuğunu değiştirmenin en güvenli yolu usermod'dur :

usermod -s /bin/bash $USERNAME

Kök değilseniz, bunu sudo yapmanız gerekir . Alternatif olarak, değiştirmek istediğiniz kullanıcının içine sudo yapmak ve chsh komutunu çalıştırmak yeterlidir :

sudo -u $USERNAME chsh -s /bin/bash

/etc/passwdElle düzenlemekten kaçınmak en iyisidir , çünkü oradaki bir hata her şeyi kırabilir.


1

Sunucudaki tüm kullanıcıların gerçekten (sorulan soru olduğu) bash vermesini istiyorsanız, komutu çalıştırabilirsiniz:

sudo dpkg-reconfigure dash

Ve sonra çizgi değil seçin. Bu cevapta açıklandığı gibi,

/ Bin / sh 'ı / bin / bash' a nasıl işaret edebilirim?

Bu sadece bash'ı varsayılan kabuk olarak ayarlamakla kalmaz, aynı zamanda sh ve man sayfalarını da doğru şekilde yerleştirir.

Bu yardımcı olur umarım.

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.