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

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


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

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

今週は、10年ぶりくらいに、スーツを買いに行きました。

スーツは、客先に出かけるときにしか着ませんので(ひどいときは、 半年くらい着る機会がありません)、学生時代や新入社員時に買った数着を、 せっせと着回していました。

しかし、さすがに、バブル末期の頃に買ったものばかりでは、 デザインが古すぎるようですので、いいかげん1着買い足すことにしました。

もともと、時代の最先端という言葉に無縁ですので、スーツも無難に普通のものを、 と思ったのですが、いまどきの普通は、 3ツボタンのタイトなデザインのものだということを、 いまさらながらに知りました。
また、店員さん曰く、今は 2ツボタンが流行っているそうで。

3ツボタンといえば、10数年前購入したときに、流行っていたという記憶があります。 わたしは頭が大きいので、無難に2ツボタンを選択しましたが、 いつのまにやら、立場が逆転していたとは…。

先週に引き続き、年齢を感じさせられた次第です。
これからは、もう少し、街中や周囲のひとの服装を、 注意深く観察しないといけないな、と思いました。

それでは、今週も、はりきってまいりましょう!

今週のお題 - PAM をカスタマイズする

先週、PAM の設定の読み方を、簡単にご紹介しました。

Vol.105 - PAM の設定を理解する
http://www.usupi.org/sysad/105.html

とはいえ、英語を聞きとることと話すことが違うように、 設定を理解することと変更できることとは違う、と言えるのではないかと思います。

設定を変更できなくても、認証が絡むトラブルが発生したときに、 設定を確認することはできます。それだけでも、後輩たちから、 羨望の眼差しでみられる、という可能性はあるでしょう。

しかし、ここは、もっと積極的に、環境にあわせた設定にするなどして、 ユーザのかたがたを、より幸せに導いてあげることが、 システム管理者の勤めであると言っても過言ではないと思うのですが、 いかがでしょうか。

というわけで、今週は、PAM の設定をいじくって、後輩たちの羨望の的に…ではなく、 ユーザのみなさんをより幸せにしてあげたいと思います。


今週は、以下のような実例を示すことで、 書いた気になっていただこうと思っております。
(もちろん、実際に試せば、触れるようになれると思います。)

  1. UID, GID などが特定の条件のときに、許可(あるいは拒否)する。
  2. 認証前後に何かメッセージを出力する。

PAM のモジュールはたくさんありますが、説明をなるべく短くするため、 使いかたの簡単なモジュールにしぼってみました。

一見すると、役に立つかどうか微妙な例ばかりではないか、と感じるかもしれません。 でも、それには、上記のような大人の事情があったのだ、ということを、 頭の片隅にでも置いといていただけますと、幸いです。


まずは、ユーザIDやグループIDなどの条件を指定できる、 pam_succeed_if をご紹介しましょう。

たとえば、ユーザIDが100以下のひとには許可したくない場合は、 account のどこかに、以下の1行を入れます。

  account    required     pam_succeed_if.so uid > 100

ユーザID(uid)が、100より大きい必要がある、という条件ですね。
グループIDが、1000〜9999の範囲でないといけないときは、 以下のように複数行で指定します。

  account    required     pam_succeed_if.so gid >= 1000
  account    required     pam_succeed_if.so gid < 10000

他にも、ログイン名(login)やシェル(shell)、 ホームディレクトリ(home)に対する条件も指定できます。
たとえば、ログイン名が "test" で始まるひとには、許可を与えたくないなら、 以下のように指定しましょう。

  account    required     pam_succeed_if.so login !~ test*

 

account の例ばっかりになってしまいましたので、別の例を示します。

ログイン名が usu で始まるひとは、ユーザ認証なしで使えるようにするには、 pam_unix の行の手前に、以下を追加します。
(現実的なシチュエーションとは、口がさけても言えませんが…。)

  auth       sufficient   pam_succeed_if.so login =~ usu* use_uid

use_uid は、ユーザ認証を行う前の、 そのプロセスを実行しているユーザを対象にする、というオプションです。
たとえば、su コマンドの場合、コマンドを実行したひとが usu で始まる名前であれば、 パスワードを入力することなく、許可が得られます。

ですから、今までの account の例では、 su などで他のユーザになった後のユーザに対して、 評価が行われることになります。
もし、もとのユーザの名前が "test" で始まるひとに使わせたくない場合は、 以下のように、use_uid をつける必要があります。

  account    required     pam_succeed_if.so login !~ test* use_uid

