Recently in シェルスクリプト Category

こんにちは、しのはら です。

Linuxでコマンドの結果をパースするとき、言語を統一して取り扱いたい。
そんなときは、コマンドの先頭に「LANG=C」と書けば、コマンドの結果を英語で出力できます。


例)

・日本語
# df -k
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                     147282220  45936656  93743388  33% /
/dev/sda1               101086     13429     82438  15% /boot
tmpfs                   901640         0    901640   0% /dev/shm
none                    901552       176    901376   1% /var/lib/xenstored

・英語
# LANG=C df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                     147282220  45936660  93743384  33% /
/dev/sda1               101086     13429     82438  15% /boot
tmpfs                   901640         0    901640   0% /dev/shm
none                    901552       176    901376   1% /var/lib/xenstored

(環境はCentOS5.3です)


でも、そんな「LANG=C」でもコマンドの結果を英語で出力できないコマンドを発見したので、ご紹介します。

さて早速シェルを組みたいところですが、いろいろとコマンドを組み合わせて作るので各コマンドの説明を先にしたいと思います。

 セキュリティ関係の話題が多い昨今、パスワードの管理で頭を悩ませている方もいるのではないでしょうか?

 今回は、特別な機器を用いずに、シェルスクリプトとメールでサーバのワンタイムパスワードを実装してみたので、それを紹介します。
 一時的に外部の人へアカウントを貸与する場合が多い場合などに、役に立つことと思います。

 仕組みとしては、
 ①常時ログを監視
 ②ログにログインメッセージが出力されたときに、そのユーザのパスワードを変更する。
 ③パスワードが書かれたファイルを固定パスワードつきzip圧縮して、メールに添付して管理者に送信する。
 といった、簡単なものです。
 確認した環境は、CentOS5.0です。
 外部にメールを送信できる環境が必要です。
 また、expectがあると便利です。(#yum install expect などで入手できます。)
  expectは、ランダムパスワードを生成するために使っているだけなので、なくても他のツールで代用可能です。


About this Archive

This page is a archive of recent entries in the シェルスクリプト category.

Asterisk is the previous category.

セキュリティ is the next category.

Find recent content on the main index or look in the archives to find all content.