Quero instalar uma versão recente do graphviz (por exemplo, Graphviz versão 12) em um sistema RHEL 7.
Quando olho para RPMfind, só consigo ver rpms para Fedora. Onde encontro um RPM para RHEL 7?
Quero instalar uma versão recente do graphviz (por exemplo, Graphviz versão 12) em um sistema RHEL 7.
Quando olho para RPMfind, só consigo ver rpms para Fedora. Onde encontro um RPM para RHEL 7?
Uma vez por mês, descubro que um dos meus servidores RedHat 9 foi reiniciado (na verdade, é o AlmaLinux 9, mas como é um clone do RH9, essa questão provavelmente é melhor resolvida no contexto do RH9). Estou tentando descobrir o que está causando o travamento, mas não há arquivos de despejo de núcleo criados!
Eu segui as instruções neste post , exceto que parece que não tenho nada compatível no meu sistema, mas quando eu aciono um core dump com:
durma 3 e mate -SEGV $!
não há nenhum arquivo de despejo de núcleo!
Confirmei que os princípios básicos estão definidos com:
[root@myhost ~]# cat /proc/sys/kernel/core_pattern
|/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h
[root@myhost ~]# ulimit -c
unlimited
Há algo mais que eu deva definir para deixar o arquivo de despejo ser criado? Suspeito que meu próprio aplicativo (não empacotado) esteja causando o problema... mas não há nenhum arquivo core nem mesmo no diretório que contém o aplicativo.
====ATUALIZAÇÃO====
Modifiquei /etc/coredump.conf e configurei storage=external (todo o resto comentado), depois reiniciei e executei o seguinte:
[root@myhost ~]# sleep 3 & kill -SEGV $!
[1] 3583
[root@myhost ~]#
[1]+ Segmentation fault (core dumped) sleep 3
[root@myhost ~]# coredumpctl --all
TIME PID UID GID SIG COREFILE EXE SIZE
Sat 2024-10-26 12:56:46 EDT 3583 0 0 SIGSEGV none /usr/bin/bash -
[root@myhost ~]# ll /var/lib/systemd/coredump/
total 0
Então ainda não há arquivos de dump de núcleo visíveis (e observe o "nenhum" acima). O log do sistema mostra:
Oct 26 13:06:41 ngcvls1 systemd[1]: Started Process Core Dump (PID 4459/UID 0).
Oct 26 13:06:41 ngcvls1 systemd-coredump[4460]: Resource limits disable core dumping for process 4458 (bash).
Oct 26 13:06:41 ngcvls1 systemd-coredump[4460]: Process 4458 (bash) of user 0 dumped core.
Então, na linha de comando eu executei:
ulimit -c unlimited
e repeti o teste de segfault, então um arquivo core foi criado! Mas na reinicialização ele desapareceu. (Apesar de eu ter storage=external definido em coredump.conf). Preciso de core dumps para sobreviver a reinicializações, caso contrário não consigo dizer por que meu sistema travou. Chegando perto! Gostaria de tornar ulimit -c permanente, mas não tenho certeza de onde colocar isso (não gosto do conselho de outras postagens para colocar em .bashrc)
Usei o comando abaixo para verificar regras de política relacionadas e encontrei apenas as 2 regras relacionadas a seguir:
[root@system1 home]# sesearch -A -s httpd_t -t httpd_sys_content_t -ds -dt
allow httpd_t httpd_sys_content_t:dir { ioctl lock read };
allow httpd_t httpd_sys_content_t:lnk_file { getattr read };
Os processos no httpd_t
domínio só podem ler dir
e lnk_file
com httpd_sys_content_t
tag... Isso significa que o SELinux dir
realmente contém todos os arquivos dentro dele?
Tentei procurar a definição de "dir" no SELinux na internet, mas não consegui encontrar nada.
SO: RHEL 9
Política SELinux: Direcionada
Comecei a testar o firewall em um sistema Red Hat 8. Minha única pergunta aqui é como depurar os dados enigmáticos que não significam quase nada. Como faço para rastrear uma rejeição de volta à fonte do problema de por que uma solicitação foi rejeitada??
Criei o seguinte para gravá-los em um local de log diferente para rastreamento. Criei um novo arquivo chamado /etc/rsyslog.d/firewall-drop.conf e adicionei o seguinte ao arquivo
:msg,contains,"_DROP" /var/log/firewalld-drop.log
:msg,contains,"_REJECT" /var/log/firewalld-drop.log
& stop
Reinicie o serviço para que ele tenha efeito. Recebo informações neste arquivo de log como:
Sep 13 10:03:07 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:11:11:b0:3a:6e:08:00 SRC=10.2.3.87 DST=10.2.255.255 LEN=229 TOS=0x00 PREC=0x00 TTL=128 ID=60776 PROTO=UDP SPT=138 DPT=138 LEN=209
Sep 13 10:03:22 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:70:b5:e8:4b:04:dc:08:00 SRC=10.2.3.203 DST=10.2.255.255 LEN=72 TOS=0x00 PREC=0x00 TTL=128 ID=63130 PROTO=UDP SPT=57621 DPT=57621 LEN=52
Sep 13 10:03:25 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48193 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:26 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48194 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:26 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48195 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:38 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48196 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:38 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48197 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:39 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:e0:2b:e9:1c:d4:be:08:00 SRC=10.2.3.68 DST=10.2.255.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=48198 PROTO=UDP SPT=137 DPT=137 LEN=58
Sep 13 10:03:48 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=01:00:5e:00:00:01:e0:55:3d:11:04:f0:08:00 SRC=0.0.0.0 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=55985 PROTO=2
Sep 13 10:03:52 localhost kernel: FINAL_REJECT: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:70:b5:e8:4b:04:dc:08:00 SRC=10.2.3.203 DST=10.2.255.255 LEN=72 TOS=0x00 PREC=0x00 TTL=128 ID=63131 PROTO=UDP SPT=57621 DPT=57621 LEN=52
A realidade aqui é que esses dados não significam nada para mim e certamente não são intuitivos. Como podemos descobrir qual é a causa raiz de uma rejeição de firewall?? Depois de algumas pesquisas, não encontrei nada que indicasse como ler essa baboseira corretamente. Esta é a primeira vez que brinco com o firewall, então posso estar perdendo algo realmente básico aqui???
Tentando descobrir como encontrar onde existem repositórios para instalações do yum.
Sou completamente novo nessa instalação do yum, então, se o yum install anything não funcionar, não sei nem onde procurar para ver de onde está vindo.
Quais repositórios existem por aí que eu possa pesquisar coisas. No meu caso, estou trabalhando em um ambiente sandbox com RHEL 8.x. Quando tento executar o yum install wine -y, ele falha porque faltam dependências.
Não tenho ideia de como encontrar repositórios ou pesquisá-los.
Qualquer orientação para um novato seria apreciada. Obrigado.
Por exemplo, o EPEL-8 só funciona no RHEL-8 e não no RHEL-7?
Eu tenho um servidor de produção (RHEL) com a configuração FS abaixo df -h
:
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 752K 7.9G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/mapper/vg0-lvroot 40G 4.2G 36G 11% /
/dev/sda2 1014M 291M 724M 29% /boot
/dev/mapper/vg0-lvvar 20G 1.1G 19G 6% /var
/dev/mapper/vg0-lvhome 40G 318M 40G 1% /home
/dev/mapper/vg0-lvvar_tmp 10G 104M 9.9G 2% /var/tmp
/dev/mapper/vg0-lvvar_log 10G 314M 9.7G 4% /var/log
/dev/mapper/vg0-lvvar_log_audit 10G 524M 9.5G 6% /var/log/audit
/dev/mapper/vg0-lvtmp 20G 176M 20G 1% /tmp
tmpfs 1.6G 0 1.6G 0% /run/user/1190376420
também:
# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Jul 8 12:21 /dev/sda
brw-rw----. 1 root disk 8, 1 Jul 8 12:21 /dev/sda1
brw-rw----. 1 root disk 8, 2 Jul 8 12:21 /dev/sda2
brw-rw----. 1 root disk 8, 3 Jul 8 12:21 /dev/sda3
brw-rw----. 1 root disk 8, 16 Jul 10 10:27 /dev/sdb
como você vê, /dev/sdb
não está formatado e montado no sistema de arquivos. no entanto, como este é um servidor de produção, preciso ter certeza do profissional neste caso específico. qual é a melhor maneira de usar /dev/sdb
para estender /
(raiz) e /home/
sistemas de arquivos. abaixo está a estatística:
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 vg0 lvm2 a-- <199.00g <17.00g
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lvhome vg0 -wi-ao---- 40.00g
lvroot vg0 -wi-ao---- 40.00g
lvswap vg0 -wi-ao---- 32.00g
lvtmp vg0 -wi-ao---- 20.00g
lvvar vg0 -wi-ao---- 20.00g
lvvar_log vg0 -wi-ao---- 10.00g
lvvar_log_audit vg0 -wi-ao---- 10.00g
lvvar_tmp vg0 -wi-ao---- 10.00g
# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 8 0 wz--n- <199.00g <17.00g
Quero usar metade para /dev/sdb
estender /
e a outra metade para /home
.
Estou com esse problema, estou tentando ver se um grupo de servidores está vulnerável ao CVE CVE-2024-1086 então o que faço no servidor é rpm -qa --changelog kernel | grep 2024-1086
, e recebo isso como saída:
- netfilter: nf_tables: reject QUEUE/DROP verdict parameters (Florian Westphal) [RHEL-24009 2262126] {CVE-2024-1086}
, o que acho que significa que o cve foi mitigado nesse sistema. Porém, o cliente diz que a varredura que eles estão usando para verificar se o sistema está vulnerável ainda está mostrando que o servidor está vulnerável, você sabe se com essa saída posso dizer que a varredura deles está dando um falso positivo ou existe alguma outra forma de confirmar com certeza que o sistema não está mais vulnerável a esse CVE?
Antes do RHEL 7, suas distribuições eram construídas em SysV, um gerenciador que se parece muito com o legado System V ( init.d
, rc
, runlevels...).
Eles mudaram para systemd do RHEL 7.
Mas qual é a real diferença entre o SysV e o System V semelhante ao Unix?
Por que eles chamaram isso de SysV, se é a mesma coisa?
Estou executando o Wordpress no Rocky Linux 9 e preciso optipng
de algumas tarefas de transformação de imagem, mas está sendo bloqueado:
SELinux is preventing /usr/sbin/php-fpm from execute access on the file optipng.
***** Plugin catchall_boolean (89.3 confidence) suggests ******************
If you want to allow httpd to unified
Then you must tell SELinux about this by enabling the 'httpd_unified' boolean.
Do
setsebool -P httpd_unified 1
***** Plugin catchall (11.6 confidence) suggests **************************
If you believe that php-fpm should be allowed execute access on the optipng file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm
# semodule -X 300 -i my-phpfpm.pp
Corrija-me se estiver errado, mas quero evitar fazer algo assim setsebool -P httpd_unified 1
porque entendo que isso concederá permissões bastante amplas e permitirá php-fpm
a execução de qualquer arquivo rotulado com httpd_sys_rw_content_t
.
Além disso, quando eu executo, ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm
ele cria uma política que teria o mesmo efeito amplo:
module my-phpfpm 1.0;
require {
type httpd_sys_rw_content_t;
type httpd_t;
class file execute;
}
#============= httpd_t ==============
#!!!! This avc can be allowed using the boolean 'httpd_unified'
allow httpd_t httpd_sys_rw_content_t:file execute;
Isso me leva à minha pergunta: como posso deixar php-fpm
executar com segurança /usr/bin/optipng
?
Talvez a melhor maneira seja apenas fazer setsebool -P httpd_unified 1
, ou talvez eu precise criar um novo tipo para optipng
, gostar semanage fcontext -a -t my_optipng_exec_t '/usr/bin/optipng'
e permitir php-fpm
a execução desse tipo específico com uma política personalizada. Eu tentei isso, mas não consigo fazer funcionar.
Por favor, deixe-me saber suas sugestões.
Obrigado.