chsh luôn hỏi mật khẩu và nhận `PAM: Lỗi xác thực`


15

Hôm nay tôi đã cố gắng chuyển sang một vỏ khác.

Đầu tiên tôi đã thử cá, và sử dụng chsh -s fishđể thay đổi cá thành mặc định. Sau một thời gian tôi thấy nó không thể sử dụng ~/.bashrc(&& cần được thay thế bởi và).

Bởi vì tôi thích sử dụng lại ~/.bashrc, tôi thấy zshcái nào có vẻ dễ hơn và làm theo tài liệu này để chuyển sang zsh.

Trong khi tôi đang chạy sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"thì đột nhiên nó yêu cầu tôi vào Password:. Tôi đã nhập mật khẩu root nhưng có PAM: Authentication failure.

Sau đó, tôi đã thử chsh -s bashchsh -s zshnó luôn hỏi tôi mật khẩu và ném PAM: Authentication failure(không phải mật khẩu hệ thống). Tôi không thể tìm ra điều này.


Kiểm tra xem bạn có bí danh hoặc thứ gì đó có sudo trong .bashrc / .zshrc / .etcrc
Lucas Serafim

Câu trả lời:


29

Nhờ câu hỏi này trên Server Fault , tôi đã giải quyết vấn đề này bằng cách:

Thay đổi /etc/pam.d/chsh:từ:

auth       required   pam_shells.so

đến

auth       sufficient   pam_shells.so

Sau đó, nó không yêu cầu mật khẩu nữa. Nhưng tôi nghĩ tốt hơn là khôi phục cài đặt chsh sau khi chuyển đổi vỏ.


sử dụng sed: sudo sed s / required /
enough

Không may làm việc. Nhưng tôi đã nhận xét dòng đó, thay đổi vỏ và xóa nhận xét, một lần nữa. Vì vậy, gợi ý của bạn là một trong những phù hợp với tôi.
Markus Zeller

3
  1. Sử dụng which zshđể tìm zshvị trí của bạn .

    $ which zsh
    /usr/bin/zsh
    
  2. Thêm /usr/bin/zshvào/etc/shells

  3. Kiểm tra /etc/passwdxem cấu hình của bạn là/usr/bin/zsh

  4. Chạy chsh -s /usr/bin/zsh


Điều này chỉ hoạt động cho người dùng bình thường, nhưng không phải cho root. Nó có phải là một tính năng bảo mật?
Timo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.