saya ingin mengubah shell default env
dan dijalankan chsh -s /bin/zsh
sebagai pengguna root,
tapi pesan kesalahan muncul: chsh: PAM authentication failed
.
saya menemukan utas ini http://ubuntuforums.org/showthread.php?t=1702833
tapi jawabannya tidak menyelesaikan masalah saya
bantuan apa pun akan dihargai
ini adalah isi dari /etc/pam.d/chsh
#
# The PAM configuration file for the Shadow `chsh' service
#
# This will not allow a user to change their shell unless
# their current one is listed in /etc/shells. This keeps
# accounts with special shells from changing them.
auth required pam_shells.so
# This allows root to change user shell without being
# prompted for a password
auth sufficient pam_rootok.so
# The standard Unix authentication modules, used with
# NIS (man nsswitch) as well as normal /etc/passwd and
# /etc/shadow entries.
@include common-auth
@include common-account
@include common-session
ini adalah isi dari / etc / shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen
/bin/zsh
/usr/bin/zsh
Saya menemukan bahwa saya digunakan untuk menjalankan chsh -s zsh
ini akan mengubah baris pertama /etc/passwd
sebagai
root:x:0:0:root:/root:zsh
dan chsh
akan meminta kata sandi apa yang Anda coba
saya hanya mengedit /etc/passwd
file secara manual, dan semuanya baik-baik saja.
kesalahan bodoh dan terima kasih atas balasan Anda
Jawaban:
Periksa file / etc / shells Anda dan tambahkan / bin / zsh ke file jika baris ini tidak ada.
sumber
/etc/passwd
file apakah saya memasukkan format nama shell yang benar. Thx/etc/passwd
. Terima kasih @txworking!/etc/passwd
untuk akun root ...Periksa
/etc/passwd
. Dalam kasus saya, saya telah menetapkan shell yang tidak valid denganchsh
sebelumnya dan itulah yang menyebabkan masalah.Saya mengubahnya dari
zsh
shell menjadi/bin/zsh
dan yang membuat masalah hilang untuk saya.sumber
Sepertinya jalanmu salah. Untuk memeriksanya:
Jika hasilnya adalah / usr / bin / zch, ini seharusnya bisa dilakukan:
* edit untuk kesalahan ketik.
sumber
Saya menghadapi masalah yang sama. setiap kali saya mengetikkan chsh itu digunakan untuk meminta
Tapi saya menyelesaikannya dengan melakukan beberapa modifikasi pada
/etc/passwd
file tersebutcukup buka terminal root Anda dan modifikasi
/etc/passwd
file yang dapat Anda gunakan pico, nano, atau vi editor untuk pekerjaan ini saya akan pergi vikemudian cari akun pengguna. dan ubah cangkang ke cangkang yang Anda inginkan, pastikan cangkang yang diinginkan terpasang di distro linux Anda agar pengguna baru dapat melihat cangkang apa yang ada di linux, cukup ketik
itu daftar mereka di sana. Jika sama sekali Anda telah menginstal shell dan Anda tidak dapat melihatnya di
/etc/shell
Anda perlu membuat link dan path tempat shell katakanlah misalkan/bin/ksh
dalam/etc/shells
file secara manual ...misalnya Anda dalam bash dan Anda ingin mengubahnya ke ksh
cukup buka akun di
/etc/passwd
file dan di edit bidang terakhir/bin/bash
ke/bin/ksh
atau/bin/ksh93
(seperti pada Andacat /etc/shells
)cukup logout dan masuk dan Anda siap pergi ...
untuk pengguna distro lain (katakanlah) ubuntu
ketik
sudo -H gnome-terminal
(untuk mendapatkan terminal root)dan prosesnya sama seperti di atas karena Anda juga memiliki terminal root seperti pengguna kali-linux ..
sumber
Anda harus menjalankan kode Anda sebagai sudo:
Saya memiliki masalah yang sama juga, dan itu berhasil!
sumber