Erreur `chattr + i` sur NFS

8

J'essaie de sécuriser mon authorized_keysfichier pour éviter qu'il ne soit modifié. Je lance ceci:

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

Je pense que cela peut être dû au système de fichiers:

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

existe-t-il un moyen de le modifier avec chattr?

mavillan
la source

Réponses:

8

NFS n'a pas de concept de fichiers immuables, c'est pourquoi vous obtenez l'erreur. Je suggère que vous supprimiez simplement l'accès en écriture de tout le monde à la place, ce qui est probablement assez proche de vos besoins.

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

Les principales différences entre la suppression du bit d'écriture pour tous les utilisateurs au lieu d'utiliser l'attribut immuable:

  • L'attribut immuable doit être non défini par root, tandis que chmod peut être modifié par l'utilisateur propriétaire du fichier;
  • L'attribut immuable supprime la possibilité de supprimer le fichier sans supprimer l'attribut immuable, ce qui ne supprime pas le bit d'écriture (bien que vous puissiez modifier les autorisations de répertoire pour interdire la modification, si cela est acceptable).

Si l'une de ces choses vous importe lorsque vous traitez avec des clés autorisées, vous avez probablement un problème plus fondamental avec votre modèle de sécurité.

Chris Down
la source
2

Corrigez cela ne fonctionnera pas sur NFS.

Cependant, sur le serveur sur lequel ce répertoire est exporté, essayez d'exécuter votre commande chattr. Avec quelques accrochages

Vous devrez peut-être activer les ACL:

$ mount -o remount,acl /

(Pour rendre ce changement permanent, éditez votre / etc / fstab)

SELinux peut vous gêner:

Pour le savoir avec certitude:

$ ls -Z
daodennis
la source