Sample Header Ad - 728x90

Execute an shell script with sudo inside from php

0 votes
1 answer
5034 views
I want to execute a command line command as root from a php file. In my case I want to view the crontab file in my php page. Running the sudo command in php is not recommended and on my raspberry pi with raspberry pi OS the php line echo (shell_exec("sudo more /var/spool/cron/crontabs/pi")); does not work. So I created a shell script: **crontab.sh** #!/bin/bash echo "Start Crontab" sudo more /var/spool/cron/crontabs/pi echo "End Crontab" and I created a php page: **crontab.php** Who am I: ".(exec("whoami")); echo "
"; echo (shell_exec("/var/www/html/cmd/crontab.sh")); ?> When I execute the crontab.sh in the command line. It seems to work. Because I see the crontab text. When I load the php page. I do not see the crontab text. I only see Get Current User: pi Who am I: www-data Start Crontab End Crontab What can I do? I had a cron that used rsync to copy the crontab -e file to a cron.txt file every hour. It worked but i do not want to view an (old) copy. edit: My problem is that the task that starts with sudo gives zero output. In the comments I got the suggestion to use sudo crontab -l. That's better than the line I used because it gives the root crontab and I just did not know of the -l solution. But the problem is still there. There is zero output.
Asked by MacQwerty (21 rep)
Apr 4, 2021, 01:43 PM
Last activity: May 8, 2025, 07:01 PM