selinux PHP / Roundcube को स्थानीय SMTP या IMAP पोर्ट से कनेक्ट करने से रोक रहा है


0

संपादित करें : मैंने निर्धारित किया है कि कारण सेलेनक्स है। setenforce 0सब कुछ काम करने के साथ प्रवर्तन को अक्षम करने के बाद । तो नया सवाल यह है कि सेलिनक्स के साथ क्या हो रहा है? मेरे पास केवल डिफ़ॉल्ट CSOS 7 नीतियां हैं।

मैंने CentOS 7 पर RoundCube मेल कॉन्फ़िगर किया है

<?php
  $config['db_dsnw'] = 'mysql://roundcube:redacted@localhost/webmail';
  $config['default_host'] = 'localhost';
  $config['default_port'] = 993;
  $config['smtp_server'] = 'localhost';
  $config['smtp_port'] = 587;
  $config['smtp_user'] = '%u';
  $config['smtp_pass'] = '%p';
  $config['support_url'] = '';
  $config['des_key'] = 'redacted';
  $config['plugins'] = array('archive', 'attachment_reminder', 'autologon', 'emoticons', 'filesystem_attachments', 'help', 'hide_blockquote', 'managesieve', 'markasjunk', 'newmail_notifier', 'password', 'userinfo', 'vcard_attachments', 'zipdownload');
  $config['language'] = 'en_US';
  $config['spellcheck_engine'] = 'pspell';
  $config['htmleditor'] = 2;
  $config['draft_autosave'] = 60;
  $config['preview_pane'] = true;

और एसएमपीटी का परीक्षण करते समय, मुझे त्रुटि मिलती है:

Trying to send email...
SMTP send:  NOT OK(Connection failed: Failed to connect socket: Permission denied)

और IMAP के साथ:

Connecting to localhost...
IMAP connect:  NOT OK(Login failed for user from my.ip.ad.dr Could not connect to localhost:993: Permission denied)

लेकिन ... बंदरगाह ठीक हैं। वे खुले हैं। मैंने इसे सत्यापित किया है:

$ openssl s_client -connect 127.0.0.1:993 -crlf
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
...
$ openssl s_client -connect 127.0.0.1:587 -starttls smtp
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
...
$ openssl s_client -connect [::1]:993 -crlf
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
...
$ openssl s_client -connect [::1]:587 -starttls smtp
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
...

iptablesस्थापित नहीं है, firewalldइसके स्थान पर उपयोग किया जाता है।

मैंने firewalldपरीक्षण के लिए नीचे ले लिया है ।

किसी भी विचार यहाँ क्या हो रहा है?

$ uname -a
Linux gbox 3.10.0-862.11.6.el7.x86_64 #1 SMP Tue Aug 14 21:49:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux`
$ cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core)`
$ httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Jun 27 2018 13:48:59
$ php -v
PHP 5.4.16 (cli) (built: Apr 12 2018 19:02:01)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
$ postconf -d | grep mail_version
mail_version = 2.10.1
$ dovecot --version
2.2.10

लोकलहोस्ट के दो पते हैं। क्या आपने दोनों का सत्यापन किया [::1]और 127.0.0.1?
ग्रैविटी

मैं नहीं था, और वे नहीं सुन रहे थे। हालाँकि, dovcot और postfix में ipv6 को जोड़ने के बाद, मैं खुलता क्लाइंट के माध्यम से कनेक्ट कर सकता हूं, लेकिन राउंडक्यूब से नहीं, फिर भी। मैंने ipv6 खुलने के परिणामों के साथ सवाल अपडेट किया है
क्रिस

जवाबों:


0

तो, यह सेलिनक्स था। गहरी खुदाई करने और ऑडिट लॉग को पढ़ने का तरीका याद रखने के बाद, मैं आया:

setsebool -P httpd_can_network_connect 1

जो httpd को पूरे नेटवर्क में सॉकेट कनेक्शन (जो मैं समझता हूं) शुरू करने की अनुमति देता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.