web-dev-qa-db-ja.com

NFSでの「chattr + i」エラー

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で変更する方法はありますか?

8
mavillan

NFSには不変ファイルの概念がないため、エラーが発生します。代わりに、全員から書き込みアクセス権を削除することをお勧めします。これは、おそらく目的に十分近いものです。

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

不変属性を使用する代わりにすべてのユーザーの書き込みビットを削除することの主な違い:

  • 不変属性はrootで設定解除する必要がありますが、chmodはファイルを所有するユーザーが変更できます。
  • 不変属性は、不変属性を削除せずにファイルを削除する機能を削除します。書き込みビットを削除しても機能しません(ディレクトリのアクセス許可を変更して変更を許可しない場合は、変更を許可できます)。

Authorized_keysを扱うときにこれらのいずれかが重要である場合は、セキュリティモデルにもっと根本的な問題があると考えられます。

8
Chris Down

これはNFSでは機能しません。

ただし、このディレクトリがエクスポートされるサーバーで、chatrtコマンドを実行してみてください。いくつかの落とし穴で

ACLを有効にする必要がある場合があります。

$ mount -o remount,acl /

(その変更を永続的にするには、/ etc/fstabを編集します)

SELinuxが邪魔になる場合があります。

確実に調べるには:

$ ls -Z
2
daodennis