'chattr + i' erro no NFS

8

Estou tentando proteger meu arquivo authorized_keys para evitar que ele seja modificado. Eu corro isso:

[root@localhost]# chattr +i authorized_keys 
chattr: Inappropriate ioctl for device while reading flags on authorized_keys

Eu acho que pode ser devido ao sistema de arquivos:

[root@localhost]# stat -f -c %T /home/user/
nfs

existe uma maneira de modificá-lo com o chattr?

    
por mavillan 12.09.2013 / 04:28

2 respostas

8

O NFS não possui um conceito de arquivos imutáveis, e é por isso que você recebe o erro. Eu sugiro que você simplesmente remova o acesso de gravação de todos, o que provavelmente é perto o suficiente para seus propósitos.

$ > foo
$ chmod a-w foo
$ echo bar > foo
bash: foo: Permission denied

As principais diferenças entre remover o bit de gravação para todos os usuários, em vez de usar o atributo imutável:

  • O atributo imutável deve ser desfeito pela raiz, enquanto o chmod pode ser alterado pelo usuário que possui o arquivo;
  • O atributo imutável remove a capacidade de remover o arquivo sem remover o atributo imutável, o que a remoção do bit de gravação não faz (embora você possa alterar as permissões do diretório para impedir a modificação, se isso for aceitável).

Se alguma dessas coisas for importante para você ao lidar com authorized_keys, você provavelmente terá um problema mais fundamental com seu modelo de segurança.

    
por 12.09.2013 / 04:40
2

Corrigir isso não funcionará no NFS.

No entanto, no servidor onde esse diretório é exportado, tente executar o comando chattr. Com algumas dicas

Você pode precisar ativar as ACLs:

$ mount -o remount,acl /

(Para fazer essa mudança permanente, edite seu / etc / fstab)

O SELinux pode entrar em seu caminho:

Para descobrir com certeza:

$ ls -Z
    
por 12.09.2013 / 12:27

Tags