Ini adalah pertanyaan yang bagus, tetapi mungkin lebih tepat untuk situs Linux QA.
BradleyDotNET
6
atur di / etc / passwd
resultsway
Jawaban:
415
Coba perintah linux chsh.
Perintah terperinci adalah chsh -s /bin/bash. Ini akan meminta Anda memasukkan kata sandi. Shell login default Anda /bin/bashsekarang. Anda harus keluar dan masuk kembali untuk melihat perubahan ini.
Berikut ini dikutip dari halaman manual:
Perintah chsh mengubah shell login pengguna. Ini menentukan nama perintah login awal pengguna. Pengguna normal hanya dapat mengubah shell login untuk akunnya sendiri, superuser dapat mengubah shell login untuk akun apa pun
Perintah ini akan mengubah shell login default secara permanen.
Catatan: Jika akun pengguna Anda jauh seperti pada otentikasi Kerberos (mis. Perusahaan RHEL) maka Anda tidak akan dapat menggunakannya chsh.
chsh: can only change local entries; use ypchsh instead. Maka ypchsh tidak punya -spilihan
mahmood
10
@ShaktiMalik Saya percaya file konfigurasinya /etc/passwd, tapi saya tidak mengeceknya.
Summer_More_More_Tea
30
Anda harus keluar dan masuk kembali untuk melihat perubahan ini.
Neil Traft
22
Dalam kasus saya, saya memiliki akses root tetapi tidak ingin mengacaukan konfigurasi apa pun pada host yang sebenarnya. Saya menambahkan exec /bin/bashuntuk ~/.profiledan ini memungkinkan saya untuk login langsung ke pesta tanpa membuat perubahan ke server. (Kerang default asli hanya /bin/sh)
Paul Nelson Baker
2
@BCqrstoO Terima kasih untuk ini. Tetapi bagaimana jika Anda mengetik exitbash? Apakah Anda akan logout server secara langsung atau hanya keluar dari bash dan ke sh dan yang lain exitdiperlukan untuk logout server?
Summer_More_More_Tea
148
Anda dapat mengubah file passwd secara langsung untuk pengguna tertentu atau menggunakan perintah di bawah ini
Mungkin ide yang bagus untuk dicoba which bashsebelum menjalankan perintah di atas; jarak tempuh Anda mungkin berbeda di setiap lokasi. Dalam kasus saya, ditemukan di/bin/bash
Martin Haeberli
Saya juga dapat menambahkan bahwa, chshperintah adalah bagian dari util-linuxpaket; dan chsh -s $(which bash) $USERharus menghasilkan yang sama seperti di atas.
Ada juga -lopsi: "cetak daftar kerang".
Betlista
3
itu chsh -s /bin/bash usernameuntukku
Salvatorelab
Terima kasih! Ini membantu saya ketika mencoba mengubahnya untuk pengguna yang berbeda
Tobias Feil
18
Anda harus memiliki 'kerangka' di suatu tempat di /etc, mungkin /etc/skeleton, atau periksa pengaturan default, mungkin /etc/defaultatau sesuatu. Itu adalah skrip yang mendefinisikan variabel lingkungan standar yang ditetapkan selama login.
Jika itu hanya untuk akun Anda sendiri: periksa file (tersembunyi) ~/.profiledan ~/.login. Atau hasilkan mereka, jika tidak ada. Ini juga dievaluasi oleh proses login.
Plus 1 untuk menjawab pertanyaan secara spesifik (THE Default Shell). Di Red Hat Linux, ia ditentukan dalam/etc/default/useradd
geedoubleya
@geedoubleya Bisakah Anda menentukan apa perbedaan default dan shell login?
Betlista
1
Hai @Betlista Shell default adalah shell yang digunakan untuk shell login pengguna baru ketika mereka dibuat kecuali shell tertentu disediakan sebagai argumen.
Jawaban:
Coba perintah linux
chsh
.Perintah terperinci adalah
chsh -s /bin/bash
. Ini akan meminta Anda memasukkan kata sandi. Shell login default Anda/bin/bash
sekarang. Anda harus keluar dan masuk kembali untuk melihat perubahan ini.Berikut ini dikutip dari halaman manual:
Perintah ini akan mengubah shell login default secara permanen.
Catatan: Jika akun pengguna Anda jauh seperti pada otentikasi Kerberos (mis. Perusahaan RHEL) maka Anda tidak akan dapat menggunakannya
chsh
.sumber
chsh: can only change local entries; use ypchsh instead
. Maka ypchsh tidak punya-s
pilihan/etc/passwd
, tapi saya tidak mengeceknya.exec /bin/bash
untuk~/.profile
dan ini memungkinkan saya untuk login langsung ke pesta tanpa membuat perubahan ke server. (Kerang default asli hanya/bin/sh
)exit
bash? Apakah Anda akan logout server secara langsung atau hanya keluar dari bash dan ke sh dan yang lainexit
diperlukan untuk logout server?Anda dapat mengubah file passwd secara langsung untuk pengguna tertentu atau menggunakan perintah di bawah ini
Kemudian keluar dan masuk
sumber
which bash
sebelum menjalankan perintah di atas; jarak tempuh Anda mungkin berbeda di setiap lokasi. Dalam kasus saya, ditemukan di/bin/bash
chsh
perintah adalah bagian dariutil-linux
paket; danchsh -s $(which bash) $USER
harus menghasilkan yang sama seperti di atas.-l
opsi: "cetak daftar kerang".chsh -s /bin/bash username
untukkuAnda harus memiliki 'kerangka' di suatu tempat di
/etc
, mungkin/etc/skeleton
, atau periksa pengaturan default, mungkin/etc/default
atau sesuatu. Itu adalah skrip yang mendefinisikan variabel lingkungan standar yang ditetapkan selama login.Jika itu hanya untuk akun Anda sendiri: periksa file (tersembunyi)
~/.profile
dan~/.login
. Atau hasilkan mereka, jika tidak ada. Ini juga dievaluasi oleh proses login.sumber
/etc/default/useradd