Não consigo remover o atributo “i” de um arquivo com chattr

1. Não consigo remover o atributo “i” de um arquivo com chattr

Germano Pires Ferreira
germanos

(usa Debian)

Enviado em 02/10/2020 - 06:41h


Eu tenho alguns arquivos em um servidor CentOS que são aparentemente imutáveis (chattr + i).
Preciso apagar estes arquivos, porém Se eu usar o chattr -i, ainda não consigo remover esses arquivos.
. [[email protected] a239b0]# lsattr
----i----------- ./ai-bolit-hoster.php
----i----------- ./ai-bolit.php
----i----------- ./data_collect.php
----i----------- ./procu2.php

[[email protected] a239b0]# chattr -i *.php

[[email protected] a239b0]# lsattr
----i----------- ./ai-bolit-hoster.php
----i----------- ./ai-bolit.php
----i----------- ./data_collect.php
----i----------- ./procu2.php


Por favor, alguém poderia me ajudar com está questão?




  


2. Re: Não consigo remover o atributo “i” de um arquivo com chattr

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 02/10/2020 - 09:41h

Já tentou aplicar o comando individualmente para cada arquivo? (sem usar o *)



3. Re: Não consigo remover o atributo “i” de um arquivo com chattr

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 02/10/2020 - 10:20h

Vc aplicou o atributo -i ao diretorio onde estão esses arquivos?


4. Re: Não consigo remover o atributo “i” de um arquivo com chattr

Germano Pires Ferreira
germanos

(usa Debian)

Enviado em 03/10/2020 - 12:19h

leandropscardua escreveu:

Vc aplicou o atributo -i ao diretorio onde estão esses arquivos?


Olá !
Sim e no diretório deu certo com lsattr :
---------------- ./a239b0

E ainda usei um chmod 777
drwxrwxrwx 2 root root 91 Sep 24 22:50 a239b0







5. Re: Não consigo remover o atributo “i” de um arquivo com chattr

Germano Pires Ferreira
germanos

(usa Debian)

Enviado em 03/10/2020 - 12:23h

Ryuk escreveu:

Já tentou aplicar o comando individualmente para cada arquivo? (sem usar o *)


Sim, eu já tinha tentado e tentei agora de novo:

[[email protected] a239b0]# chattr -i ai-bolit-hoster.php
[[email protected] a239b0]# chattr -i ai-bolit.php
[[email protected] a239b0]# chattr -i data_collect.php
[[email protected] a239b0]# chattr -i procu2.php

[[email protected] a239b0]# lsattr
----i----------- ./ai-bolit-hoster.php
----i----------- ./ai-bolit.php
----i----------- ./data_collect.php
----i----------- ./procu2.php

====



6. Re: Não consigo remover o atributo “i” de um arquivo com chattr

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 03/10/2020 - 15:01h

1. Tem como vc mandar um ls -la do diretório a239b0?
2. Vc consegue mudar o atributo dos arquivos c chattr +a ...?
3.vc consegue criar um arquivo novo dentro do diretório a239b0?
4. Qual o sistema de arquivo usado nesse diretório? reiserfs?
5. Rode stats a239b0 (na pasta acima é claro) e stats em um dos arquivos php e mande tb se der.


7. Re: Não consigo remover o atributo “i” de um arquivo com chattr

Germano Pires Ferreira
germanos

(usa Debian)

Enviado em 03/10/2020 - 18:15h

leandropscardua escreveu:

1. Tem como vc mandar um ls -la do diretório a239b0?
2. Vc consegue mudar o atributo dos arquivos c chattr +a ...?
3.vc consegue criar um arquivo novo dentro do diretório a239b0?
4. Qual o sistema de arquivo usado nesse diretório? reiserfs?
5. Rode stats a239b0 (na pasta acima é claro) e stats em um dos arquivos php e mande tb se der.


Olá Leandro,
Eu estava preparando as respostas dos tópicos que me perguntou, daí descobri algo. O chattr não está passando nenhum atributo a nenhum arquivo ou diretório neste servidor . Tentei reinstalar o chattr mas falhou

. 
yum reinstall e2fsprogs Loaded plugins: fastestmirror, rhnplugin
This system is receiving updates from CLN.
Loading mirror speeds from cached hostfile
Including mirror: xmlrpc.cln.cloudlinux.com
* cloudlinux-x86_64-server-7: xmlrpc.cln.cloudlinux.com
* epel: mirror.dst.ca
Resolving Dependencies
--> Running transaction check
---> Package e2fsprogs.x86_64 0:1.42.9-17.el7 will be reinstalled
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================== Package Arch Version Repository Size
==========================================================================Reinstalling:
e2fsprogs x86_64 1.42.9-17.el7 cloudlinux-base 698 k

Transaction Summary
==========================================================================Reinstall 1 Package

