1

こんにちはすべて私はrootユーザーによる偶発的な削除から保護したいいくつかの非常に重要なシステムファイルを持っています。そのための新しいパーティションを作成し、読み取り専用アクセスでマウントすることはできますが、問題は、それらのシステムファイルを処理するアプリケーションにその部分への書き込みアクセス権を持たせ、それらを変更できるようにすることです。VFSを使用してそれは可能ですか?VFSがファイルへのアクセスを処理するので、VFSレイヤーにモジュールを挿入して、その部分への書き込みアクセスがあるかどうかを確認し、承認を確認して許可するか、拒否することができます。そうでない場合は、そのようなシステムをどのように実装できるかについての提案を私に提供してください。このようなシステムが存在する場合は、それらについても提案してください。私はLinuxを使用していて、これをCで実装したいのですが、Cでのみ可能だと思います。

編集:Windowsに実装されているそのような種類のプログラムがあり、管理者へのアクセスを、いくつかの重要なフォルダーにさえ制限することができますが、それはLinuxで可能でしょうか?私のアプリケーションはシステムのバックアップと復元プログラムであり、バックアップ情報を安全に保つ必要があります。ですから、誤って削除されないように、パーティションの安全な部分を確保したいと思います。フラッシュドライブをロックする方法がありますが、Linuxでパーティションをロックするためにそれらの方法のいくつかを使用できますか?マウントがパスワードで保護されるように?私はウイルスアプリケーションを作成していません。私のアプリケーションはユーザーにバックアップを削除するオプションを提供しますが、他のアプリケーションによるバックアップの削除を許可したくありません。編集:私はubuntuのシステムの復元とバックアッププログラムを書いています。私はコンピューター工学の学生です。

編集:Basile Starynkevitchから、このようなことをするとプログラミングの最悪の罪を犯すだろうという意見がありましたが、これを実験的なプロジェクトと見なして提案を提供していただければ、VFSレイヤーにいくつかの変更を加えることができます。これはうまくいくかもしれません。

4

3 に答える 3

2

あなたはchattrを使うことができます、例えば

chattr +i yourfile

しかし、そうするのは良いことではないと思います。アクセスを使用する人rootは注意が必要です。rootアクセス権を持っている人は、上記を元に戻すコマンドを発行できます。

本当に必要な場合は、rootアクセス権を持つユーザー、またはコンピューターに物理的にアクセスできるユーザーがファイルにアクセス、削除、変更することを禁止する方法はありません(たとえば、カーネルを更新およびハッキングする可能性があります)。信頼できるコンピューティングベースについてもっと読む

そして、それをやりたいと思うのは非倫理的(そしておそらく一部の国では違法)でさえあると私は信じています。私は自分のPCを所有していますが、たまたまソフトウェアをインストールしたために、PC上のデータの変更を許可しない理由がわかりません。

Linuxの定義によれrootば、それは何でもできます...彼がデータを消去または変更することを禁止することはできません...rootアクセス権を持つ人々は、ディスク上の任意の場所に任意のバイトを書き込むことができます。

そして、私が所有している(またはおそらく物理的にアクセスできる)マシンでは、神に感謝します。常にファイルを削除できます(Windowsの場合でも、たとえばLinux CDROMを起動して、Linuxアクセスからファイルを削除できます)。 NTFSを実行してから、Windowsを再起動します...)。

rootですから、貴重なファイルの変更をより困難にする方法を見つけるために、わざわざ1分もかかるべきではないと思います。それらを他のファイルとして残しrootます...

哲学的暴言

UNIXの哲学は、常にシステム管理者(初心者ユーザーをミスから保護しながら)、つまりユーザーを信頼することrootでした。はroot何でもできます(これがroot、個人のマシンであっても、人々が存在することを避ける理由です)。rootシステム管理者はシステムをよく知っていることが期待され、信頼されているため、間違いを防ぐ強力な機能はこれまでありませんでした。

そして、Unixのシステム管理者はこの事実を理解しています。それは彼らの文化の一部です。(これはおそらくWindowsの管理文化とは対照的です)。彼らはいつ注意すべきかを知っており、ソフトウェアがルートとしての間違いを防ぐことを期待していません。

于 2011-11-29T17:14:10.927 に答える
1

ルートスカッシング(rootがローカルユーザーのファイルを見ることさえできないようにする)を使用するために、ローカルnfsを設定できます。このフォーラムページでは、nfsをローカルにマウントする方法について説明しています。コマンドは次のとおりです。

mount -t nfs nameofcomputer:/ directory_on_that_machine / directory_you_should_have_already_created

nfsではデフォルトでルートスカッシングが有効になっているため、問題が解決するはずです。そこから、プログラムがファイルをnfsマウントに保存していることを確認します。

于 2011-11-29T18:37:49.470 に答える
1

あなたがウイルスを書き込もうとしているように私には聞こえます。

間違いなくあなたは反対するでしょう。

しかし、私はあなたのソフトウェアをインストールする貧しい人々がそれがウイルスであるように感じるだろうと確信しています。なぜならそれはそれ自体を取り除くのを難しくすることによってそれのように振る舞うからです。

それ以外の場合は、r/wフラグを設定するだけで十分です。

于 2011-11-29T18:43:15.473 に答える