いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.057 / 読者数:806名

こんばんは、うすだです。

まぐまぐは、ときどきメールアドレスの整理をするので、 読者数ががくんと減ることがあります。今週がちょうどそうでした。

メルマガに関する本やメルマガなどを読んでいますと、読者数が減ったということは、 読者の質が上がったということだから気にすることはない、と書いてあります。
また、読者数の増減をいちいち気にしていてはいけない、とも書いてありました。

でも、実際に自分で発行していると、読者の増減は気になりますし、 減るとヘコみます。なかなかポジティブに考えるのは難しいです。

それに、今メルマガの本を斜め読んでいたら、

読者は減らないのに反応がまったくない、というメルマガではダメです。

というきっつい一文が目にとびこんできました。
もう、心がぼこぼこにこてんぱん、って感じです。

…もう少し、打たれ強いにんげんになりたい、と思います。

けっこう後向きですが、気にせず、今週も、はりきってまいりましょう!

今週のお題 - ログイン時間を限定する

サーバといえば、24時間365日フル活動、盆も正月もないのが当たり前。
しかし、ユーザは、24時間フルに使うわけではありません。

忙しい技術屋さんや、われわれシステム管理者などは、 使うときが不定期だったりしますが、そうでない方々であれば、 普段使う時間を、だいたい特定できるのではないかと思います。

だとするならば、使っていない時間帯には、ログインできないようにしてしまえば、 その間、クラッカーなひとからの悪用を防ぐことができます。

システム管理者たるもの、事後にあわてて対策を打つのではなく、 事前に手を打っておくべきではないでしょうか。備えあれば憂いなし、です。

というわけで、今週は、ログイン時間を限定する方法を、ご紹介したいと思います。


さて、先週に引続き、今週も PAM を使います。
具体的には、/lib/security/pam_time.so を使います。

pam_time.so は、/etc/security/time.conf に書かれた設定にしたがって、 ログインを許可するかどうか判断します。

time.conf の書式は、以下の通りです。

  サービス;仮想端末;ユーザ;時間帯

4つのフィールドがあり、それぞれを ; で区切ります。
# 以降は、コメントとみなされます。
そして、各フィールドに、条件を指定しますが、時間帯以外のフィールドは、 以下のような記述が可能です。

  • * を指定すると、なんでもありです。
  • 条件の先頭に ! をつけると、否定になります。
  • 複数の条件を指定できます。
    & が AND(論理積)、| が OR(論理和) です。

「サービス」には、login や ssh などのサービス名を指定します。
特にサービスによって区別する必要がないなら、* を指定します。

「仮想端末」には、tty* や ttyp* などの仮想端末名を指定します。
詳しくは述べませんが、tty* はコンソール、ということを覚えておけば、 なんとかなりそうです。

「ユーザ」には、ユーザ名を指定します。…それだけです。

「時間帯」には、許可する時間帯を、曜日と時間で指定します。
曜日には、以下を指定することができます。

  Su  日曜日
  Mo  月曜日
  Tu  火曜日
  We  水曜日
  Th  木曜日
  Fr  金曜日
  Sa  土曜日
  Wk  平日 (月曜日|火曜日|水曜日|木曜日|金曜日)
  Wd  休日 (土曜日|日曜日)
  Al  全部 (月曜日|火曜日|水曜日|木曜日|金曜日|土曜日|日曜日)

時間は、HHMM-HHMM と、24時間形式を - でつないで範囲指定します。
曜日は、続けて複数指定できます。
曜日も時間も、省略することはできませんので、ご注意ください。

…あ、それから大事なことを言い忘れていました。
time.conf に書かれた設定のいずれにも該当しなければ、そのユーザは、 いつでもログインできます。

上記にしたがって time.conf を記述したら、次は、 pam_time.so を使用する設定を行います。

RedHat や Fedora Core, Vine などの場合は、/etc/pam.d/system-auth の中にある、 先頭が account で pam_unix.so の設定の直後に、pam_time.so の設定を追加します。

  account  required  /lib/security/$ISA/pam_unix.so
  account  required  /lib/security/$ISA/pam_time.so  <= これを追加

Debian な方々は、/etc/pam.d/common-account に、同様に追加します。

  account required        pam_unix.so
  account required        pam_time.so  <= これを追加

これで、pam_time.so が使えるようになりました。


では、例をいくつかご紹介したいと思います。

まず、root は、コンソールからはいつでもログインできるけれど、 そうでなければ、平日の 8:30 から 17:00 に限定してみましょう。

  *;!tty*;root;Wk0830-1700

tty* と指定すればコンソールだけに限定されますが、 ! で否定にしたのでコンソール以外が対象となります。

次に、ユーザ mario と luigi は、月曜日がいつも休みなので、 月曜日を使えない設定にしてみましょう。

  *;*;mario|luigi:SuTuWeThFrSa0000-2400

ちょっと面倒ですが、日火水木金土を羅列します。
(土日は Wd にまとめてもいいですね。)
時間帯には制限がありませんので、0時から24時まですべてを指定します。


