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

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


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

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

昨日の夜、蛍を見ました。
いえ、名古屋市内で偶然見かけた、というわけではなく、 栗日記の読者の方に誘われて、一家そろって岐阜まで行って、見てきた次第です。

いままで、蛍を見たことがない…わけではなかったのですが、当たり前のように、 あちこちに蛍が飛び交っているのを見るのは、生まれてはじめてでした。

すでにピークを過ぎてしまっていて、先週はもっとたくさんいたそうなのですが、 それでも、あちこちで、光の点滅がゆったりと動いている様は、なかなかに幻想的で、 一家3人とも、しばらく呆然と見入っていました。

やはり、実際に体験することは、とても大事なんだなと思いました。
蛍1000匹でろうそく1本と同じくらいの明るさらしいのですが、実際に見ると、 1匹だけでもけっこう明るかったです。

来年は、是非、ピークのときに見に行きたいと思います。

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

今週のお題 - システム管理ツールを気軽に使う

前から疑問に思っていたのですが、GNOME のデスクトップで、 一般ユーザの権限でシステム・ツールを実行しても、 root のパスワードを入力すると、それを実行できてしまいます。

今まであまり気にしていなかったのですが、ふと気になって、調べてみたところ、 それを実現する方法がわかりました。

というわけで、今週は、一般ユーザでも、root のパスワードを入力することで、 システム管理ツールを実行できるようにしてみたいと思います。

