Ошибка `chattr + i` в NFS

8

Я пытаюсь защитить свой authorized_keysфайл, чтобы предотвратить его изменение. Я запускаю это:

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

Я думаю, что это может быть связано с файловой системой:

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

Есть ли способ изменить его с помощью Chattr?

mavillan
источник

Ответы:

8

NFS не имеет понятия неизменяемых файлов, поэтому вы получаете сообщение об ошибке. Я бы посоветовал вам просто удалить доступ на запись для всех, что, вероятно, достаточно близко для ваших целей.

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

Основные различия между удалением бита записи для всех пользователей вместо использования атрибута immutable:

  • Атрибут immutable должен быть не установлен пользователем root, тогда как chmod может быть изменен пользователем, владеющим файлом;
  • Атрибут immutable удаляет возможность удалить файл, не удаляя атрибут immutable, чего не позволяет удаление бита записи (хотя вы можете изменить разрешения каталога, чтобы запретить изменение, если это допустимо).

Если любая из этих вещей имеет значение для вас при работе с author_keys, у вас, вероятно, есть более фундаментальная проблема с вашей моделью безопасности.

Крис Даун
источник
2

Исправьте это не будет работать над NFS.

Однако на сервере, на который экспортируется этот каталог, попробуйте выполнить команду chattr. С парой гуч

Вам может потребоваться включить ACL:

$ mount -o remount,acl /

(Чтобы сделать это изменение постоянным, отредактируйте ваш / etc / fstab)

SELinux может помешать вам:

Чтобы узнать наверняка:

$ ls -Z
daodennis
источник