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.