ただ、この場合、パスワードを入力した後に、拒否されます。 パスワード入力の機会も与えず、にべもなく拒否するには、 auth の pam_unix の行の手前に、以下を追加しましょう。

  auth       requisite    pam_succeed_if.so login !~ test* use_uid

以降が評価されないように、requisite を指定しています。

 

pam_succeed_if は、syslog にいろいろ出力してくれます。 意図したように動作してくれないときは、/var/log/secure あたりを確認しましょう。


…ああ、のっけから詰め込み過ぎですね。すみません。

次に、メッセージを出力するだけの、pam_echo をご紹介します。
ただ単に、指定した文字列を出力するだけのひとです。

たとえば、ユーザ認証をパスした後に、Welcome! 的なものを出力したい場合は、 session に以下を追加してください。

  session    optional     pam_echo.so Welcome to %h!

ここで、%h は、そのマシンのホスト名に置換されます。
たとえば、/etc/pam.d/su に、上記を追加すると、こうなります。

  % su -
  パスワード(P):
  Welcome to ホスト名!
  #

他にも、%H でリモートホスト名とか、%u でユーザ名とかがありますが、 詳しくはオンラインマニュアル(man pam_echo)をご覧ください。

また、ファイルの内容を出力することもできます。
しょっぱなに /etc/issue の中身を出力したい場合は、auth の最初の方に、 以下を追加してください。

  auth       optional     pam_echo.so file=/etc/issue

たとえば、/etc/pam.d/sshd に追加すると、こうなります。
(ちなみに、これは Vine Linux 4.1 の場合の例です。)

  % ssh 自分のマシン

  Vine Linux 4.1 (Cos d'Estournel)
  Kernel 2.6.16-0vl66 on an i686

  Password: 

 

とはいえ、やや決まり文句を出力するだけのひとですので、 あんまり役に立たないのでは、と思われるかもしれません。
しかし、個人的には、デバッグ目的に使えるのでは、と思っております。

というのも、pam_echo を要所に追加しておくと、どこまで評価されたのかが、 出力されるメッセージでわかるからです。
(C言語でいうところの、printf デバッガみたいなものですね。)

というわけで、困ったときには、pam_echo をいっぱい挿入しましょう。


以上、PAM の設定をいじくってみました。

PAM はやや地味な存在ですが、調べたり試したりしていると、 意外と興味深いように思います。ニーズを見つけ出して、いじくってみてください。

また、過去にも、PAM に関するネタは、いくつかご紹介していました。
よろしければ、さっと斜め読んで、試してみていただけますと幸いです。

Vol.056 - パスワードチェックを厳しくする
http://www.usupi.org/sysad/056.html
Vol.057 - ログイン時間を限定する
http://www.usupi.org/sysad/057.html
Vol.064 - システム管理ツールを気軽に使う
http://www.usupi.org/sysad/064.html
Vol.104 - wheel グループを活用する
http://www.usupi.org/sysad/104.html

宿題の答え

先週の宿題は、

  以下の2行を、1行にまとめてください。

  auth            sufficient      pam_unix.so
  auth            required        pam_deny.so

でした。

ようするに、pam_unix によるユーザ認証に失敗したら拒否されるという設定ですので、

  auth            required        pam_unix.so

だけでよいのではないか? …と思うのですが、いかがでしょうか。
あるいは、

  auth            requisite       pam_unix.so

でも同様ではないか、という気がします。

今週の宿題

今週の宿題は、

  auth, account, password もしくは session の行がないとき、認証は
  成功するでしょうか。また、/etc/pam.d にファイルがない場合はどう
  でしょうか。

です。

前者はちょくちょく試しましたが、後者はいまぱっと思いつきました。
知ってて損はないと思いますので、調べておこうと思います。
試せばわかることだと思いますので、ぜひ実行してみてください。

あとがき

先週のあとがきに、グラフの画像の URL を書きましたが、他からリンクされていない、 自サイトの URL を書くと、あることがわかります。

それは、直接的には、あとがきをちゃんと読んでいるひとの数です。

たまに、アマゾンなどのリンクをつけることもありますが、アマゾンですと、 その本に興味を持ったひとしか、アクセスしないと思います。

しかし、先週の画像の場合、画像を見ないと話がよくわかりませんので、 読んでいるひとなら、ほぼ間違いなくアクセスする、と思われます。
(いまどき、HTTP で外部にアクセスできないひとは、ほとんど皆無だろうと思いますので。)

場合によっては、あまり知りたくない情報とも言えるのですが、 ちょっと気になりましたので、書いてみることにした次第です。

 

…というわけで、なんやかんやと引っ張りましたが、注目の結果は、

15人

でした。

目が覚めました。もっと勉強して、考えるようにしたいと思います。

もし、万が一、読んだけど画像は見てないよ、というかたがいらっしゃいましたら、 お手数ですが、ご連絡いただけますと、感動して泣いてしまうかもしれません。

 

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

 

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

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

「栗日記」−毎日栗の絵を描いていますが、もうすぐ2000枚です。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)


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

