Статические ресурсы не могут быть загружены, что не так в этой настройке Nginx?

В контейнере Docker с PHP71-FPM и Nginx у меня есть следующие настройки для Nginx:

server {
    listen      80  default_server;
    listen      81  default_server http2 proxy_protocol; ## Needed when behind HAProxy with SSL termination + HTTP/2 support
    listen      443 default_server ssl http2;

    ssl_certificate       /etc/nginx/ssl/dummy.crt;
    ssl_certificate_key   /etc/nginx/ssl/dummy.key;

    root        /data/www/demos/jqgrid;
    index       index.php index.html index.htm;

    location ~ \.php$ {
      include         fastcgi_params;
      fastcgi_pass    php-upstream;
    }

    include     /etc/nginx/conf.d/stub-status.conf;
    include     /etc/nginx/conf.d/default-*.conf;
}

Доступ к http: // localhost показывает индекс , но без стилей или загруженного файла JS. Я не могу найти что » 5, которая при запуске rsync выдает несколько строк с ошибками. Rsync синхронизируется с локально подключенным диском, смонтированным как / storage. Команда: rsync -...

Я унаследовал систему Centos 6.5, которая выводит несколько строк ошибок при запуске rsync . Rsync синхронизируется с локально подключенным диском, установленным как / storage . Команда:

rsync -aAXv /* /storage/backup/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/storage/*}

В приведенных ниже выходных данных есть три различных типа ошибок, отмеченных после # Проблема ошибки 1, # Проблема ошибки 2, # Проблема ошибки 3 :

rsync -aAXv /* /storage/backup/ --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/storage/*}
sending incremental file list
etc/cron.d/
root/
root/.bash_history
root/.viminfo
selinux/booleans/abrt_anon_write
selinux/booleans/abrt_handle_event
selinux/booleans/allow_console_login

[...]

# Error concern 1: There are probably 80 or more of these mkstemp errors, but I've shortened it:

rsync: mkstemp "/storage/backup/selinux/class/x_pointer/perms/.setfocus.0C5BYW" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_pointer/perms/.use.iRMquA" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_pointer/perms/.write.rHXg0d" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_property/.index.Zwc8vR" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_property/perms/.append.tTK01u" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_property/perms/.create.KGNUx8" failed: Permission denied (13)
rsync: mkstemp "/storage/backup/selinux/class/x_property/perms/.destroy.IiUP3L" failed: Permission denied (13)

[...]

# Error concern 2:

tmp/
rsync: rsync_xal_clear: lremovexattr("storage","security.selinux") failed: Permission denied (13)
var/cache/man/whatis    

[...]

# Error concern 3:

var/run/utmp
rsync: set_acl: sys_acl_set_file(var/run/cups/certs/0, ACL_TYPE_ACCESS): Operation not supported (95)
var/run/postgresql/.s.PGSQL.5432.lock

[...]

# Finishing output:

sent 4288406721 bytes  received 52199 bytes  86635533.74 bytes/sec
total size is 22337384552  speedup is 5.21
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]

Примечания

The rsync кажется, работает нормально, пока не попадет в определенную часть каталога / selinux со скрытыми файлами. Когда для SELinux установлено разрешающее значение, setenforce 0 , эти ошибки не возникают. Хотя # проблема 2 и # проблема 3 все еще возникает.

Контекст SELinux каталога / selinux и / storage ] выглядит следующим образом:

drwxr-xr-x. root root system_u:object_r:security_t:s0  selinux
drwxr-xr-x. root root system_u:object_r:file_t:s0      storage
# /storage/backup directory
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 backup

Пока для # Проблема с ошибкой 2 и # Проблема с ошибкой 3 У меня нет потенциальных клиентов.

Пожалуйста, дайте мне знать, если я пропал что-нибудь. Я не так хорошо знаком с CentOS 6.5, как с 7, так как не знаю, почему существует каталог / selinux вне / . У меня есть сервер CentOS 7.2, который без проблем выполняет ту же rsync с подключенным накопителем. Мы будем очень благодарны за любую помощь или предложения.

Обновление 1

Я изменил контекст SELinux на / storage / backup на public_content_rw_t через:

semanage fcontext -a -t public_content_rw_t "/storage/backup(/.*)?"
restorecon -Rv /storage/backup

Я скоро снова запущу rsync и сообщу, изменилось ли что-нибудь.

Обновление 2

Я снова запустил rsync с новым контекстом безопасности и получаю те же результаты ошибки. Мне интересно, действительно ли rsynux каталога / selinux того стоит, поскольку в системе в любом случае должна быть создана резервная копия / etc / selinux , которая имела бы все контексты, если бы системе требовалось переименовать себя. Может ли кто-нибудь вмешаться?

Обновление 3

Я полагаюсь на то, чтобы не создавать резервные копии каталога / selinux . Статус показывает эти различия между CentOS 6.5 и CentOS 7.2:

CentOS 6.5
SELinux status:                    enabled
SELinuxfs mount:                   /selinux
Current mode:                      enforcing

CentOS 7.2
SELinux status:                    enabled
SELinuxfs mount:                   /sys/fs/selinux
SELinux root directory:            /etc/selinux
Loaded policy name:                targeted
Current mode:                      enforcing

Насколько я понял из этого, каталог / selinux используется как точка монтирования файловой системы SElinux? Интересно, не в этом ли причина ошибок.

3
задан 19 December 2016 в 21:24
1 ответ

Разница между /selinux и /etc/selinux (в RHEL/CentOS 6) заключается в том, что первая является "псевдо-флеш-системой для экспорта API политики безопасности" (помните, что обязательный контроль доступа усилен ядром); в то время как вторая "содержит конфигурационные файлы, которые являются локальными для машины".

Вам не следует включать /selinux (или любую другую) псевдофайловую систему при синхронизации.

В Unix и Linux есть хороший Q/A на эту тему, с очень полезной связанной документацией.

.
1
ответ дан 3 December 2019 в 07:23

Теги

Похожие вопросы