मैं PHP में एक साधारण वेब ऐप लिख रहा हूं जिसके लिए सर्वर पर निर्देशिका में लेखन पहुंच की आवश्यकता है, यदि निर्देशिका लिखने योग्य नहीं है, तो मैं निर्देशिका के मालिक को सेट करने के लिए समझाते हुए एक त्रुटि संदेश प्रदर्शित करना चाहता हूं वेबसर्वर को चलाया जा रहा है (उदाहरण के लिए www-data, कोई नहीं) लेकिन अधिकांश लोगों को यह नहीं पता है कि यह कहने में सक्षम होना अच्छा होगा कि निर्देशिका को किसने चिह्नित किया है। क्या इसे PHP से ढूंढना संभव है?क्या मुझे पता चल सकता है कि कौन सा उपयोगकर्ता वेब सर्वर को PHP में चलाया जा रहा है?
उत्तर
चेक बाहर shell_exec()
आप कुछ बैश चला सकते हैं, तो आप whoami
उपयोग कर सकते हैं या आप /proc
त्वरित और गंदा चाल का उपयोग मैं एक फ़ाइल में लिखने के लिए है में चारों ओर से प्रहार कर सकता है /tmp/
पर। यह PHP प्रक्रिया द्वारा उपयोग किए गए उपयोगकर्ता और समूह के साथ बनाया जाना चाहिए।
यह त्रुटि संदेश एक विंडोज सर्वर वातावरण में अलग हो जाता है। "कृपया सुनिश्चित करें कि वेब सर्वर निर्देशिका में लेखन पहुंच है" शायद एक बेहतर त्रुटि संदेश है।
लिनक्स/यूनिक्स पर हैं:
<?php
$temp = tmpfile();
print_r(posix_getpwuid(fileowner($temp)));
?>
<?php
echo exec('whoami');
?>
मैं इसका उपयोग कर रहा हूं लेकिन यह कुछ भी प्रिंट नहीं करता है। –
यूनिक्स प्लेटफार्मों पर, इस समाधान भी पर सुरक्षित मोड के साथ, काम कर सकते हैं, बशर्ते कि POSIX विस्तार स्थापित या में संकलित किया गया है
$user = posix_getpwuid(posix_geteuid());
echo $user['name'];
।
डॉक्स here हैं।
- 1. मुझे कैसे पता चलेगा कि कौन सा उपयोगकर्ता वर्तमान PHP स्क्रिप्ट चला रहा है?
- 2. मुझे कैसे पता चलेगा कि कौन सा नोड एक एरलांग प्रक्रिया चल रहा है?
- 3. कौन सा लॉन्चर चल रहा है?
- 4. मैं कैसे पता लगा सकता हूं कि साइबेस का कौन सा संस्करण चल रहा है
- 5. पता लगाना कि क्या SQL सर्वर चल रहा है
- 6. क्या मुझे यह पता चल सकता है कि फ़ाइल में क्या .NET डीएल बनाया गया था?
- 7. कैसे boost.asio पता चलता है कि कौन सा पोर्ट मेरा सर्वर ऐप सुन रहा है?
- 8. पता लगाएं कि कौन सा बंदरगाह Django उदाहरण चल रहा है?
- 9. मुझे कैसे पता चलेगा कि कॉच डीबी ऊपर है और चल रहा है या नहीं?
- 10. क्या Node.js टॉमकैट सर्वर के भीतर चलाया जा सकता है?
- 11. पता लगाएं कि कोई PHP स्क्रिप्ट इंटरैक्टिव रूप से चल रहा है या नहीं
- 12. कौन सा जावा हॉटस्पॉट जेआईटी कंपाइलर चल रहा है?
- 13. मैं कैसे पता लगा सकता हूं कि TinyMCE का कौन सा संस्करण चल रहा हूं?
- 14. एएसपी.Net कौन सा उपयोगकर्ता खाता आईआईएस 7 पर वेब सेवा चला रहा है?
- 15. प्रोग्रामेटिक रूप से पता लगाता है कि कौन सा SQL सर्वर प्रिंसिपल है, जो दर्पण है?
- 16. मुझे कैसे पता चलेगा कि स्ट्रीम से मुझे कौन सा छवि प्रारूप मिलता है?
- 17. क्या मास्टरपेज जानता है कि कौन सा पृष्ठ प्रदर्शित किया जा रहा है?
- 18. पता लगाएं कि सेलेरी उपलब्ध है/चल रहा है
- 19. कौन सा सबसे अच्छा कॉमेट सर्वर है?
- 20. पता लगाएं कि कौन सा खाता "लॉग ऑन एज़" पर सेट है
- 21. पता लगाएं कि कोई जावास्क्रिप्ट फ़ंक्शन चल रहा है
- 22. SQL सर्वर के varbinary डेटा प्रकार में कौन सा डेटा संग्रहीत किया जा सकता है?
- 23. मैं कैसे पता लगा सकता हूं कि विंडोज प्रोग्राम में कौन सा कंप्यूटर डोमेन नियंत्रक है?
- 24. टीएफएस 2010 एपीआई, यह निर्धारित करता है कि कौन सा निर्माण सर्वर एक बिल्ड चल रहा है।
- 25. मैं कैसे पता लगा सकता हूं कि कौन सा जेएआर एप्लीकेशन उपयोग नहीं कर रहा है?
- 26. मुझे कैसे पता चलेगा कि आईआईएस संस्करण मेरे आईएसपी संस्करण का चल रहा है?
- 27. कौन सा कन्स्ट्रक्टर देखने के लिए बुलाया जा सकता है?
- 28. कैसे पता लगाएं कि एसक्यूएल प्रश्नों को अवरुद्ध किया जा रहा है और उन्हें क्या अवरुद्ध कर रहा है?
- 29. PHP में बेहतर प्रदर्शन कौन सा है?
- 30. मुझे कैसे पता चलेगा कि बंडल में कौन सा डेटा दिया गया है?
यह http://stackoverflow.com/questions/805907/get-apache-linux-user-from-php पर एक बहुत ही समान प्रश्न है। आपको वहां भी आपका उत्तर मिल सकता है। – zombat