PHP కి పరిష్కారం Linux లో exec ఆదేశాన్ని అమలు చేయడానికి అనుమతి లేదు

సంబంధిత అధికారిక సూచనలు

PHP exec Linux sudoers file Sudo Commands

ఫాస్ట్‌కి మోడ్‌లో నడుస్తున్నప్పుడు మార్పులు

PHP ఫాస్ట్‌కి మోడ్‌లో నడుస్తున్నప్పుడు, దాని అనుమతులు దాని హోస్ట్ ప్రోగ్రామ్ నుండి వారసత్వంగా పొందుతాయి. మేము వివరించడానికి అపాచీని ఉదాహరణగా తీసుకుంటాము. మొదట, అపాచీ నడుస్తున్న ఖాతాను మనం కనుగొని, ఆపై / etc / sudoers ఫైల్‌ను సవరించడానికి vi లేదా vim ని ఉపయోగించాలి, మరియు కింది సూచన ఉదాహరణను ఫైల్‌కు జోడించండి. కింది కంటెంట్‌లో, మొదట పిఎస్ కమాండ్‌ను ఉపయోగించి అపాచీ ప్రాసెస్ httpd ను కనుగొనండి, తిరిగి వచ్చిన ఫలితం యొక్క ఎడమ వైపున ఉన్న ఖాతా సమాచారాన్ని చూడండి, ఆపై అపాచీ ఖాతాకు అధికారాన్ని జోడించడానికి సుడోర్స్ ఫైల్‌ను సవరించండి.

            ps aux | grep httpd
vim /etc/sudoers
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
apache ALL=(ALL) NOPASSWD:ALL
        

Php-fpm మోడ్‌లో నడుస్తున్నప్పుడు మార్పులు

Php-fpm మోడ్‌లో నడుస్తున్నప్పుడు, ఇది ప్రత్యేక ప్రక్రియగా నడుస్తుంది. కాబట్టి మేము మొదట దాని నడుస్తున్న ఖాతాను కనుగొని, ఆపై పైన పేర్కొన్న విధంగా అధికార కార్యకలాపాలను చేస్తాము.

            ps aux | grep php-fpm
vim /etc/sudoers
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
www ALL=(ALL) NOPASSWD:ALL
        

మార్పులు అమలులోకి వస్తాయని ధృవీకరించండి

పై కార్యకలాపాల తరువాత, మేము అధికారాన్ని సవరించాము, కానీ ఇది ఇంకా అమలులోకి రాలేదు. మా సవరణ అమలులోకి రావడానికి మేము సేవను పున art ప్రారంభించాలి. మా వాస్తవ పరిస్థితి ప్రకారం, అపాచీ లేదా php-fpm సేవను పున art ప్రారంభించండి. తిరిగి వచ్చిన ఫలితాన్ని చూడటానికి exec ఆదేశాన్ని అమలు చేయండి. తిరిగి వచ్చిన ఫలితం సాధారణంగా పొందబడితే, అది విజయవంతమవుతుంది.

            exec('sudo dmidecode -s system-serial-number', $result);
var_dump($result);