Total download size: 698 k
Installed size: 2.4 M
Is this ok [y/d/N]: y
Downloading packages:
e2fsprogs-1.42.9-17.el7.x86_64.rpm | 698 kB 00:00 Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : e2fsprogs-1.42.9-17.el7.x86_64 1/1 Error unpacking rpm package e2fsprogs-1.42.9-17.el7.x86_64
error: unpacking of archive failed on file /usr/bin/chattr: cpio: rename
Verifying : e2fsprogs-1.42.9-17.el7.x86_64 1/1
Failed:
e2fsprogs.x86_64 0:1.42.9-17.el7
Complete!

Este servidor utiliza Cloudlinux 7

Não sei se o q vou reportar pode ter causado este tipo de problema, mas há uma semana atrás a placa mãe deste servidor queimou e foi substituída pelo Data Center. Após isso ao logar no servidor e por segurança verificar os logs encontrei um erro em um módulo do kernel sky2 , daí resolvi atualizar para o kernel híbrido do. Cloudlinux. https://docs.cloudlinux.com/cloudlinux_os_kernel/#hybrid-kernels

Talvez eu deva instalar o kernel 5.x ELRepo Repository
_____
Enfim, vc tem alguma ideia ou informação?

Muito obrigado


8. Re: Não consigo remover o atributo “i” de um arquivo com chattr

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 03/10/2020 - 21:05h

A minha última ideia seria rodar o strace e ver as chamadas de sistema q ele está fazendo
strace chattr -i arquivo.php
Mas pode ser q tenha alguma mensagem do kernel, dá uma olhada na saída do
dmesg


9. Re: Não consigo remover o atributo “i” de um arquivo com chattr

Germano Pires Ferreira
germanos

(usa Debian)

Enviado em 03/10/2020 - 21:12h

leandropscardua escreveu:

A minha última ideia seria rodar o strace e ver as chamadas de sistema q ele está fazendo
strace chattr -i arquivo.php
Mas pode ser q tenha alguma mensagem do kernel, dá uma olhada na saída do
dmesg


Oi Leandro,
Não encontrei nada de interessante no dmesg. Abaixo envio a saida do strace ....
 strace chattr -i procu2.php 
execve("/usr/bin/chattr", ["chattr", "-i", "procu2.php"], 0x7ffc760b9120 /* 32 vars */) = -1 ENOEXEC (Exec format error)
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2502, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fca542c1000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2502
read(3, "", 4096) = 0
close(3) = 0
munmap(0x7fca542c1000, 4096) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fca542c1000
write(2, "strace: exec: Exec format error\n", 32strace: exec: Exec format error
) = 32
exit_group(1) = ?
+++ exited with 1 +++



Obrigado


10. Re: Não consigo remover o atributo “i” de um arquivo com chattr

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 04/10/2020 - 00:02h

germanos escreveu:

leandropscardua escreveu:

A minha última ideia seria rodar o strace e ver as chamadas de sistema q ele está fazendo
strace chattr -i arquivo.php
Mas pode ser q tenha alguma mensagem do kernel, dá uma olhada na saída do
dmesg


Oi Leandro,
Não encontrei nada de interessante no dmesg. Abaixo envio a saida do strace ....
 strace chattr -i procu2.php 
execve("/usr/bin/chattr", ["chattr", "-i", "procu2.php"], 0x7ffc760b9120 /* 32 vars */) = -1 ENOEXEC (Exec format error)
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2502, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fca542c1000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2502
read(3, "", 4096) = 0
close(3) = 0
munmap(0x7fca542c1000, 4096) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fca542c1000
write(2, "strace: exec: Exec format error\n", 32strace: exec: Exec format error
) = 32
exit_group(1) = ?
+++ exited with 1 +++



Obrigado


