chsh selalu meminta kata sandi, dan dapatkan `PAM: Kegagalan otentikasi`


16

Hari ini saya mencoba beralih ke shell lain.

Pertama saya mencoba ikan, dan biasa chsh -s fishmengganti ikan ke default. Setelah beberapa waktu saya menemukan itu tidak dapat digunakan ~/.bashrc(&& perlu diganti oleh dan).

Karena saya lebih suka menggunakan kembali ~/.bashrc, saya menemukan zshyang sepertinya lebih mudah dan mengikuti dokumentasi ini untuk beralih zsh.

Saat saya berlari sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)", tiba-tiba ia meminta saya untuk masuk Password:. Saya memasukkan kata sandi root tetapi berhasil PAM: Authentication failure.

Kemudian saya mencoba chsh -s bashdan chsh -s zsh, selalu meminta saya untuk memasukkan kata sandi dan melemparkannya PAM: Authentication failure(bukan kata sandi sistem). Saya tidak tahu ini.


Periksa apakah Anda memiliki alias atau sesuatu dengan sudo di .bashrc / .zshrc / .etcrc Anda
— Lucas Serafim

Jawaban:


30

Berkat pertanyaan ini pada Server Fault , saya mengatasi ini dengan:

Berubah /etc/pam.d/chsh:dari:

auth       required   pam_shells.so

untuk

auth       sufficient   pam_shells.so

Maka itu tidak meminta kata sandi lagi. Tapi saya pikir lebih baik mengembalikan pengaturan chsh setelah mengganti shell.


menggunakan sed: sudo sed s / diperlukan / cukup / g -i /etc/pam.d/chsh
— ospider

Sayangnya tidak berhasil. Tapi saya berkomentar keluar baris itu, mengganti shell dan menghapus komentar, lagi. Jadi petunjukmu adalah yang tepat untukku.
— Markus Zeller

4
  1. Gunakan which zshuntuk menemukan zshlokasi Anda .

    $ which zsh
    /usr/bin/zsh
    
  2. Tambahkan /usr/bin/zshke/etc/shells

  3. Periksa /etc/passwdapakah konfigurasi Anda adalah/usr/bin/zsh

  4. Lari chsh -s /usr/bin/zsh


Ini hanya berfungsi untuk pengguna normal, tetapi tidak untuk root. Apakah ini fitur keamanan?
— Timo
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.