Score:0

cron/php วิธีเรียกใช้คำสั่งในฐานะผู้ใช้ที่ไม่ใช่รูท

ธง in

ฉันต้องเรียกใช้คำสั่ง (เพียงคำสั่งเดียว) ในฐานะผู้ใช้ที่ไม่ใช่รูทจาก cron

ลองสองเวอร์ชันแล้วทั้งสองล้มเหลว

ครอน:

* * * * * php script.php

script.php:

ผู้บริหาร ("ใคร"); // ส่งคืน 'รูท'
// รุ่น 1
ผู้บริหาร ("runuser -u www-data -- ls"); // ข้อผิดพลาด -> sh: 1: runuser: ไม่พบ
// รุ่น 2
ผู้บริหาร ("su www-data -c 'ls'"); // ข้อผิดพลาด -> บัญชีนี้ไม่สามารถใช้งานได้ในขณะนี้
Score:1
ธง jp

อย่าใช้ ราก crontab ใช้ crontab สำหรับ www-ข้อมูล ผู้ใช้:

crontab -e -u www-ข้อมูล

หรือใช้ crontab ระบบใน /etc/cron.d/ และระบุผู้ใช้ www-ข้อมูล.

* * * * * www-ข้อมูล php script.php
holden321 avatar
in flag
ฉันต้องการเรียกใช้ในฐานะรูท ฉันต้องการเรียกใช้เพียงคำสั่งเดียวที่ไม่ใช่รูทเพราะมันเป็นโปรแกรมที่ไม่ทำงานภายใต้รูท คำสั่ง ls เป็นเพียงตัวอย่างเท่านั้น
jp flag
คำถามของคุณระบุต่อไปนี้ "ฉันต้องเรียกใช้คำสั่ง (เพียงคำสั่งเดียว) ในฐานะผู้ใช้ที่ไม่ใช่รูทจาก cron"
in flag
เรียกใช้สคริปต์ที่ไม่ใช่รูทและรันคำสั่งที่ต้องใช้รูทผ่าน sudo อย่างอื่นล้วนมีความเสี่ยงด้านความปลอดภัย
Phill  W. avatar
cn flag
@holden321: คุณสามารถมี crontab สำหรับผู้ใช้แต่ละรายในเครื่องของคุณ และ crontab แต่ละอันจะทำงานแยกจากกัน จุดประสงค์ของ cron คือเพื่อเริ่มกระบวนการเป็นระยะๆ ไม่มี "การพึ่งพา" หรือ "การจัดลำดับ" ระหว่างรายการ crontab แต่ละรายการ - สิ่งเหล่านี้จะถูกเรียกใช้เมื่อเกณฑ์เวลาบอกให้ทำเช่นนั้น - ไม่มีเหตุผล/ ที่จะเริ่มกระบวนการภายใต้บัญชีอื่น

โพสต์คำตอบ

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