chsh มักจะถามรหัสผ่านและรับ `PAM: การตรวจสอบความล้มเหลว '


17

วันนี้ฉันพยายามเปลี่ยนไปใช้เชลล์ตัวอื่น

ก่อนอื่นฉันลองปลาและเคยchsh -s fishเปลี่ยนปลาเป็นค่าเริ่มต้น หลังจากเวลาผ่านไปฉันพบว่ามันไม่สามารถใช้งานได้~/.bashrc(& & จะต้องถูกแทนที่ด้วยและ)

เพราะผมชอบที่จะ reusing ~/.bashrcผมพบzshซึ่งดูเหมือนง่ายขึ้นหนึ่งและตามเอกสารฉบับนี้zshที่จะเปลี่ยนไป

ในขณะที่ผมทำงานก็มันถามฉันจะใส่sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" Password:ฉันป้อนรหัสผ่านราก PAM: Authentication failureแต่มี

จากนั้นฉันลองchsh -s bashและchsh -s zshมันมักจะถามฉันเกี่ยวกับรหัสผ่านและโยนPAM: Authentication failure(ไม่ใช่รหัสผ่านระบบ) ฉันไม่สามารถเข้าใจได้


ตรวจสอบว่าคุณมีนามแฝงหรืออะไรที่มี sudo ใน. bashrc / .zshrc / .etcrc ของคุณ
Lucas Serafim

คำตอบ:


32

ขอบคุณคำถามนี้เกี่ยวกับความผิดพลาดของเซิร์ฟเวอร์ฉันจึงแก้ไขสิ่งนี้โดย:

เปลี่ยน/etc/pam.d/chsh:จาก:

auth       required   pam_shells.so

ถึง

auth       sufficient   pam_shells.so

จากนั้นจะไม่ขอรหัสผ่านอีกต่อไป แต่ฉันคิดว่ามันดีกว่าที่จะกู้คืนการตั้งค่า chsh หลังจากเปลี่ยนเชลล์


ใช้ sed: sudo sed s / จำเป็น / เพียงพอ / g -i
/etc/pam.d/chsh

น่าเสียดายที่ไม่ได้ทำงาน แต่ฉันแสดงความคิดเห็นในบรรทัดนั้นเปลี่ยนเปลือกและลบความคิดเห็นอีกครั้ง ดังนั้นคำใบ้ของคุณจึงเหมาะกับฉัน
Markus Zeller

4
  1. ใช้which zshเพื่อค้นหาzshตำแหน่งของคุณ

    $ which zsh
    /usr/bin/zsh
    
  2. เพิ่ม/usr/bin/zshไปยัง/etc/shells

  3. ตรวจสอบ/etc/passwdว่าการกำหนดค่าของคุณคือ/usr/bin/zsh

  4. วิ่ง chsh -s /usr/bin/zsh


นี้จะทำงานเฉพาะสำหรับผู้ใช้ตามปกติ rootแต่ไม่ได้สำหรับ มันเป็นคุณสมบัติด้านความปลอดภัยหรือไม่?
Timo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.