2009-06-04 12 views
4

ウェブアプリケーションで使用するファイルの変更日を変更したいと考えています。当面はコマンドラインで直接テストしています。私のMacでうまく動作しますが、Linuxサーバでこれを行うとエラーが発生します。ファイルの変更時刻(タッチ)

コマンド: /binに/タッチ:: `/foo/bar/file.whatever"の時間を設定 /binに/ 200906041200

/foo/bar/file.whateverエラー-t -m触れます:操作は、問題のファイルは777

+0

どのLinuxをお使いですか?私はLinux上でそれをやったことがあります。おそらく誰かがタッチバイナリをそれを許さないものに置き換えてしまったでしょう。 – Kekoa

答えて

6

Linuxでは、変更時刻を現在の時刻以外の時刻に変更するには、ファイルの所有者(またはルート)でなければなりません。他にもいくつかの制限があります。詳細はman utimeをご覧ください。

+0

ああ。作成日も同じですか? –

+0

ctimeを意味する場合は、現在時刻以外の時間には誰でも変更できません。 (もちろんrootでなければ、inodeを編集していつでも好きな時間に変更することができます) – mark4o

+1

@Louis:UNIXファイルシステムには「作成時間」という概念はありません。 ctime = "inode変更時間"(リンクの作成または削除、アクセス権の変更など)、mtime = "変更時刻"(データ変更)があります。 – ephemient

0

ある

を許可されていない、あなたはnoatimeを使用していますか?それは問題を説明することができます。

1

ファイルのアクセス権は、所有者、グループ、その他のユーザーのために読み書きすることができますが、問題のファイルのatimeを変更するには、ファイルを実際に所有する必要があります。

+0

2つの回答を受け入れることができるかどうかはわかりませんが、これも有効な回答です。 –

関連する問題