以上、ログイン時間を限定する方法を、ご紹介しました。

もし SSH でうまくいかない場合は、 sshd が PAM を使わない設定になっている可能性があります。
/etc/ssh/sshd_config に、

  UsePAM yes

という設定があるかどうか、確認してください。
なければ、上記を追加して、sshd を再起動してください。
(あ、Debian だと、/etc/init.d/ssh restart です。)

  # /etc/init.d/sshd restart

それから、time.conf をうっかりな内容にしてしまい、 誰もログインできなくしてしまいますと、とっても困ります。
ですので、あらかじめ、どこかでログインした状態にしてから、 設定変更などするようにしましょう。
また、コンソールからはログインできるようにしておくなど、 最悪現地で対処できるような設定にしておいたほうが、 なにかと無難だと思います。
(テスト用のユーザで試したほうが、もっと無難かもしれませんが。)

ちなみに、わたしは、間違った設定にして、どこからも、 そしてなんびとたりともログインできない状態にしてしまったことがあります。
しかたなくリセットボタンを押し、シングルユーザモードで立ち上げ直して、 設定を戻しました。

ま、そんな苦い経験も、いまとなってはいい思い出ですけどね。
(…なんて書いてますが、実は、経験したのは、昨日のことです。orz)

宿題の答え

先週の宿題は、

  一定期間経つと、パスワードを変更しないといけなくなるように、設定
  してください。

でした。

こちらを見ていただければ、一目瞭然です。

Vol.036 - パスワードを管理する
http://www.usupi.org/sysad/036.html

…が、いちおう書かせていただきますと、chage コマンドを使います。

-M オプションで、パスワードの有効日数を指定できます。
この日数を過ぎると、強制的に変更を要求されるようになります。
以下は、ユーザ usu に対して、28日間の猶予を与えています。

  # chage -M 28 usu

少しユーザフレンドリーにするなら、-W オプションを使って、 事前に警告を発してあげましょう。
以下は、ユーザ usu に対して、有効期限が切れる7日前から、 切れるよ〜という警告を、ログイン時に出力してくれます。

  # chage -W 7 usu

さらに詳しく知りたいかたは、上記の過去ネタをご覧ください。

今週の宿題

今週の宿題は、

  /etc/security/time.conf に、同じユーザの設定を複数指定することが
  できるでしょうか?

です。

たとえば、平日は 8:30 から 18:00 までを許可して、 土日は 10:00 から 20:00 までを許可したいときに、 以下のような設定ができるでしょうか。

  *;*;usu;Wk0830-1800
  *;*;usu;Wd1000-2000

いろいろ試行錯誤してみてください。

あとがき

この業界に生息し続ける限り、常に、本や雑誌やインターネットなどで、 最新情報や技術に目を光らせている必要があると思います。

と思っているわりには、わたしはあまりその手のモノを読んでいません。
ここ1〜2週間の間も、以下の本を読んでいました。

国家の罠 外務省のラスプーチンと呼ばれて
http://www.amazon.co.jp/exec/obidos/ASIN/4104752010/usupiorg-22

去年、結構話題になっていましたので、なにをいまさら、 と思われるかもしれませんが…。

著者はロシア外交を専門とする外交官でしたが、2002年の鈴木宗男事件で逮捕され、 外務省をおわれてしまいます。
その逮捕前夜から、有罪判決が下されるまでを、 外務省や鈴木宗男氏らの観点で書かれた手記です。

まあとにかく、こゆい本です。
事件の一連の流れはもちろん、政治家や外務省、検察庁、ロシアの考え方や常識、 取調べの手口、拘置所の内情、などなど、面白い内容がぎゅっとつまっています。

で、結局なにが言いたいかと言いますと、物事は、 立場が違うとまったく違って見えることがある、ということです。

当時のマスコミの印象から、鈴木氏は悪いひと、というイメージが、 どうしてもつきまといますが、これを読むと、そうとも言い切れない、 と思うようになりました。

世の中、いろんな事件が出来事が起こっていますが、 マスコミなどの情報を鵜のみにせず、なるべく自分の頭で考えて、 とらえたいと思います。

そして、それは、この業界の技術や製品などに対しても、 同様ではないかと思います。
とはいえ、客観的に見るのは、とっても難しいですけどね。

今週も、ここまで読んでいただき、ありがとうございました。
それでは、また来週に、お会いしましょう!

「いますぐ実践! Linux システム管理」の解除は、以下からできます。
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」−毎日栗の絵を描いています。がんばるぞー。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 6をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューション(Fedora, Ubuntu)も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora9)
Fedora9のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日経Linux
今や数少なくなってしまったLinuxの雑誌。ニュースやガイドもあります。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
gihyo.jp…技術評論社
Linuxに限らず様々な技術情報が満載のサイト。 SoftwareDesign誌も、 ソフトウェア技術者は必見です。
SourceForge.JP Magazine
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本