Это на CentOS 7
У меня есть общий ресурс Windows, сопоставленный с /mnt /t
Папка /mnt /t символически связана с /var /www /html /users.
При входе в систему как root у меня нет проблем с доступом к общей папке и всем подпапкам по ссылке /var /www /html /user
У меня есть файл index.html в корневой папке Windows по адресу /mnt/t/index.html.
Apache правильно показывает файл index.html, поэтому я знаю, что он может получить доступ к общему ресурсу Windows (который не работал напрямую и требовал редактирования httpd.conf).
Apache не позволяет мне получить доступ ни к одной из папок в общем ресурсе Windows ниже верхнего уровня с сообщением об ошибке «Запрещено, у вас нет прав доступа ...».
В журнале ошибок указано «Символическая ссылка не разрешена или цель ссылки недоступна: /var /www /html /users»
Учетная запись Windows, которую я использую для доступа к общему ресурсу Windows, имеет имя пользователя "linux".
Я не могу понять, почему Windows позволяла Apache (или пользователю "linux") видеть файлы в верхнем каталоге, но не в нижнем. Сервер Windows не имеет больше ограничений для папок, чем для файлов.
Я перепробовал много вещей, найденных на этом и других форумах, но не повезло. Большинство из них находятся в файле httpd.conf, показанном ниже.
Любое предложение приветствуется.

Ответ на вопросы: Apache работает как UID 48. Это UID, который я использую для сопоставления общего ресурса Windows:

\\FWB-FILE-V01\Public /mnt/t cifs ip=10.168.1.32,user, uid=48,rw,suid,iocharset=utf8,credentials=/root/.smbcredentials 0 0

Я попросил у системного администратора Windows информацию, я выложу его ответ.

Вот httpd.conf (без комментариев):

ServerRoot "/etc/httpd"
Listen 10.168.101.35:80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
ServerName 10.168.101.35:80

<Directory />
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "/var/www/html"

<Directory "/var/www">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

# Further relax access to the default document root:
<Directory "/var/www/html">
Options All
    AllowOverride None
    Order allow,deny
    Allow from All
Require all granted
</Directory>

<Directory "/var/www/html/users">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from All
    # Allow open access:
    Require all granted
</Directory>

<Directory "/var/www/html/users/*">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from All
    # Allow open access:
    Require all granted
</Directory>

<Directory "/mnt/t">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from All
    # Allow open access:
    Require all granted
</Directory>

<Directory "/mnt/t/users">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from All
    # Allow open access:
    Require all granted
</Directory>

Примечание: это не конкурентный файл httpd.conf, а только верхняя часть с внесенными мною изменениями. Остальная часть не была изменена с момента установки. На этой машине нет виртуальных хостов.

Общая папка Windows не содержит символической ссылки.

Когда вы вошли как "linux", я могу получить доступ ко всем файлам и папкам на общем диске. Я не могу войти как "apache" ...

По-прежнему нет прогресса :( Любая помощь приветствуется!

По состоянию на 3/29, нет нового ответа и нет нового результата от моего конца. Я в отчаянии.
Я попробовал несколько вещей, связанных с SE Linux, но безуспешно. SE Linux включен, я попытался отключить его на мгновение, и это не имело никакого значения.

0