Não é possível criar nem excluir um arquivo com determinados nomes de arquivos no UFS no Solaris 10

1

Estamos com um problema em que (aleatoriamente) um determinado arquivo não pode ser criado nem excluído. O arquivo não existe, qualquer tentativa de gravar nele (mesmo como root no console) resulta em uma mensagem "Permissão negada".

Um processo automatizado transferiu os arquivos para este local da seguinte forma:

em "/ dirX /" file001 até file999 foram transferidos com exceção do file666. O resultado do arquivo 666 resultou em um erro de permissão negada.

  1. o arquivo não existe
  2. (como root) toque em / dirX / file666 - > permissão negada

nós tentamos isso:

mv /dirX /dirSomething
touch /dirSomething/file666 # OK!
mv /dirSomething /dirX #OK!
cat /dirX/file666 #OK!
rm /dirX/file666 #permission denied
mv /dirX /dirSomethingElse #permission denied.

Nossa equipe de suporte colocou o sistema offline e executou o fsck, que encontrou e corrigiu um erro. Isso não resolveu o problema nem impediu que isso acontecesse novamente.

É como se o sistema de arquivos odiasse aquele nome específico e se recusasse a fazer qualquer coisa com ele.

O que poderia causar tal problema?

Editar: truss saída abreviada:

pathconf("file666", 20)               = 1
acl("file666", GETACLCNT, 0, 0x00000000) = 4
stat64("file666", 0xFFBFEC90)         = 0
acl("file666", GETACL, 4, 0x00027928) = 4
lstat64("otherfile666", 0x00026630) Err#2 ENOENT
rename("file666", "otherfile666")           Err#13 EACCES
fstat64(2, 0xFFBFDF10)        = 0
mvwrite(2, " m v", 2)         = 2
: cannot rename write(2, " :   c a n n o t   r e n".., 16)      = 16
file666write(2, " f i l e 6 6 6".., 17)     = 17
 to write(2, "   t o  ", 4)           = 4
otherfile666write(2, " b k . t x t", 6)     = 6
: write(2, " :  ", 2)         = 2
Permission deniedwrite(2, " P e r m i s s i o n   d".., 17)     = 17

ls -hal saída

FJSV>host{root}: ls -hal *
-rw-r--r--   1 a817768  nologin      34K Jun 26 14:56 file666
    
por hometoast 29.06.2009 / 20:38

3 respostas

1

O comando Solaris ppriv pode ser usado para depurar problemas Permissão negada . Tente isto:

ppriv -e -D touch /dirX/file666
    
por 02.07.2009 / 18:07
0

Quais são os resultados de:

ls -hal /dirX/file666
lsattr /dirX/file666

Existe alguma permissão ou atributo nesse arquivo? Meu primeiro porém, talvez a bandeira imutável de + i tenha sido definida.

Além disso, você pode usar 'strace' para descobrir o que está dando o erro de permissão negada se algo não for óbvio - 'strace rm / dirX / file666'

Além disso, quando eles executaram o fsck, eles executaram a verificação de bloqueio incorreto? (-c)

    
por 29.06.2009 / 20:58
0

Por que vale a pena, "permissão negada" (EACCES) enquanto renomear ou excluir um arquivo aponta para um problema ao atualizar o diretório, em vez de um problema com o arquivo em si. Este é um tiro longo, mas você pode tentar excluir e recriar o diretório.

Esta linha:

mv /dirX /dirSomethingElse #permission denied.

se for preciso, também aponta para um problema com o diretório raiz. Eu ficaria inclinado a reexecutar fsck e / ou uma análise de superfície da unidade, depois refazer seus testes. Aleatoriedade como essa sugere corrupção no sistema de arquivos ou um mau bloqueio de disco.

    
por 30.06.2009 / 00:11

Tags