Questões de permissão e criação de diretórios como usuário root no CentOS

2

Estou tentando simplificar meu processo de desenvolvimento e implantação para a manutenção do meu site, que é codificado em PHP. A estrutura do diretório foi inicialmente configurada pelo ISPConfig. A máquina está executando o CentOS 6.9.

Meu problema é que quando em uma pasta com o caminho /var/www/clients/client1/web1 , toda operação é proibida para mim mesmo quando logado como usuário root , não apenas usando sudo .

Nessa pasta e só lá, não consigo:

  • mkdir um novo diretório (falha com "mkdir: não é possível criar o diretório 'teste': Permissão negada")
  • mv um diretório existente (falha com "mv: não é possível mover 'web' para 'web.old': Permissão negada").

ll /var/www/clients/client1/ me dá isso:

drwxr-xr-x  4 root root 4096 Jun 19  2017 .
drwxr-xr-x  3 root root 4096 May 16  2014 ..
drwxr-xr-x 11 root root 4096 Mar 11 11:38 web1
drwxr-xr-x  9 root root 4096 Apr 13  2015 web11

ll /var/www/clients/client1/web1/ dá:

drwxr-xr-x 11 root root     4096 Mar 11 11:38 .
drwxr-xr-x  4 root root     4096 Jun 19  2017 ..
drwxr-xr-x  2 web1 client1  4096 May 16  2014 cgi-bin
drwxr-xr-x 20 root root     4096 Jun 19  2017 log
drwx--x---  2 web1 client1  4096 May 16  2014 private
drwx------  2 web1 client1  4096 Mar 11 11:38 .ssh
drwxr-xr-x  2 root root     4096 May 17  2017 ssl
drwxr-xr-x 11 web1 client1  4096 Mar 24 19:22 subdomains
drwxrwxr-x  4 web1 client1 36864 Mar 24 20:38 tmp
drwxr-xr-x 22 web1 client1  4096 Mar 24 20:07 web
drwx--x---  2 web1 client1  4096 May 16  2014 webdav

No entanto, posso usar chmod em diretórios existentes.

Eu verifiquei as permissões do rwx em todo o caminho e nada parece fora do lugar para mim.

O SELinux está desativado.

Não há cotas no lugar e o uso do disco está em 36%.

Minha pergunta é: que outros fatores podem levar a uma mensagem de "permissão negada" para o usuário root?

[EDITAR]

lsattr . in /var/www/clients/client1/web1/web fornece a mesma linha para cada arquivo e diretório:

[root:/var/www/clients/client1/web1/web]# lsattr .
-------------e- ./stats

lsattr . em /var/www/clients/client1/web1 :

[root:/var/www/clients/client1/web1]# lsattr .
-------------e- ./cgi-bin
-------------e- ./ssl
-------------e- ./subdomains
-------------e- ./webdav
-------------e- ./log
-------------e- ./web
-------------e- ./private
----------I--e- ./tmp

No entanto, lsattr . in /var/www/clients/client1 fornece isso:

[root:/var/www/clients/client1]# lsattr .
-------------e- ./web11
----i--------e- ./web1

mount me dá isso em /var/www/clients/client1/web1 e /var/www/clients/client1/web1/web :

[root:/var/www/clients/client1/web1]# mount
/dev/simfs on / type simfs (rw,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type devtmpfs (rw,relatime,mode=755)
none on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
/dev/simfs on /var/www/clients/client1/web1/log/atlas-demo type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/atlas-demo-api type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/kinetic type simfs (rw,relatime)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/cloud type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/analytics type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/vcs type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/issues type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/webmail type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/downloads type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web11/log type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/preprod type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/atlas-demo type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/atlas-demo-api type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/kinetic type simfs (rw,relatime)
    
por AbVog 24.03.2018 / 21:19

1 resposta

3

O fato de o tipo de sistema de arquivos de todos os seus sistemas de arquivos não virtuais ser simfs sugere que você esteja dentro de um contêiner OpenVZ Virtuozzo.

O i minucioso na saída lsattr indica que o arquivo ou diretório está definido como imutável : mesmo o root deve limpar esse atributo antes de fazer qualquer alteração nele. Com o acesso root, você deve poder remover isso com chattr -i /var/www/clients/client1/web1 , mas provavelmente há uma razão pela qual isso foi feito em primeiro lugar; você deve descobrir qual foi o motivo e se ainda é aplicável antes de removê-lo. Pode haver implicações de segurança.

A maiúscula I em lsattr significa que o diretório está sendo indexado usando estruturas em árvore com hash; ele não deve ter nenhum impacto nos aplicativos, além de possivelmente melhorar o desempenho com as operações de listagem de diretórios. (Talvez o diretório /var/www/clients/client1/web1/tmp possa ocasionalmente conter um grande número de arquivos temporários, tornando o aplicativo mais lento?)

A minúscula e indica "formato de extensão", que é um novo esquema de rastreamento de alocações de bloco de disco introduzidas no tipo de sistema de arquivos ext4 . (O atributo está relacionado ao mecanismo de compatibilidade com versões anteriores que permite que ext4 filesystems sejam acessíveis como ext3 se um sistema não suportar ext4 .) Sugere que o sistema de arquivos subjacente em simfs é provavelmente ext4 .

    
por 25.03.2018 / 11:26

Tags