( ServerFaultにも投稿されましたが、ここには SVN/TFS ユーザーが増えることに気付きました)
結論の質問:
- チェンジャーのユーザー名とともに、ターゲット フォルダー内のファイルに加えられたすべての変更をサイレント モードでチェックインする無人サービスが実行されている SVN/TFS リポジトリを作成することは可能ですか? ファイルを変更する人には完全に見えないようにする必要があります。
私の質問の背景は次のとおりです。
多くの人が ASP.NET Web サイトに変更を展開しています...デザイナーは HTML と CSS の変更を展開し、.NET 開発者は ASPX、DLL ファイルを展開し、グラフィック デザイナーは画像を展開します。
理論的には、これらすべての展開は非常に管理された方法で行われます。ソース コードは SVN で維持され、展開パッケージが作成されてバージョン管理され、展開は最初に運用前のサイトでテストされ、ライブへの展開は文書化されます。理論的には、どのファイルが、いつ、なぜ、誰によって変更されたかを常に把握しています。
ただし、誰かがライブ サイトで直接変更を行い、すべての手順をバイパスすることがあります。通常、これは何らかの緊急事態が原因です。時々、サイトに問題を引き起こす変更が行われます...そして誰もそれを所有していません!
したがって、私たちが探しているのは、サーバー上の特定のフォルダーに対するすべてのファイルの変更をキャプチャする、ある種の無人サービスです。ファイルの変更が発生したときに「チェックイン」する必要があります。つまり、ファイル全体の新しいバージョンをキャプチャし、ユーザーの Windows ログインもキャプチャします。つまり、すべてのファイルは、SVN や TFS などと同じように、それに加えられた変更の履歴を取得します。ファイルの履歴でバージョン間の差分を確認できるはずです。キャプチャする内容の 99% は、適切な手順によって行われた変更である必要がありますが、そうでない 1% も含まれている必要があります。
明確にするために、OSSEC のような「ファイルの整合性」アラートを送信するサービスを探しているわけではありません。すべてのファイル変更をキャプチャするだけでよいので、何か問題が発生した場合は、変更ログをチェックして、通常の手順以外で何が行われたかを把握できます。また、明らかに完全に自動化する必要があります - ユーザーに追加の手順に従うことを要求することは、私たちが求めているものではありません!
また、定期的にバックアップを取り、それらの間の違いを探すことは、私たちが望んでいることではありません。