それができるとなにが便利なんだ? っていう鋭い質問が飛んできそうですが、 デスクトップのメニューから実行できるとか、 root のパスワードさえ知っていれば実行できるとか、 中途半端な理由がいくつか思いつくと思いますので、 お好きなものをお選びくださいませ。(^ε^;;


今回は、consolehelper というコマンドを使います。
consolehelper は、一般ユーザがシステム管理ツールを実行できるようにするための、 ラッパープログラムです。
ちなみに、usermode というパッケージに属しています。

usermode パッケージは、Fedora Core や RedHat, Vine などには入っていましたが、 残念ながら、Debian には、それらしきパッケージが見当たりませんでした。
もしどこかにあったら、使ってみてください。パッケージはないけれど、 どうしても使いたいという貴兄は、ソースコードから作るなどして、 対処してください。

さて、もう単刀直入に、その方法をご紹介していきたいと思います。
今回のターゲットは、tcpdump です。
以下の設定は、いわずもがなですが、root になって行ってください。

まず、/etc/security/console.apps/ に、tcpdump というファイルを作成します。 内容は、以下の通りです。

  USER=root
  PROGRAM=/usr/sbin/tcpdump
  SESSION=true

PROGRAM には、実際に実行されるコマンドのパスを指定します。
似た内容のファイルをコピーして書き換えると、間違いが少なくなるかもしれません。

そして、/etc/pam.d/ に、tcpdump というファイルを作成します。
これは、先ほど /etc/security/console.apps/ にあったファイルと同名のファイルを、 そっくりぱくります。(PAM の詳細には深入りしません。)

以下では、network-admin があることを確認して、同名のファイルを複写しています。

  # ls /etc/security/console.apps/network-admin 
  /etc/security/console.apps/network-admin
  # ls /etc/pam.d/network-admin 
  /etc/pam.d/network-admin
  # cp -p /etc/pam.d/network-admin /etc/pam.d/tcpdump

最後に、一般ユーザ用の tcpdump を作成します。
パスは、ここでは、/usr/bin/tcpdump としましょう。

  # ln -s consolehelper /usr/bin/tcpdump

はい、consolehelper のシンボリックリンクです。

それでは、実際に動かしてみましょう。
一般ユーザになって、/usr/bin/tcpdump を実行します。

  % /usr/bin/tcpdump -n

すると、root のパスワードの入力を求められます。
間違いなく入力すると、晴れて tcpdump が実行されます。

ちなみに、/usr/sbin/tcpdump を直接実行すると、以下のように、 そっけなく拒否されてしまいます。

  % /usr/sbin/tcpdump -n
  tcpdump: socket: Operation not permitted

以上、一般ユーザがシステム管理ツールを気軽に実行するための方法を、 ご紹介しました。

他にも、VineLinux 3.2 では、一般ユーザの権限で、 システム・ツールのシステム・ログ(gnome-system-log)を実行することができません。< br /> これを、上記と同様の設定を行うことで、メニューから起動して、 root のパスワードを入力することで、 一般ユーザでログを見ることができるようになります。

…なんてもっともらしく書きましたが、中途半端さは拭えませんね…。
そんなもやもや感を残しつつ、本題をおわりにしたいと思います。

宿題の答え

先週の宿題は、

  CVS ディレクトリにあるファイルを眺めてみましょう。

でした。

では、実際に見てみましょう。

  % ls CVS/
  Entries  Repository  Root

ご覧のように、CVS ディレクトリの下には、3つのファイルがあります。

Entries は、以下のような内容になっています。

  % cat CVS/Entries
  /access.conf/1.1.1.1/Sun Jun 25 13:45:24 2006//
  /httpd.conf/1.2/Sun Jun 25 14:39:34 2006//
  /magic/1.1.1.1/Sun Jun 25 13:45:24 2006//
  /srm.conf/1.1.1.1/Sun Jun 25 13:45:24 2006//
  D

ファイル名と現在のバージョン、入手したときの日付などが、記述されています。

Root には、リポジトリの位置が記述されています。

  % cat CVS/Root
  /usr/local/cvs

そして、Repository には、今のディレクトリに対応する、 リポジトリ内のディレクトリが記述されています。

  % cat CVS/Repository
  httpd/conf

これらがありますので、commit や update のときに、 環境変数 CVSROOT などが設定されていなくても、問題なく実行されるわけですね。

今週の宿題

今週の宿題は、

  root のパスワードを入力しなくても、一般ユーザがシステム管理ツール
  を実行できるようにしてみましょう。

です。

問題文がやけに曖昧ですが、sudo とか setuid とか、 方法を思いつく限り考えてみてください。
(なんて書くと、自分の首を締めている気がするなぁ…。(-ε-;;)

あとがき

いま、専用サーバへ移行すべく、じわじわと作業しているところです。

インストールされていた OS は Fedora Core 5 でしたので、SELinux の勉強をして、 VMware 上のお試し環境で確認してから、専用サーバで作業しようと思っていました。

VMware 上で、SELinux の扱いにさんざん悩んだ末、 named を chroot な環境で動作させることができました。 ですので、同じ設定を専用サーバ上でもしようとしました。

…が、しかし、しかしです。
専用サーバでは、SELinux が disable になっていました。

SELinux の設定なんて一切行う必要なく、named がさくさく動いてしまいました。 もんのすごい拍子抜けです。

きっと、ユーザの利便性などを考慮して、そうしてあるのだと思います。
しかし、SELinux を気嫌いせずに使いこなそうと思った矢先でしたので、 しょっぱなから出鼻をくじかれてしまいました。

まあ、こんなときには、SELinux を有効にするのが漢でしょう。ええ。
…と一瞬でも思ったのですが、結局、disable のままで行くという道を、 わたしは選択しました。

やはり、堅実かつ現実的な判断をすることも、時には必要だと思います。
早急に移行して、安定した環境でもろもろをご提供したい、という思いも あります。

なんていう言い訳を考えてみましたが、なんとなく、勝負から逃げた、 という敗北感が、心の中でただよっています。
この敗北感を払拭するため、今後の移行作業のどこかで、 よけいな勝負をしてみたいと思います。乞うご期待!?

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

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

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

「栗日記」−「栗」で検索すると20位以内に!? 「栗日記」ならもち1位!
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)
http://www.fumido.co.jp/kuriniki/ ( 栗日記ぎゃらりー)


[バックナンバーのトップへ] [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

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本