7

Unixファイルのctimeを設定するにはどうすればよいですか?

(Pythonの観点から答えたほうがいいと思います。標準のPythonでそれを行う方法がない場合は、Cでも問題ないと思います。)

(注:os.utimeを使用してファイルのatimeとmtimeを設定できることは知っています。ctimeの設定に興味があります。)

(注2:POSIXoid Unixで機能する答えがあることを願っていますが、そうでない場合は、DarwinとUbuntuに興味があります。)

4

1 に答える 1

9

ファイルのctimeを現在の時刻に設定するのは比較的簡単です。mtimeを変更するか、パーミッションビットを反転するか、ハードリンクを作成するだけです。AFAIKでは、システムコールAPIを直接使用して、ファイルのctimeを任意の値に設定することは不可能です。

ルートアクセス権がある場合は、システム時刻を設定し、ファイルに対して何かを実行してctimeを現在の時刻に設定してから、システム時刻を元に戻すことができます。また、ディスク上のiノードデータ構造をビットでいじることもできます。しかし、これらは両方とも、詳細に説明する必要があるとは思わない多くの理由から、本当に悪い考えです。

于 2011-05-21T23:19:33.470 に答える