Linuxシステムでのlsofコマンドの誤った使用法はたくさんありますが、その中の1つ、特にログファイルの誤った復元は、すべての人を紹介します。 Linuxはlsofコマンドを使用して失われたファイルを回復します。
前提条件:ファイルを削除した後、プロセスは、まだ回復のためのログファイルタイプのため、より適切でアクセス可能です。
Linuxコンピュータが危険にさらされた場合、攻撃者の証跡を隠すためにログファイルを削除するのが一般的です。管理エラーは、古いログのクリーンアップ中にデータベースのアクティブなトランザクションログを誤って削除するなど、重要なファイルを誤って削除することもあります。時々これらのファイルはlsofによって回復することができます。
プロセスがファイルを開くとき、そのファイルが削除されていても、そのプロセスがファイルを開いたままにしている限り、そのファイルはディスク上に存在します。これは、ファイルが削除されたことをプロセスが認識していないことを意味します。ファイルを開いたときに、ファイルに提供されているファイル記述子に対して読み書きを行うことができます。このプロセスを除いて、このファイルは対応するディレクトリインデックスノードが削除されているため見えません。
/procディレクトリには、カーネルとプロセスツリーを反映したさまざまなファイルが含まれています。 /procディレクトリはメモリにマップされる領域をマウントするので、これらのファイルとディレクトリはディスク上に存在しません。そのため、これらのファイルを読み書きするとき、実際にはメモリから取得されます。関連情報lsof関連情報のほとんどは、プロセスのPIDにちなんで名付けられたディレクトリに格納されています。つまり、/proc /1234には、PIDが1234のプロセスに関する情報が含まれています。各プロセスディレクトリには、アプリケーションがプロセスのメモリ空間、ファイル記述子リスト、ディスク上のファイルへのシンボリックリンク、およびその他のシステム情報を簡単に理解できるようにするためのさまざまなファイルがあります。 lsofプログラムは、この情報とカーネルの内部状態に関するその他の情報を使用して、その出力を生成します。そのため、lsofはプロセスのファイルディスクリプタや関連するファイル名などの情報を表示できます。つまり、プロセスのファイル記述子にアクセスすることによって、ファイルに関する情報を見つけることができます。システム内のファイルが誤って削除された場合、そのファイルにアクセスしているプロセスがシステム内に残っている限り、lsofを介して/procディレクトリからファイルの内容を復元できます。
/var /log /messagesファイルが誤操作により削除された場合、/var /log /messagesファイルを復元する方法は次のとおりです。まずlsofを使用して、現在開いているプロセスがあるかどうかを確認します。 var /logmessagesファイルは次のとおりです。
#lsof |
Grep /var /log /messages
コマンドPIDユーザーFDタイプデバイスサイズ/オフノード名
syslogd 14572 root 1w REG 253,0 5584 1737237 /var /log /messages
#rm - f /var /log /messages
#lsof |
Grep /var /log /messages
コマンドPIDユーザーFDタイプデバイスサイズ/オフノード名
syslogd 14572 root 1w REG 253,0 5584 1737237 /var /log /messages(削除済み)< Br>
上記の情報から、PID 14572(syslogd)オープンファイルのファイルディスクリプタは1であることがわかります。また、/var /log /messagesが削除対象としてマークされていることもわかります。そのため、/proc /14572 /fd /1内の対応する情報を見ることができます(fdの下の各デジタル名のファイルは、プロセスに対応するファイル記述子を示します)。
#tail -n 10 /proc /14572 /fd /1
2月4日20時02分25秒host191カーネル:klogd 1.4.1、ログソース= /proc /kmsgが開始されました。
2月4日20時02分: 45 host191 root:aaa
2月4日20:05:07 host191 dhclient:eth0から192.168.0.254へのDHCPREQUESTポート67
Feb 4 20:05:07 host191 dhclient:192.168からのDHCPACK。 0.254
Feb 4 20:05:07 host191 dhclient:192.168.0.191にバインド - 718秒で更新
Feb 4 20:15:50 host191 syslogd 1.4.1:再起動。
Feb 4 20:15:50 host191カーネル:klogd 1.4.1、ログソース= /proc /kmsgが開始されました。
Feb 4 20:17:05 host191 dhclient:eth0からDHCPREQUEST 192.168.0.254 port 67
2月4日20時17分05秒host191 dhclient:DHCPACK from 192.168.0.254
2月4日20:17:05 host191 dhclient:192.168.0.19にバインド1 - 804秒で更新#cat /proc /14572 /fd /1》 /var /log /messages
前のページ次のページ合計3ページzh-CN"],null,[1],zh-TW"]]]
curlはオープンソースのファイル転送ツールです。Linuxシステムに適用することができます。このツールを使用したい場合は、curlコマンドのパラメータを理解する必要があります。操作例では、興味のある
locateコマンドは、Linuxの検索コマンドの1つで、データの検索に使用できますが、findコマンドと似ていますが、より多くのリソースを消費します。コマンドの使い方 非常に高速なファイル検索シス
Linuxの運用では、アクセスにproxy ipを使用するWebサイトユーザーに遭遇することがありますが、これにはアクセスを制限するためのNginxの設定が必要です。
シンプルな構造&hellipについて
まず話;フロントエンドnginxのリバースプロキシ、PHP&hellipのためのバックエンドnginxのインスタンスアプリ、実際には、清華は
grepのahtax 120.193.47.34 - - [26/9月/2014:23:34:44 0800]&ldquo; GET /ahtax/index.html HTTP /1.
Linuxパーティションをフォーマットするとき、多くの人が難しい問題に遭遇し、/dev /sda7をstatできませんでした---そのようなファイルまたはディレクトリのエラーはありません。その後、Li