sudo の料理方法

Super user のコマンドをユーザー環境から実行する sudo を料理してみましょう。

最終更新日 : 1998 年 11 月 30 日


  1. 材料

    • Solaris[ developper ]以上ががインストールされたコンピュータ。
      今回は Solaris2.6 / Ultra1 を素材にしました。

    • GNU gcc の実行環境

    • GNU gzip の実行環境

    • sudo のソースコード

  2. 材料の入手

    ソース・コードを入手しないと話になりませんので、誰かにもらうかお買い物に行きましょう。
    下記の場所や雑誌の付録から入手してください。

    Web site だと http://www.courtesan.com/sudo/ がオリジナルサイトで ftp site だと ftp://ftp.courtesan.com の下の /pub/sudo がオリジナルサイトのようです。
    ftp://ftp.win.ne.jp/pub/misc/sudo/ などにもあります。
    Linux や FreeBSD の配布に含まれているようですので、その辺を探してみてください。
    今回は、 ftp://sunsite.sut.ac.jp の /pub/archives/linux/distributions/slackware/source/ap/sudo/ から sudo_1.5.4.orig.tar.gz を持ってきました。

  3. 下拵え

    まず材料を解凍します。
    ./configure という優れものを利用して Makefile を作成します。
    この時、 ./configure のオプションはいっぱいありますが、基本的にデフォルトでお料理をしましょう。
    パスは[ /usr/bin /usr/sbin /usr/ccs /usr/ccs/bin /usr/openwin/bin /usr/openwin/bin/xview /usr/local/bin . ]に貼ってあります。

    # cd /usr/local/compile
    # gzip -dc sudo_1.5.4.orig.tar.gz | tar xvf -
    # cd sudo-1.5.4.orig
    # ./configure

  4. さてコンパイル

    ./configure で出来た Makefile では、コンパイルオプションが -g -O2 になっているので、デバッグなんてしないから -O2 だけに編集して make しましょ。

    # vi Makefile

    CFLAGS = -g -O2 → CFLAGS = -O2
    # make

  5. さぁ、盛り付け

    Makefile に install オプションがあるのでこれで盛り付けてしまいましょう。 デフォルトだと実行ファイルは /usr/local/bin と /usr/local/etc に sudo の設定ファイルは /etc にマニュアルは /usr/local/man/man5 と /usr/local/man/man8 にインストールされます。

    # make install

  6. 食事

    さっそく sudo を試してみましょう。まず設定ファイル /etc/sudoers を編集して Super user コマンドを実行できる人を設定しましょ。設定ファイルに関しては、 man sudoers(5) に詳しく書かれているのでよく読んでください。じゃないとセキュリティホールだらけになります。まぁ、今回の食事は動かしてみるということで ...。
    まず、 /usr/local/etc/visudo を使用して /etc/sudoers を編集します。ユーザーさんは pochi で、実行時に一応 root のパスワードを聞いてくるようにして cat /etc/shadow を実行してます。

    # /usr/local/etc/visudo

    # User alias specification

    # User alias specification
    User_Ailas FULLTIME=prom

    # User privilege secification
    root ALL=(ALL)ALL

    # User privilege secification
    root ALL=(ALL)ALL
    FULLTIME ALL=ALL
    # su pochi
    % sudo cat /etc/shadow
    Pasword :

    今度はパスワードも要求しなくしちゃいます。

    # /usr/local/etc/visudo

    # User privilege secification
    root ALL=(ALL)ALL
    FULLTIME ALL=ALL

    # User privilege secification
    root ALL=(ALL)ALL NOPASSWD: ALL
    FULLTIME ALL=ALL
    # su pochi
    % sudo cat /etc/shadow

    /usr/local/etc/visudo を使うと /etc/sudoers の中の書式ミスなんかをチェックしてくれます。えらいなぁ〜

  7. 後片付け

    ソース・コードなどはバックアップしておいて作業した生ごみは必要がなければ消してしまいましょう。

    # cd /usr/local/compile
    # rm -r sudo_1.5.4.orig.tar.gz sudo-1.5.4


[ Solaris 料理コーナー ] [ トップページ ]

BEKKOAME//INTERNET で公開していたページです。
作成: 1998 年 11 月 16 日〜 Copyright (C) 1998 Katsauki Shimizu <katsuaki-s @_nifty.com> All rights reserved.

access counter