เรียกใช้คำสั่งในฐานะผู้ใช้ Linux“ ระบบ” (shell = / bin / false)


29

ฉันสร้างผู้ใช้ "ระบบ" ใน Ubuntu 11.04 ( adduser --system) เพื่อใช้งาน cron บางอย่าง แต่บางครั้งฉันต้องการทดสอบสิ่งต่าง ๆ โดยใช้คำสั่งด้วยตนเองในฐานะผู้ใช้นั้น วิธีที่ง่ายที่สุดในการทำเช่นนี้คืออะไร?

suไม่ทำงานเนื่องจากผู้ใช้มี/bin/falseเป็นเชลล์ (ซึ่งใช้ได้สำหรับ cron) ฉันเปลี่ยนเชลล์เป็นด้วยตนเอง/bin/bashเพื่อทำการทดสอบแล้วเปลี่ยนกลับอีกครั้ง แต่ฉันสงสัยว่ามีวิธีที่ง่ายกว่านี้ไหม

คำตอบ:


41

ฉันใช้su - targetuser -s /bin/bashจากรูตเชลล์

สำหรับการใช้คำสั่งโดยตรง-c:

su - targetuser -s /bin/bash -c "/bin/echo hello world" 

ได้ผลดีขอบคุณ! ฉันพลาดตัวเลือก -s ได้อย่างไร
EMP

3
คุณยังสามารถตรึงตัวเลือก -c "your_command_here" เพื่อส่งคำสั่งที่คุณต้องการเรียกใช้แทนที่จะรอเชลล์แล้วพิมพ์ที่พรอมต์ใหม่
dmourati

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