สคริปต์เพื่อ su ด้วยรหัสผ่านในสคริปต์โดยไม่ต้องรูท


8

ฉันได้เขียนสคริปต์กระบวนการที่เกี่ยวข้องกับการอัพเดตลิงก์สัญลักษณ์บนไฟล์ที่อยู่ในเครื่องที่แตกต่างกัน 3 เครื่อง ในเครื่องเหล่านั้นมีผู้ใช้ 4 คนแต่ละคนแต่ละคนต้องมีลิงก์เหล่านี้ที่อัปเดต

การใช้ su มีวิธีส่งอาร์กิวเมนต์รหัสผ่านไปยังคำสั่งในบรรทัดเดียวโดยไม่ต้องเรียกใช้ sudo เนื่องจากผู้ใช้จะไม่มีสิทธิ์ของผู้ดูแลระบบหรือไม่

โซลูชันทางเลือกเดียวของฉัน ณ จุดนี้คือการไปรอบ ๆ อย่างไรก็ตามฉันต้องการที่จะทำเช่นนี้ได้โดยไม่ต้องเข้ารหัสในโฮสต์ / ips

คำตอบ:


3

คุณสามารถไพพ์รหัสผ่านเพื่อ su ดังนี้:

echo pa$$w0rd | su -c whoami user_1

1
รับข้อผิดพลาด "มาตรฐานในต้องเป็น tty"
Triplell89

คุณใช้ ssh อยู่หรือเปล่า? ลองใช้ตัวเลือก -t เพื่อ ssh
gogators

@KevinVW ฉันไม่เห็นว่า -t เป็นตัวเลือกใน su
maestromani

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