chsh จะเปลี่ยนสายที่เกี่ยวข้องกับผู้ใช้ใน / etc / passwd แม้ว่าผู้ใช้จะสามารถเปลี่ยน 'บรรทัด' ของตนเองใน / etc / passwd ได้ ดังนั้นหากคุณต้องการเปลี่ยนเชลล์สำหรับผู้ใช้รายอื่นคุณต้องใช้รหัสผ่านของเขา / เธอ
ถ้าคุณต้องการที่จะทำมัน (ให้ความกังวลในการโพสต์ของ Lorenzo และความกังวลด้านความปลอดภัยที่เป็นไปได้) นี่คือวิธีที่คุณสามารถทำได้:
#visudo
สิ่งนี้ต้องการสิทธิ์รูท
สมมติว่าคุณกำลังใช้งานเป็น "อลิซ" และต้องการเปลี่ยนเชลล์ "bob's" โดยไม่มีรหัสผ่าน
เพิ่มไปยังไฟล์:
Cmnd_Alias SHELL = /usr/bin/chsh
Runas_Alias SH = Bob
alice ALL = (SH) NOPASSWD: SHELL
สิ่งนี้ทำให้มั่นใจได้ว่า 'อลิซ' สามารถทำงานบนโฮสต์ทั้งหมดในฐานะผู้ใช้ในกลุ่ม SH โดยไม่มีรหัสผ่านกลุ่มคำสั่งใน SHELL
อาจจะไกลไปหน่อยที่จะทำแบบนี้ แต่ก็เป็นไปได้
อย่าลืมอ่าน "man sudoers" ก่อนที่จะเปลี่ยนไฟล์ sudores ด้วย 'visudo' โดยเฉพาะข้อความที่เกี่ยวข้องกับความปลอดภัย!