トップ

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

プロフィール

▼ リンク

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

▼ 作ってみました

Add to Google

▼ せんでん





▼ 最近読んだ本

ハリー・ポッターと不死鳥の騎士団 ハリー・ポッターと不死鳥の騎士団
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと炎のゴブレット ハリー・ポッターと炎のゴブレット
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターとアズカバンの囚人 ハリー・ポッターとアズカバンの囚人
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと秘密の部屋 ハリー・ポッターと秘密の部屋
J.K.Rowling
  ハリポ月刊なので読み直してます
ハリー・ポッターと賢者の石 ハリー・ポッターと賢者の石
J.K.Rowling
  ハリポ月刊なので読み直してます
アルケミスト アルケミスト
パウロ・コエーリョ
  また読んだ
賢者の書 賢者の書
喜多川 泰
  違った視点から見られてよかった
セキュリティウォリア セキュリティウォリア
Cyrus Peikari, Anton Chuvakin
  やや冗長…ためにはなりました
CORE MEMORY CORE MEMORY
John Alderman, Mark Richards
  この筐体でPC作ってほしい!
新訳 星の王子さま 新訳 星の王子さま
サン=テグジュベリ
倉橋 由美子
  つまらない大人になったのか…
.....

[X]
「センネン画報」 今日 マチ子
「粟津潔 デザインする言葉」 粟津潔
「Binary Hacks」 高林 哲,鵜飼 文敏,佐藤 祐介,浜地 慎一郎,首藤 一幸
「Make: Volume01」 オライリー・ジャパン
「セーラが町にやってきた」 清野 由実
「手紙屋」 喜多川 泰
「Linuxカーネル2.6解読室」 高橋 浩和,小田 逸郎,山幡 為佐久
「人蕩し術」 無能 唱元
「子育てハッピーアドバイス2」 明橋 大二, 太田 知子
「ラッセル幸福論」 B. Russell
「それでも人生にイエスと言う」 Viktor Emil Frankl
「子育てハッピーアドバイス」 明橋 大二, 太田 知子
「考具」 加藤 昌治
「北欧デザイン<3>」 渡部 千春
「北斎の謎を解く」 諏訪 春雄
「体感美術館」 平野 暁臣
「チベット永遠の書」 Theodore Illion
「リナックスの革命」 Pekka Himanen
「人月の神話」 Frederick Phillips,Jr. Brooks
「ヤバい経済学」 Steven D. Levitt, Stephen J. Dubner
「小布施ッション<2001-2002>」 セーラ・マリ カミングス
「アンパンマン伝説」 やなせ たかし
「夢をかなえるゾウ」 水野 敬也
「ゲーム開発者のためのAI入門」 David M. Bourg, Glenn Seemann
「北欧デザイン<2>」 渡部 千春
「北欧デザイン<1>」 渡部 千春
「ヒューマン2.0」 渡辺 千賀
「中国・ロシア同盟がアメリカを滅ぼす日」 北野 幸伯
「超ロング・セラー 絶滅寸前商品」 湯浅 豊彦
「The BUG(ザ・バグ)」 すずき ひろのぶ,かとう みつあき
「デザインのデザイン」 原 研哉
「マキアヴェッリ語録」 塩野 七生
「ハンバーガーを待つ3分間の値段」 斎藤 由多加
「星の旅人-スペイン「奥の細道」-」 黛 まどか
「食品の裏側」 安部 司
「On Lisp」 Paul Graham
「ぼくが医者をやめた理由 つづき」 永井 明
「あなたならどうする?」 Jack Nikolaschka
「セキュアプログラミング−失敗から学ぶ設計・実装・運用・管理」
      Mark G. Graff, Kenneth R. van Wyk
「「左利き」は天才?−利き手をめぐる脳と進化の謎
      David Wolman
「自分の中に毒を持て」 岡本 太郎
「アトピーの薬を減らす本」 田中 貴子
「岡本太郎「明日の神話」修復960日間の記録」 吉村 絵美留
「X51.ORG THE ODYSSEY」 佐藤 健寿
「アレルギーっ子の暮らし応援BOOK」 佐藤 のり子
「沖縄文化論」 岡本 太郎
「「伝説の社員」になれ!」 土井 英司
「コンピュータの構成と設計(上)」 Patterson & Hennessy
「カラスのジョンソン」 明川 哲也
「ドリルを売るには穴を売れ」 佐藤 義典
「頭がよくなる照明術」 結城 未来
「クロフォードのインタラクティブデザイン論」 Chris Crawford
「いじめの根を絶ち子どもを守るガイド」 Barbara Coloroso
「非常識のすすめ―逆発想の仏教論」 ひろさちや
「Linuxアドバンストネットワーク構築ガイド - HAサーバ構築編」
      デージーネット
