Score:0

ทำไม sudo su ไม่ทำงานในสคริปต์ของฉัน

ธง in

ฉันต้องการเปลี่ยนความเป็นเจ้าของ การเป็นสมาชิกกลุ่ม และสิทธิ์การเข้าถึงในสคริปต์ตามลำดับคำสั่ง

บางคนต้องการการอนุญาตรูท

ฉันทำครั้งแรก ซูโด ซู ในเทอร์มินัลแล้วรันคำสั่งที่จำเป็นทั้งหมดติดต่อกัน ฉันพบว่าหลังจากนั้น ซูโด ซู คำจำกัดความของมาโครทั้งหมด abc=<...> ต้องใส่หลัง ซูโด ซูเพราะดูเหมือนว่ารูทจะไม่รู้เกี่ยวกับแมโครที่มีอยู่ในบริบทอื่น

หลังจากคำสั่งทั้งหมดของฉันทำงานตามที่คาดไว้ ฉันก็โทรหา ประวัติศาสตร์ลบหมายเลขบรรทัดและใส่กรอบส่วนที่เกี่ยวข้องเข้าไป ซูโด ซู ... ทางออก.

ฉันสามารถวางลำดับคำสั่งนี้ลงในเทอร์มินัลและมันก็ทำงานได้ดี

แต่ถ้าฉันต่อท้ายด้วยบรรทัด #!/bin/bash และจัดเก็บเป็นไฟล์และทำให้สามารถเรียกใช้งานได้ซึ่งใช้งานไม่ได้:

ฉันได้รับพร้อมท์ให้ป้อนรหัสผ่าน แต่แล้วฉันก็จบลงที่ระดับบรรทัดคำสั่งโดยที่พรอมต์ลงท้ายด้วย #ซึ่งแสดงให้ฉันเห็นว่า ซูโด ซู ได้ทำงาน แต่ลำดับคำสั่งที่เหลือของฉันไม่ทำงาน

ฉันจะบรรลุคำสั่งอื่น ๆ เพื่อดำเนินการได้อย่างไร

ในฐานะที่เป็นมือใหม่บรรทัดคำสั่ง ฉันเดาว่าฉันยังไม่เข้าใจบางสิ่งที่สำคัญ โปรดอธิบายวิธีการทำและเหตุผล

Artur Meinild avatar
vn flag
อย่าใช้ `sudo` ภายในสคริปต์ ให้รันสคริปต์ทั้งหมดในฐานะรูทแทน หากเป็น cronjob ให้เรียกใช้จาก crontab ของรูท
in flag
Artur คุณแนะนำให้ใส่ `sudo -u ` ข้างหน้าคำสั่งที่ไม่มีสิทธิพิเศษทั้งหมด และเรียกใช้สคริปต์ทั้งหมดเป็น `sudo xyz.sz`? อย่างไรก็ตาม สิ่งนี้ขัดแย้งกับคำแนะนำแรกของคุณที่ห้ามใช้ sudo ภายในสคริปต์
Artur Meinild avatar
vn flag
ฉันไม่ได้พูดว่าไม่เคย ฉันพูดว่า "อย่า" แต่ตัวอย่างที่คุณยกมาจะเป็นข้อยกเว้น และอาจเป็นไปได้ในบางกรณี ;-)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา