• ベストアンサー

ファイル更新日付の改変を確認したい

UNIX システム上で勝手にファイルを更新されていない事を確認したいと考えています。 通常であれば ls -l で更新日付を取得すれば問題ないと考えています。 加えて、ユーザが touch -t 等のコマンドを用いて更新日付を改変していないかを確認したいです。 更新日付を改変されていない事を確認する手立ては無いでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.2

具体的には知りませんが、可能だと思います。 このあたり。 http://www.google.co.jp/search?q=linux+%E7%9B%A3%E6%9F%BB%E3%83%AD%E3%82%B0 ただ、ログが膨大に出るので、何らかのツールを入れないと見られないでしょうね。

ha8ka8
質問者

補足

有難うございます。 確かにこの方法で有れば実現可能ですね。 ちょっと仕組みが大変なので出来るかどうか検討してみます。

その他の回答 (2)

  • wormhole
  • ベストアンサー率28% (1621/5656)
回答No.3

inotifyで監視するとか。 というよりユーザーが変更したら困るディレクトリに ユーザーの書き込み権限があるんですか?

ha8ka8
質問者

補足

ファイルを置いてほしいディレクトリなのですが、一度置いたら以降は触ってほしくないのです。 コピーを取って退避をする等の方法も考えたのですが完ぺきではないので困っていました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

touchを使用禁止にすればよいのでは?

ha8ka8
質問者

補足

他のユーザに対して touch という基本的なコマンドを禁止してしまうと他での影響が心配です。 開発用のサーバなので、開発者が様々な作業をしているので全体に影響が出そうな縛りは入れられません。

