一般ユーザー

一般ユーザー

これはGNUに関するものですrm。情報ページには次のように表示されます。

それ以外のファイルを書き込めない場合は、標準入力が端末であるか、オプションが-f提供されていないか、またはオプションが提供され、ユーザーにファイルを削除するかどうかを尋ねられます。応答が肯定的でない場合は、ファイルをスキップします。--force-i--interactive=alwaysrm

  • これはGNUだけですか?

  • rootとして使用すると、rm私のシステムではこれは起こりません。これは普通ですか?どこでも文書化されたものが見つかりません。

  • この行動の根拠は何ですか?これは、ファイルを削除するには、ファイルへの書き込み権限が必要であると考える傾向があるユーザーに混乱を強くするだけです。これは彼らがrmファイルをchmodsだと思うようにします。ただしrm、所有者でない場合はファイルを削除できます。

ベストアンサー1

3つの質問をいただきましたので、別に回答いたします。

最初の質問:

これはGNUだけですか?

GNUかどうかはわかりません。ただ。これはGNU Coreutilsの機能であるように見え、rm少なくともいくつかの他のドキュメントrmで見つけることができます。例えば、一部によるとopengroup.orgの古い文書POSIX の場合rm:

  1. ファイルがディレクトリ・タイプでない場合、-f オプションが指定されていない、またはファイルの許可が書き込みを許可しない場合、標準入力が端末である場合、-i オプションが指定されている場合、rm は標準エラーにプロンプ​​トを作成して読み取ります。標準入力の1行。応答が肯定的でない場合、rm は現在のファイルに対してこれ以上の操作を実行せず、残りのファイルを処理し続けます。

おなじみだと思いますか?このフレーズは、rmあなたの質問で言及されたGNU文書と非常によく似ています。


2番目の質問:

rmをrootとして使用すると、私のシステムではこれは起こりません。これは正常な行動ですか?どこにもこれに関する履歴が見つかりません。

rmフラグなしでrootとして実行すると、「書き込み不可能なファイル」を削除しようとするとメッセージが表示されないことを意味します。これはGNU Coreutils 8.23(そしておそらくほぼすべてのGNU Coreutilsバージョン)の正常な動作です。特に文書はないようだが、探してみると由来rm(ファイルを1つにまとめるには、複数のファイル間を行ったり来たりする必要があります。)rm somefileターミナルでrootとして実行すると、somefileプロンプトなしで削除されることがわかります。書き込み禁止になっていても


3番目の質問:

この行動の根拠は何ですか?これは、ファイルを削除するには、ファイルへの書き込みアクセス権が必要であると考える傾向があるユーザーに混乱を強くするだけです。これにより、rm chmodがファイルを考えるようになります。ただし、rm は所有者でない場合はファイルを削除することもできます。

ユーザーが自分に属していない書き込み禁止ファイルを削除できる理由を意味する場合、その動作はrmファイルシステム権限よりも関連性が高くなります。バラよりlinuxdevcenter.comネットワーク情報ネットワークウィキペディア、一緒に説明すると次のようになります。

通常、ほとんどのファイルシステムでファイルを削除するには、親ディレクトリへの書き込み権限(および最初にそのディレクトリに入るための実行権限)が必要ですが、ファイル自体に対する権限は必要ありません。 初心者にとっては、混乱するほどファイル自体に対する権限は関係ありません。ただし、GNU rmでは、-fオプションを使用しない限り、書き込み禁止ファイルが削除されることを確認する必要があります。

大胆な強調は私のものです。これは、Linuxや他のUnixファミリーのオペレーティングシステムがファイルの権限に基づいてファイルの削除を処理する方法です。

おすすめ記事