ដំណោះស្រាយចំពោះ PHP ដែលគ្មានការអនុញ្ញាតអោយប្រតិបត្តិពាក្យបញ្ជាប្រតិបត្តិនៅលើលីនុច

ឯកសារយោងផ្លូវការពាក់ព័ន្ធ

PHP exec Linux sudoers file Sudo Commands

ការផ្លាស់ប្តូរនៅពេលដំណើរការនៅក្នុងរបៀប fastcgi

នៅពេលដែលកម្មវិធី PHP កំពុងដំណើរការនៅក្នុងរបៀប fastcgi សិទ្ធិរបស់វាត្រូវបានទទួលមរតកពីកម្មវិធីម៉ាស៊ីនរបស់វា។ យើងយក apache ធ្វើជាឧទាហរណ៍ដើម្បីពន្យល់។ ដំបូងយើងត្រូវរកគណនីដែល apache កំពុងដំណើរការហើយបន្ទាប់មកប្រើ vi ឬ vim ដើម្បីកែសម្រួលឯកសារ / etc / sudoers និងបន្ថែមឧទាហរណ៍យោងខាងក្រោមទៅឯកសារ។ នៅក្នុងមាតិកាខាងក្រោមដំបូងប្រើពាក្យបញ្ជា ps ដើម្បីរកដំណើរការ apache ដំណើរការ http មើលព័ត៌មានគណនីនៅផ្នែកខាងឆ្វេងនៃលទ្ធផលដែលត្រឡប់មកវិញហើយបន្ទាប់មកកែសម្រួលឯកសារ sudoers ដើម្បីបន្ថែមការអនុញ្ញាតឱ្យគណនី apache ។

            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
        

ផ្ទៀងផ្ទាត់ថាការផ្លាស់ប្តូរមានប្រសិទ្ធិភាព

បន្ទាប់ពីប្រតិបត្តិការខាងលើយើងបានកែប្រែការអនុញ្ញាតប៉ុន្តែវាមិនទាន់មានប្រសិទ្ធិភាពនៅឡើយទេយើងត្រូវចាប់ផ្តើមសេវាកម្មឡើងវិញដើម្បីឱ្យការកែប្រែរបស់យើងមានប្រសិទ្ធភាព។ យោងទៅតាមស្ថានភាពជាក់ស្តែងរបស់យើងសូមចាប់ផ្តើមសេវាកម្ម apache ឬ php-fpm ឡើងវិញ។ បន្ទាប់មកប្រតិបត្តិពាក្យបញ្ជាប្រតិបត្តិដើម្បីមើលលទ្ធផលដែលបានត្រឡប់មកវិញប្រសិនបើលទ្ធផលដែលទទួលបានមកវិញជាធម្មតាវាទទួលបានជោគជ័យ។

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