「イノベーションの達人!」 Tom Kelly, Jonathan Littman
「クリエーター50人が語る創造の原点」 小原 啓渡
「欺術 - 史上最強のハッカーが明かす禁断の技法」 Kevin Mitnick
「楽しい気象観察図鑑」 武田 康男
「入門 Ajax」 高橋 登史朗
「リリカルな自画像」 岡本 太郎
「やぎの目ゴールデンベスト」 林 雄司
「初めてのPython 第2版」 Mark Lutz,David Ascher
「鼻兎」 小林 賢太郎
「なぜ、これがアートなの?」 Amelia Arenas
「芸術起業論」 村上 隆
「まほう色の瞳」 Enrique Barrios
「ラーメンズつくるひとデコ」 ラーメンズ
「R25 つきぬけた男たち」 R25編集部
「美の呪力」 岡本 太郎
「しろのあお」 上大岡 トメ
「ザ・ゴール」 Eliyahu M. Goldratt
「ハッカーと画家」 Paul Graham
「岡本太郎に乾杯」 岡本 敏子
「Fedore Core Expert」 Software Design
「誰も知らない男」 ブルース・バートン
「子どもが育つ魔法の言葉」 ドロシー・ロー・ノルト
「国家の罠」 佐藤 優
「夜回り先生」 水谷 修
「やぎの目絵日記」 林 雄司
「7つの習慣」 スティーブン・R. コヴィー
「まろ、ん?−大掴源氏物語」 小泉 吉宏
「ザ・サーチ グーグルが世界を変えた」 ジョン・バッテル
「ポストモダン・マーケティング」 スティーブン ブラウン
「機動戦士ガンダムさん」 大和田 秀樹
「小エロのひみつ - Webやぎの目研究発表」 林 雄司
「これ、誰がデザインしたの?」 渡部千春
「60分間・企業ダントツ化プロジェクト」 神田 昌典
「ガルシアへの手紙」 エルバート ハバード
「人生は素晴らしいものだ」 オグ・マンディーノ
「ザ・マインドマップ」 トニー・ブザン,バリー・ブザン
「ワインバーグのシステム思考法」 G.M.ワインバーグ
「渋谷ではたらく社長の告白」 藤田 晋
「渋井真帆の日経新聞読みこなし隊」 渋井 真帆
「コラム息切れ」 小野 法師丸
「早朝起業」 松山 真之介
「変な人が書いた驚くほどツイてる話」 斎藤 一人
「35歳から仕事で大切にしたいこと」 村井 勉
「金融広告を読め」 吉本 佳生
「発想する会社!」 トム・ケリー,ジョナサン・リットマン
「エハイク」 吉田 戦車
「人生の旋律」 神田 昌典
「仕事の思想」 田坂 広志
「CPUの創りかた」 渡波 郁
「非常識な成功法則」 神田 昌典
…これ以前は記録してません…

▼ 気に入ってる本

夢をかなえるゾウ 夢をかなえるゾウ
水野 敬也
  いままでで最高の「笑える」成功本
Linuxデバイスドライバ Linuxデバイスドライバ
Alessandro Rubini,
Jonathan Corbet
  ドライバ作らなくてもためになる
Firefoxの改造テクニック! Firefoxの改造テクニック!
大浦 淳
  いま栗日記拡張を考えてます
Apacheモジュール プログラミングガイド Apacheモジュール プログラミングガイド
小山 浩之
  Apacheの中身もわかるよ
図解 実戦マーケティング戦略 図解 実戦マーケティング戦略
佐藤 義典
  栗日記も戦略的に行こう!
やぎの目ゴールデンベスト やぎの目ゴールデンベスト
林 雄司
  よめも爆笑してました
アルケミスト アルケミスト
パウロ・コエーリョ
  ヘコみそうなとき読みます
X51.ORG THE ODYSSEY X51.ORG THE ODYSSEY
佐藤 健寿
  X51.ORGの集大成
チベット永遠の書 チベット永遠の書
Theodore Illion
  いろんな意味ですごい!!
影響力の武器 影響力の武器
ロバート・B・チャルディーニ
  思わず納得します