- verifique se o binário do chattr é o original ou um script
file /usr/bin/chattr
- verifique se não há um módulo kernel de segurança atuando (https://www.kernel.org/doc/html/v4.15/admin-guide/LSM/index.html) ou https://grsecurity.net/ .
Aqui está um exemplo usando selinux ( https://forums.fedoraforum.org/showthread.php?226206-restricting-xattr-flags-with-selinux )




11. Re: Não consigo remover o atributo “i” de um arquivo com chattr

Germano Pires Ferreira
germanos

(usa Debian)

Enviado em 05/10/2020 - 08:35h

leandropscardua escreveu:

germanos escreveu:

leandropscardua escreveu:

A minha última ideia seria rodar o strace e ver as chamadas de sistema q ele está fazendo
strace chattr -i arquivo.php
Mas pode ser q tenha alguma mensagem do kernel, dá uma olhada na saída do
dmesg


Oi Leandro,
Não encontrei nada de interessante no dmesg. Abaixo envio a saida do strace ....
 strace chattr -i procu2.php 
execve("/usr/bin/chattr", ["chattr", "-i", "procu2.php"], 0x7ffc760b9120 /* 32 vars */) = -1 ENOEXEC (Exec format error)
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2502, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fca542c1000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2502
read(3, "", 4096) = 0
close(3) = 0
munmap(0x7fca542c1000, 4096) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fca542c1000
write(2, "strace: exec: Exec format error\n", 32strace: exec: Exec format error
) = 32
exit_group(1) = ?
+++ exited with 1 +++



Obrigado


- verifique se o binário do chattr é o original ou um script
file /usr/bin/chattr
- verifique se não há um módulo kernel de segurança atuando (https://www.kernel.org/doc/html/v4.15/admin-guide/LSM/index.html) ou https://grsecurity.net/ .
Aqui está um exemplo usando selinux ( https://forums.fedoraforum.org/showthread.php?226206-restricting-xattr-flags-with-selinux )


- o arquivo chattr é o original e não um script.
- encontrei um módulo do Kernel que falhou só ser instalado "sky2" quando tentei deixar o kernel hybrido do cloudlinux e voltar ao Kernel 5.x do CentOS 7 que é compatível com o OS.

Descobri outros comandos que TB não estão passando parâmetros como esperando e pra completar o comando mysql -u user -p ....
Não consegue encontrar o mysql.sock de forma alguma, mesmo que eu informe manualmente no my.cnf. o interessante é que todos os sites com bd estão funcionando normalmente, observei que o dbgovernor do cloudlinux Linux cria um mysql.sock e my.cnf para cada usuário.....

Para não ficar extenso .... Encontrei outros problemas com plugins do cloudlinux....

Vou exportar todos os bancos da única forma que o comando mysql funciona que é informando o host(-h 127.0.0.1) e porta (-p 3306), depois e salvar os arquivos dos sites externo e formatar e. Configurar do zero.... Acredito que devido as várias falhas, quando a placa mãe queimou e foi substituída algumas coisas foram corrompidas.
Concorda com minha opção?

Desde já agradeço imensamente a todos que tentaram me ajudar neste post. Sem dúvida estarei mais ativo no fórum para ajudar outros usuários.



12. Re: Não consigo remover o atributo “i” de um arquivo com chattr

Germano Pires Ferreira
germanos

(usa Debian)

Enviado em 05/10/2020 - 08:40h

leandropscardua escreveu:

germanos escreveu:

leandropscardua escreveu:

A minha última ideia seria rodar o strace e ver as chamadas de sistema q ele está fazendo
strace chattr -i arquivo.php
Mas pode ser q tenha alguma mensagem do kernel, dá uma olhada na saída do
dmesg


Oi Leandro,
Não encontrei nada de interessante no dmesg. Abaixo envio a saida do strace ....
 strace chattr -i procu2.php 
execve("/usr/bin/chattr", ["chattr", "-i", "procu2.php"], 0x7ffc760b9120 /* 32 vars */) = -1 ENOEXEC (Exec format error)
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2502, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fca542c1000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2502
read(3, "", 4096) = 0
close(3) = 0
munmap(0x7fca542c1000, 4096) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fca542c1000
write(2, "strace: exec: Exec format error\n", 32strace: exec: Exec format error
) = 32
exit_group(1) = ?
+++ exited with 1 +++



Obrigado


- verifique se o binário do chattr é o original ou um script
file /usr/bin/chattr
- verifique se não há um módulo kernel de segurança atuando (https://www.kernel.org/doc/html/v4.15/admin-guide/LSM/index.html) ou https://grsecurity.net/ .
Aqui está um exemplo usando selinux ( https://forums.fedoraforum.org/showthread.php?226206-restricting-xattr-flags-with-selinux )


- o arquivo chattr é o original e não um script.
- encontrei um módulo do Kernel que falhou só ser instalado "sky2" quando tentei deixar o kernel hybrido do cloudlinux e voltar ao Kernel 5.x do CentOS 7 que é compatível com o OS.
-selinux está desabilitado
Descobri outros comandos que TB não estão passando parâmetros como esperando e pra completar o comando mysql -u user -p ....
Não consegue encontrar o mysql.sock de forma alguma, mesmo que eu informe manualmente no my.cnf. o interessante é que todos os sites com bd estão funcionando normalmente, observei que o dbgovernor do cloudlinux Linux cria um mysql.sock e my.cnf para cada usuário.....

Para não ficar extenso .... Encontrei outros problemas com plugins do cloudlinux....

Vou exportar todos os bancos da única forma que o comando mysql funciona que é informando o host(-h 127.0.0.1) e porta (-p 3306), depois e salvar os arquivos dos sites externo e formatar e. Configurar do zero.... Acredito que devido as várias falhas, quando a placa mãe queimou e foi substituída algumas coisas foram corrompidas.
Concorda com minha opção?

Desde já agradeço imensamente a todos que tentaram me ajudar neste post. Sem dúvida estarei mais ativo no fórum para ajudar outros usuários.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts