Open1

bashによるサイバーセキュリティ対策

ikeponikepon

コマンドの検索

コマンドを実行すると、シェルは最初にエイリアスを、続いてシェルのビルトインコマンド(組み込みコマンド)に該当する名前のコマンドを探し、それがない場合は環境変数PATHにセットされているパス(コマンドサーチパス)を先頭から順に探し、見つけたものを実行

プロセル: 実行中のプログラムの OS 用語

  • 3つの異なる入出力のファイルディスクリプタを保持
    • 標準入力: stdin
    • 標準出力: stdout
    • 標準エラー出力: stderr

バックグラウンド実行

  • コマンドの最後の & をつける
    • ping xxx.xxx.xxx.xxx > ping.log &

定義

  • ファイル: 実行可能なプログラム
    • (/bin/ls の中にある) lsなど、コンパイルされたバイナリであり、マシン語
  • スクリプト: 可読形式のテキストファイル
    • bash, Python など
  • 組み込みコマンド: シェルの一部
    • pwd など

コマンド

  • type: 単語が予約語(keyword) か、組み込み関数(builtin)か、コマンド(file)か、いずれでもないかを確認する
  • compgen: 利用可能なコマンド、組み込みコマンド、予約語を確認する
  • tee: 標準出力とファイルの両方に出力される: handywork < data.in | tee result.txt
    • -a : 通常は上書き、このオプションをつけると追記されるタスクを表示
  • jobs: バックグラウンド実行されている
  • fg: jobs によって表示されたバックグラウンド実行のタスクを、表示された番号を使ってフォアグラウンドに戻す
    • fg 1

リダイレクト

  • > : ファイルなどに出力、既存の内容は上書きされる: pwd > pwd.txt
  • >> : ファイルに追加する形で出力: handywork >> result.txt
  • < : ファイルなどから入力: handywork < data.in
  • 2> : エラーメッセージのリダイレクト: handywork > result.txt 2> error.text
  • 2>&1 : 標準出力と標準エラー出力を同時に出す: handywork > result.txt 2>&1
  • &> : 標準出力と標準エラーを一緒に出力: handywork &> result.txt
  • &>> : フ標準出力と標準エラーを一緒に追加する形で出力: handywork >> result.txt
  • > /dev/null : 標準出力を破棄