関連するQ&A

  • ファイル名と更新日付の取得について

    Perlを使って、下のようなイメージでディレクトリ内のファイル名と更新日付のみ取得したいと思っております。 (ファイル名)△(更新日付) 最初は、PerlからUNIXコマンドを呼び出してls -ltr の結果を配列に格納し、それから半角スペースを元にsplitして取得しようとしたのですが、 日付が一桁のときと二桁のときでは、配列の位置が異なるため、うまくいかないのです。 また、stat関数を使ったのですが、情報はなにも取得されません。理由は不明です。 他に良い方法をご存知の方、御教示願えないでしょうか? ちなみにPerlのバージョンは4、OSはHP-UXです。 情報不足だったり意味が分からなかったら追記いたします。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • lsコマンドで表示するファイルの更新日付について

    お世話になります。 現在RedHatLinux AS2.1を使用しております。 ディレクトリの情報(ファイル名、ファイルサイズ、更新日付)を毎日取得して日々差異がないか確認しているのですが、 更新日付が昨日は 11月 10 2007 と表示していたのに、今日になって、 11月 10 10:30 と年のところが時刻になっていました。 11月10日なので、勿論今日(5/21)更新した訳でもなく、ファイルサイズも同じなので年の表示が時刻に変わっただけだと思います。 コマンドは、 ls -lh|cut -b 35- と35バイト目からだけを表示するようにしています。 lsコマンドで表示する更新日付は昨年までのファイルについては、年を表示して、同じ年度(2008年)のものは時刻が表示するものだと思っておりましたが、違ってるのでしょうか?コマンドがマズイですかね・・・。 結構基本的な事だと思うのですが、ネットで探してもなかなか見つからずここで質問させていただきます。 どうかよろしくお願いします。

  • 指定した日付に更新されたファイル

    指定した日付に、更新されたファイルやフォルダを検索するUNIXコマンドを教えてください

  • GCCにてディレクトリ・ファイル操作等のできるPGを作成したい。

    GCCコンパイラを使い、UNIX上のディレクトリ・ファイルの操作 また、各ファイルシステムの総容量・空容量等の確認を行いたいと思っ ているのですが、以下の処理を実行する関数を見つけることができませ んでした。 ----------------------------------------------------------------------------- ディレクトリの移動                  (chdir コマンド相当) ディレクトリ内のファイル・サブディレクトリ一覧の取得 (dir/ls コマンド相当) ファイル日付の取得                  (ls -l コマンド相当) ディスク空き容量等確認                 (df -k コマンド相当) ファイルの削除                    (rm  コマンド相当) ----------------------------------------------------------------------------- もし、ご存知の方がいらっいましたら、教えて頂きたく存じます。 また、GCCを使ったUNIXシステム管理プログラミングについて、解説されている 書籍・サイト等を御存知でしたら教えていただきたく思います。

  • ファイル数の取得

    ディレクトリにあるファイル数を出力するUNIXのコマンドを探しています lsやls -lですとファイルの詳細までは見れますが、ファイル数は出てきません。 その他調べてみたのですが、方法が見つかりませんでした。 最悪はlsの結果をファイルに書き出してそのファイルの行数を見れば出来そうですが あまりにつたないやり方なので…。 ご存知であればよろしくお願いします。 正式にはBSDではなくBSDをベースにしたマシンですので もしかしたらBSDのコマンドが動かない or BSD以外のコマンドでも動くなどあるかもしれませんが どれかのUNIXで使えれば試してみますので 何かコマンドをご存知であれば教えていただければと思います。 よろしくお願いします。

  • 【シェル】日付が最も古くサイズが小さいファイル削除

    ディレクトリ内のファイルで、日付が最も古い&(且つ)サイズが小さいものを削除するシェルを作成しようと考えています。 当初の以下のような考えをしていましたが、うまくいかないので質問しました・・・ ls -lStr(カレントディレクトリで日付が古くサイズが小さい順のつもり・・・) 上記のコマンド実行にて、 合計 100 -rwxr-xr-x 1 root root 333 2月 22 2009 java.log と表示されるのを利用し、上から2行目のファイル名を取得するためawkして『java.log』というファイル名をprintfで表示させ変数か何かに格納し、rmコマンドで削除という流れを考えていました。 よくよく考えると ・ls -lStr は本当に日付が古くサイズが小さいものでソートされているのか ・lsコマンドで表示した『2行目』という指定でファイル名の取得できるのか がよくわからなくなってしまいました。 上記の考え方よりこっちのほうが良い!やアドバイスがあれば非常に嬉しいです。 よろしくお願いしますm(__)m

  • ファイル更新日が当日日付と同じかチェックしたい

    ファイル名称が決まっているファイルの更新日が、当日日付と同じかどうかチェックしたい。 1つずつエクスプローラーからファイルを確認すれば済みますが、 1クリックなり、dosコマンドなりで、時間をかけずチェックしたいのですが、なにかよい方法を教えてください。 ※拡張子が、txtやzip、lzhだったり、また、共有化された他PCのファイルだったりします。

  • Windows2000 コマンドプロンプト

    Unixも全然詳しくないのですが、 ls -l というコマンドでディレクトリ内のファイルを表示させると、オーナーと言うのでしょうか?誰がそのファイルを最終修正したか、というのが表示されると思うのですが、同じ事をコマンドプロンプトで出来ないでしょうか? もし同じようなコマンドがありましたら教えて頂けませんか?色々と調べているのですが見つかりません・・・ よろしくお願いします。

  • Windows2000 バッチファイルコマンドについて

    こんにちは。 バッチファイルコマンド(DOSコマンド?)について質問があります。 まずやりたい事としては、 「前月日付のフォルダを自動作成したい」 です。 当月日付をもってくる為には以下の様なコマンドでできました。 for /f "tokens=1-2" %%l in ('date /t') do set today=%%l for /f "delims=/ tokens=1-2" %%a in ('echo %today%') do set yymm=%%a%%b このコマンドを実行すると、例えば、%yymm%には200507が入っています。 このコマンドを応用して、前月日付(200506)を取得したいのですが、何か言い方法はありませんでしょうか? また、新たなやり方あるのでしたら教えて頂けないでしょうか?

  • 良く判らないファイル?

    touch コマンドでテキストファイルの作成をしたいのですが そのテキストを置くフォルダが見つからないとエラーが出ます。 ls -l で確認してもフォルダはありません。 ただ、GUIで見てみると確かにそのフォルダは存在します。 === 具体的な事は # touch /var/lib/amanda/vtl/info これだと touch: cannot touch '/var/lib/amanda/vtl/info': そのようなファイルやディレクトリはありません とエラーが返って来ます。 それで # ls -l /var/lib/amanda/vtl これだと ls: cannot access /var/lib/amanda/vtl: そのようなファイルやディレクトリはありません と返ってきます。 GUIからファイルをプロパティでチェックすると 全部root権限となってます。 何がおかしいのでしょうか? 試しに # touch /otamesi と入れたらちゃんとテキストファイルがあります。 rm -r で消すこともできます。 ちなみに今やってる作業はamandaの設定です。 http://www.oss-d.net/amanda/2.5 の中の 仮想テープ作成 http://www.oss-d.net/amanda/2.5#w3c9a3c8 • 仮想テープの情報管理用ファイルを作成します。 $ touch /var/lib/amanda/vtl/info この場面でストップしてます。