Articles
Gyökérkezelő győzött ' t Futtató szkript (engedély elutasítva)
On február 15, 2021 by adminSzerkesztettem a root cron lapot, hogy rendszeresen egy adott felhasználó mappájában található parancsfájlt a következő paranccsal hajthatja végre:
sudo crontab -e
Amikor a cron futtatja a parancsfájlt, ez a kimenet:
sh: 1: /home/user/Location/Of/Script: Permission denied
Úgy gondoltam, hogy a root cronnak bármire engedélye van. Nincs probléma, amikor manuálisan futtatom ezt a szkriptet rootként.
A dokumentációban olvastam, hogy további hibainformációk találhatók itt:
sudo cat /var/log/syslog
Itt találtam:
Jan 30 12:30:01 backup CRON[17702]: (CRON) info (No MTA installed, discarding output)
Ugyanakkor úgy gondolja, hogy ez valószínűleg nem kapcsolódik az engedély megtagadásához.
Tehát mit kell tennem?
Megjegyzések
Válasz
szerintem hogy a szkripted nem futtatható. Tehát a következő paranccsal készítse el:
chmod +x /home/user/Location/Of/Script
Vagy ha nem Ön a parancsfájl tulajdonosa:
sudo chmod +x /home/user/Location/Of/Script
megjegyzések
- Tehát ahhoz, hogy a cron futtassa a szkriptet, futtathatónak kell lennie, de manuálisan rootként nem kell megtenni ' nincs szüksége erre a jelzőre, igaz?
- Attól függ, hogy hogyan futtatja a szkriptet manuálisan. Ha a szkriptet a
./Scipt
vagy a/home/user/Location/Of/Script
használatával futtatja, akkor ez ' nem rendben van. Általában minden szkriptnek futtathatónak kell lennie. Lásd: A shell parancsfájl futtatása Linux alatt . - Ennek van értelme, de én tényleg ezt a szkriptet kézzel futtattam. úgy, hogy nem merültek fel jogosultsági problémák, amíg nem próbáltam megcsinálni. Köszönöm a segítséget.
/home/user/Location/Of/Script
engedélyeket? Például.la -l /home/user/Location/Of/Script
. Egyébként a normál belső használatra telepített MTA-ra van szükség, még akkor is, ha nem külsőleg küld e-mailt. ' Meglepődtem, hogy a rendszer még nincs telepítve.