読み取り専用ディレクトリのファイルを削除する方法は?

読み取り専用ディレクトリのファイルを削除する方法は?

ディレクトリとファイルがあり、そのディレクトリは読み取り専用としてマークされています。

$ mkdir directoryname
$ touch directoryname/filename
$ chmod a-w directoryname

-fフラグを次に渡してもファイルを削除することはできませんrm

$ rm -f directoryname/filename
rm: cannot remove `directoryname/filename': Permission denied

rmこのファイルを強制的に削除する方法はありますか?もちろん、一時的に書き込み権限を付与することもできますが、directorynameより便利な方法を探しています。

私は基本的なunlinkシステムコールも同じ方法で失敗すると思います。この問題を解決する方法はありますか?

ベストアンサー1

何について:

sudo rm directory/filename

または:

su -c "rm directory/filename"

ディストリビューションおよび/または設定によって異なります。

rootroot上記のコマンドの実行中は、Unix / Linuxのalmightyのように何でもできる一時的な時間があります。これは、管理者アカウントへのアクセス権を削除できるMS Windowsとは対照的です(これを解決する方法もあります)。

SELinux役に立つ可能性のあるさまざまな拡張プロパティツールなどのツールがありますが、最終的には拡張プロパティを変更して設定(または無効にすることができる)ので、これらのツールは無視される可能性がchattrあります。rootSELinux

おすすめ記事