Como minhas permissões de arquivo padrão foram alteradas de 666 (antes das configurações de umask) para 04501

3

Eu tenho uma instalação do CentOS 6.5 que de repente começou a ter problemas com as permissões de arquivos em arquivos novos ou recriados. quando eu crio um arquivo com touch, em vez do usual 644 ou -rw-r - r-- estou vendo -r -s ----- x como as permissões atribuídas ao novo arquivo. Estou logado como root e estou tentando criar este arquivo no meu diretório pessoal / home / myusername.

Quando executo um strace contra o toque, usando o comando 'strace touch filename 2 > & 1 | grep filename ', eu vejo isso ..

open ("nome do arquivo", O_WRONLY | O_CREAT | O_NOCTTY | O_NONBLOCK, 04501) = 3 O 04501 é normalmente onde veríamos o 666, as permissões padrão para os arquivos antes de aplicar as configurações de umask (minha umask é 0022)

Eu executei o AVG nessa caixa, rodei rkhunter, pesquisei por dias e fiquei sem ideias.

Obrigado pela ajuda.

    
por Jason Proefrock 30.10.2014 / 20:26

1 resposta

0

Parece uma péssima notícia. GNU coreutils touch contém este código:

      int default_permissions =
        S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
      fd = fd_reopen (STDIN_FILENO, file,
                      O_WRONLY | O_CREAT | O_NONBLOCK | O_NOCTTY,
                      default_permissions);

que sugere que ele sempre cria arquivos com exatamente as mesmas permissões, e default_permissions sempre tem o valor 0666 (que é expresso com constantes simbólicas no código-fonte).

Parece que sua cópia do touch foi adulterada. É especialmente suspeito que as permissões que ele está usando agora tenham o bit set-user-id definido.

    
por 30.10.2014 / 21:42

Tags