Filewatcher File Search
FTP Search
  
Directory 
  
Content Search 
   
pkg://Shadow-Password-HOWTO.tar.gz:28565/Shadow-Password-HOWTO-6.html  downloads

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Linux Shadow Password HOWTO: アップグレードするかパッチを当てる必要があるプログラム</TITLE>
 <LINK HREF="Shadow-Password-HOWTO-7.html" REL=next>
 <LINK HREF="Shadow-Password-HOWTO-5.html" REL=previous>
 <LINK HREF="Shadow-Password-HOWTO.html#toc6" REL=contents>
</HEAD>
<BODY>
<A HREF="Shadow-Password-HOWTO-7.html">次のページ</A>
<A HREF="Shadow-Password-HOWTO-5.html">前のページ</A>
<A HREF="Shadow-Password-HOWTO.html#toc6">目次へ</A>
<HR>
<H2><A NAME="s6">6. アップグレードするかパッチを当てる必要があるプログラム</A></H2>

<P><EM>Shadow Suite</EM> にはパスワードにアクセスするプログラムほとんどの
代替品を含んでいますが、ほとんどのシステムでは他にもいくつかのプログラ
ムが必要となります。
<P>
<P><EM>Debian パッケージ</EM>では(そうでない場合でも構いませんが)、
以下の場所からシステムの再構築に必要なプログラムの Debian パッケージの
のソースを入手することができます。
ftp://ftp.debian.org/debian/stable/source/
<P>
<P>この節の残りは<CODE>adduser</CODE>, <CODE>wu_ftpd</CODE>, <CODE>ftpd</CODE>,
<CODE>pop3d</CODE>, <CODE>xlock</CODE>, <CODE>xdm</CODE> and <CODE>sudo</CODE> が 
<EM>Shadow Suite</EM> をサポートできるようにするため行うアップグレードについて説
明します。
<P>
<P>他のプログラムも shadow サポートできるようにする方法は 
<A HREF="Shadow-Password-HOWTO-8.html#sec-adding">Cプログラムを Shadow Suite に対応させる方法</A> の章を参
照して下さい。(実際に shadow ファイルにアクセスするためには root に 
SUID するか shadow に SGID する必要があります。)
<P>
<P>
<H2><A NAME="ss6.1">6.1 Slackware adduser program</A>
</H2>

<P>Slackware パッケージ(おそらく他のパッケージにも)には 
<CODE>/sbin/adduser</CODE> という対話的に新しいユーザを追加するプログラム
が含まれています。このプログラムの shadow 対応版は 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Admin/accounts/adduser.shadow-1.4.tgz">ftp://sunsite.unc.edu/pub/Linux/ system/Admin/accounts/adduser.shadow-1.4.tar.gz</A>
から入手できます。
<P>
<P>筆者は slackware の<CODE>adduser</CODE>の代りに<EM>Shadow Suite</EM>に含ま
れているプログラム(<CODE>useradd</CODE>, <CODE>usermod</CODE>,
<CODE>userdel</CODE>)を使うことを勧めます。使い方は新たに覚えなければなり
ませんが、それだけの価値はあります。より細かい制御ができますし、
(<CODE>adduser</CODE>では行わない) <CODE>/etc/passwd</CODE> や 
<CODE>/etc/shadow</CODE>のロッキングもしてくれるからです。
<P>
<P>詳しくは
<A HREF="Shadow-Password-HOWTO-7.html#sec-work">Shadow Suite を使ってみる</A> 
の章を見てください。
<P>
<P>それでも adduser を使いたいならば、以下のような手順でインストールしてください:
<BLOCKQUOTE><CODE>
<PRE>
tar -xzvf adduser.shadow-1.4.tar.gz
cd adduser
make clean
make adduser
chmod 700 adduser
cp adduser /sbin
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<H2><A NAME="ss6.2">6.2 wu_ftpd サーバ</A>
</H2>

<P>大部分の Linux システムでは <CODE>wu_ftpd</CODE> サーバを使っています。も
し、あなたの使っているパッケージに <EM>Shadow Suite</EM>がインストール
されていない場合、<CODE>wu_ftpd</CODE> も shadow をサポートするようにはなっ
ていないでしょう。wu_ftpd は <CODE>inetd/tcpd</CODE> から<EM>root</EM>のプ
ロセスとして起動されます。もし、あなたが古い <CODE>wu_ftpd</CODE> デーモン
を走らせているなら、バージョンを上げてください。古いバージョンは
<EM>root</EM>のアカウントを認めてしまうバグを持っていることで知られて
いるからです。(詳しくは 
<A HREF="http://bach.cis.temple.edu/linux/linux-security/Linux-Security-FAQ/Linux-wu.ftpd-2.4-Update.html">Linux security ホームページ</A>)
を参照して下さい。 )
<P>
<P>幸い、shadow を有効にするためにはソースコードを入手して再コンパイルす
るだけです。
<P>
<P>ELF システムでない場合には、<CODE>wu_ftp</CODE>サーバは Sunsite に 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Network/file-transfer/wu-ftpd-2.4-fixed.tar.gz">wu-ftp-2.4-fixed.tar.gz</A>
の名前で置いているものが利用できます。
<P>
<P>ファイルを入手したら、このファイルを <CODE>/usr/src</CODE> に置いてから、
以下のような操作を行ってください:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src
tar -xzvf wu-ftpd-2.4-fixed.tar.gz
cd wu-ftpd-2.4-fixed
cp ./src/config/config.lnx.shadow ./src/config/config.lnx
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>次に <CODE>./src/makefiles/Makefile.lnx</CODE> ファイルの以下の部分を:
<BLOCKQUOTE><CODE>
<PRE>
LIBES    = -lbsd -support
</PRE>
</CODE></BLOCKQUOTE>

次のように変更します:
<BLOCKQUOTE><CODE>
<PRE>
LIBES    = -lbsd -support -lshadow
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>そして、実行ファイル生成スクリプトの実行及びインストールを行います:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src/wu-ftpd-2.4-fixed
/usr/src/wu-ftp-2.4.fixed/build lnx
cp /usr/sbin/wu.ftpd /usr/sbin/wu.ftpd.old
cp ./bin/ftpd /usr/sbin/wu.ftpd
</PRE>
</CODE></BLOCKQUOTE>
 
<P>
<P>これは、Linux 用 shadow の設定ファイルを使ってサーバのコンパイル及びイ
ンストールを行います。
<P>
<P>筆者の Slackware 2.3 システムでは実行ファイル生成スクリプトを実行する
前に以下の操作を行う必要がありました:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/include/netinet
ln -s in_systm.h in_system.h
cd -
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>ELF システム上ではコンパイルがうまくいかないことが報告されていますが、
次のリリースのβ版を使えばうまくいくようです。
これは、
<A HREF="ftp://tscnet.com/pub/linux/network/ftp/wu-ftpd-2.4.2-beta-10.tar.gz">wu-ftp-2.4.2-beta-10.tar.gz</A>
として入手できます。
<P>
<P>ファイルを入手したら、これを <CODE>/usr/src</CODE> に置いて、以下の操作を
行ってください:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src
tar -xzvf wu-ftpd-2.4.2-beta-9.tar.gz
cd wu-ftpd-beta-9
cd ./src/config
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>次に <CODE>config.lnx</CODE> ファイルの以下の部分を
<BLOCKQUOTE><CODE>
<PRE>
#undef SHADOW.PASSWORD
</PRE>
</CODE></BLOCKQUOTE>

次のように変更します。
<BLOCKQUOTE><CODE>
<PRE>
#define SHADOW.PASSWORD
</PRE>
</CODE></BLOCKQUOTE>

それから、
<BLOCKQUOTE><CODE>
<PRE>
cd ../Makefiles
</PRE>
</CODE></BLOCKQUOTE>

を行い、カレントディレクトリを変更してから <CODE>Makefile.lnx</CODE>
ファイルの
<BLOCKQUOTE><CODE>
<PRE>
LIBES = -lsupport -lbsd # -lshadow
</PRE>
</CODE></BLOCKQUOTE>

の部分を次のように変更します。
<BLOCKQUOTE><CODE>
<PRE>
LIBES = -lsupport -lbsd -lshadow
</PRE>
</CODE></BLOCKQUOTE>

そして実行ファイル生成とインストールを行います:
<BLOCKQUOTE><CODE>
<PRE>
cd ..
build lnx
cp /usr/sbin/wu.ftpd /usr/sbin/wu.ftpd.old
cp ./bin/ftpd /usr/sbin/wu.ftpd
</PRE>
</CODE></BLOCKQUOTE>
 
<P>
<P><CODE>/etc/inetd.conf</CODE> ファイルに wu_ftpd 本体の置き場所が書かれてい
るかどうかを確認するのを忘れないようにしましょう。パッケージによっては
サーバデーモンの置場所が違い、wu_ftpd が別の名前になっているものもある
という報告がありました。
<P><B>訳注:</B>
Slackware 3.1 では shadow パスワード化を行った場合、wu-ftpd のコンパイ
ルに失敗する場合があります。
下記のようなエラーが出る場合には src/makefiles/Makefile.lnx の CFLAGS 
に "-DDIRENT_ILLEGAL_ACCESS" を加えてみてください。
(この情報は高石@広島電機大さんより頂きました。)
<P>
<HR>
<PRE>
gcc -O2 -fomit-frame-pointer -I.. -I../support -I/usr/include/bsd -L../suppors 
 -c glob.c -o glob.o
glob.c: In function `matchdir':
glob.c:284: dereferencing pointer to incomplete type
make: *** [glob.o] Error 1
</PRE>
<HR>
<P>
<P>
<H2><A NAME="ss6.3">6.3 標準の ftpd</A>
</H2>

<P>標準の ftpd サーバを使っている場合には <CODE>wu_ftpd</CODE> サーバにアップ
グレードすることを勧めます。先程述べたバグを除けば、より安全だとされて
いるからです。
<P>
<P>どうしても標準のものを使いたい場合や、NIS をサポートする必要がある場合
には Sunsite から 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Network/file-transfer/ftpd-shadow-nis.tgz">ftpd-shadow-nis.tgz</A>
を入手して下さい。
<P>
<P>
<H2><A NAME="ss6.4">6.4 pop3d (Post Office Protocol 3)</A>
</H2>

<P>もし、<EM>POP3(the third Post Office Protocol)</EM> をサポートする必要
がある場合には <CODE>pop3d</CODE> を再コンパイルする必要があります。
<CODE>pop3d</CODE> は <CODE>inet/tcpd</CODE> から<CODE>root</CODE>権限で実行されま
す。
<P>
<P>Sunsite から2つの異なるバージョンのものを入手できます:
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Mail/pop/pop3d-1.00.4.linux.shadow.tar.gz">pop3d-1.00.4.linux.shadow.tar.gz</A>
と
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Mail/pop/pop3d+shadow+elf.tar.gz">pop3d+shadow+elf.tar.gz</A>
です。
<P>
<P>どちらの場合も問題なくインストールできるでしょう。
<P>
<P>
<H2><A NAME="ss6.5">6.5 xlock</A>
</H2>

<P><EM>Shadow Suite</EM> をインストールし、<EM>X Window システム</EM>上で 
<CODE>xlock</CODE> をアップグレードしないままで実行した場合には、
<CODE>CNTL-ALT-Fx</CODE> で別のコンソールに切替えてログインし 
<CODE>xlock</CODE> のプロセスを殺す(あるいは <CODE>CNTL-ALT-BS</CODE> で X サー
バを殺す)以外にどうしようもない状態になってしまいます。幸いなことに、
<CODE>xlock</CODE> をアップグレードするのはとても簡単です。
<P>
<P>もし、XFree86 のバージョン 3.x.x を利用している場合には、
<CODE>xlockmore</CODE> (lock 機能に加えてスクリーンセーバ機能を持つ)を使っ
ていると思います。このパッケージは再コンパイルすることで 
<EM>shadow</EM> をサポートできます。古い <CODE>xlock</CODE> を使っている場
合には <CODE>xlockmore</CODE> にアップグレードすることを勧めます。
<P>
<P><CODE>xlockmore-3.5.tgz</CODE> は以下の場所で入手できます:
<A HREF="ftp://sunsite.unc.edu/pub/Linux/X11/xutils/screensavers/xlockmore-3.7.tgz">ftp://sunsite.unc.edu/pub/Linux/X11/xutils/screensavers/xlockmore-3.7.tgz</A><P>
<P>インストールは基本的には以下のような操作で行います:
<P>
<P><CODE>xlockmore-3.5.tgz</CODE> を入手し、<CODE>/usr/src</CODE> で展開します:
<BLOCKQUOTE><CODE>
<PRE>
tar -xzvf xlockmore-3.7.tgz
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P><CODE>/usr/X11R6/lib/X11/config/linux.cf</CODE> を編集し、
<BLOCKQUOTE><CODE>
<PRE>
#define HasShadowPasswd    NO

の行を

#define HasShadowPasswd    YES
</PRE>
</CODE></BLOCKQUOTE>
<P>のように変更します。
<P>
<P>そして、実行ファイルを作成します:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src/xlockmore
xmkmf
make depend
make
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>ファイルを移動し、オーナとパーミッションを設定します:
<BLOCKQUOTE><CODE>
<PRE>
cp xlock /usr/X11R6/bin/
cp XLock /var/X11R6/lib/app-defaults/
chown root.shadow /usr/X11R6/bin/xlock
chmod 2755 /usr/X11R6/bin/xlock
chown root.shadow /etc/shadow
chmod 640 /etc/shadow
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>これで、うまく動く xlock ができたはずです。
<P>
<P>
<H2><A NAME="ss6.6">6.6 xdm</A>
</H2>

<P><CODE>xdm</CODE>は X Window のログイン画面を表示するプログラムです。特定
の run level に移行したときに<CODE>xdm</CODE>が実行されるシステムもあります。
(<CODE>/etc/inittab</CODE>参照)
<P>
<P><EM>Shadow Suite</EM>のインストールを行なうと、<CODE>xdm</CODE>も更新しな
ければなりません。しかし<CODE>xdm</CODE>のアップグレードは簡単なので問題あ
りません。
<P>
<P><CODE>xdm.tar.gz</CODE> は以下のURLで入手できます:
<A HREF="ftp://sunsite.unc.edu/pub/Linux/X11/xutils/xdm.tar.gz">ftp://sunsite.unc.edu/pub/Linux/X11/xutils/xdm.tar.gz</A><P>
<P><CODE>xdm.tar.gz</CODE> ファイルを入手して、<CODE>/usr/src</CODE>に置いてから
以下のようにして展開します:
<BLOCKQUOTE><CODE>
<PRE>
tar -xzvf xdm.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P><CODE>/usr/X11R6/lib/X11/config/linux.cf</CODE> 内の
<BLOCKQUOTE><CODE>
<PRE>
#define HasShadowPasswd    NO

の部分を

#define HasShadowPasswd    YES
</PRE>
</CODE></BLOCKQUOTE>
<P>のように変更します。
<P>
<P>実行ファイルを作ります:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src/xdm
xmkmf
make depend
make
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>ファイルをインストールします:
<BLOCKQUOTE><CODE>
<PRE>
cp xdm /usr/X11R6/bin/
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P><CODE>xdm</CODE> は <EM>root</EM> 権限で動作するのでファイルのパーミッショ
ンを変える必要はありません。
<P>
<P>
<H2><A NAME="ss6.7">6.7 sudo</A>
</H2>

<P><CODE>sudo</CODE>プログラムはシステム管理者が通常root権限を必要とするプロ
グラムをユーザに実行させるために用います。管理者がrootのアカウントへの
アクセスを制限したままで、ユーザにディスクのマウント等の操作を許可する
ときに便利なプログラムです。
<P>
<P><CODE>sudo</CODE> は実行された時にユーザのパスワード認証を行うので、パスワー
ドファイルを読めなければなりません。<CODE>sudo</CODE> は最初からrootに 
SUID されて動作するので、<CODE>/etc/shadow</CODE> へのアクセスについては問
題ありません。
<P>
<P><EM>Shadow Suit</EM> 対応の <CODE>sudo</CODE> は以下のURLで入手できます:
<A HREF="ftp://sunsite.unc.edu/pub/Linux/system/Admin/sudo-1.2-shadow.tgz">ftp://sunsite.unc.edu/pub/Linux/system/Admin/sudo-1.2-shadow.tgz</A><P>
<P><EM>警告</EM>: <CODE>sudo</CODE>をインストールする際に 
<CODE>/etc/sudoers</CODE>ファイルは標準のものと置き換えられてしまいます。
ですから、標準の状態から変更がある場合にはバックアップを取っておく必要
があります。(Makefile を変更して標準のファイルを<CODE>/etc</CODE>にコピー
する部分の処理を削除するという方法もあります。)
<P>
<P>このパッケージは既に shadow 対応の設定がなされているので、パッケージを
再コンパイルするだけで利用できます(ソースは /usr/src に展開して下さい):
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src
tar -xzvf sudo-1.2-shadow.tgz
cd sudo-1.2-shadow
make all
make install
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<H2><A NAME="ss6.8">6.8 imapd (E-Mail [pine パッケージ])</A>
</H2>

<P><CODE>imapd</CODE> は <CODE>pop3d</CODE> のようなメールサーバです。
<CODE>imapd</CODE> は <EM>pine E-mail</EM> パッケージに付属しています。パッ
ケージに付属するドキュメントには Linux システムに対する標準設定で 
shadow をサポートしていると書かれています。しかし、これは正しくない記
述です。さらに、このパッケージでは実行ファイル生成スクリプトと 
Makefile の組合せが必要で、コンパイル時に<CODE>libshadow.a</CODE>を加える
ことがが難しいのです。そういうわけで、私はまだ <CODE>imapd</CODE> が 
shadow サポートするようにはできていません。
<P>
<P>もし成功した人がいましたら、筆者のところにメールで知らせてください。この
項目に加えたいと思います。
<P>
<P>
<H2><A NAME="ss6.9">6.9 pppd (PPP プロトコルサーバ)</A>
</H2>

<P>pppd サーバは認証の方式を複数利用できるように設定できます。
<EM>Password Authentication Protocol (PAP)</EM> と <EM>Cryptographic
Handshake Authentication Protocol (CHAP)</EM>です。pppd サーバは普通パ
スワード文字列を <CODE>/etc/ppp/chap-secrets</CODE> か 
<CODE>/etc/ppp/pap-secrets</CODE> (あるいは両方)から得ます。pppd に標準の
動作をさせている場合には pppd を再インストールする必要はありません。
<P>
<P>pppd は<EM>login</EM>パラメータを使うようにすることもできます(コマンド
ラインか、設定ファイルで指定するか <CODE>options</CODE> ファイル内で指定)。
もし<EM>login</EM> オプションが指定されると pppd は <EM>PAP</EM> で 
<CODE>/etc/passwd</CODE> ファイルのユーザネームとパスワードを使います。パ
スワードを shadow 化するともちろん、これは動作しなくなります。
pppd-1.2.1d では shadow をサポートするためにはプログラムを変更しなけれ
ばなりません。
<P>
<P>次の章での例題は <CODE>pppd-1.2.1d</CODE>(バージョンが古い pppd)に shadow 
サポートを加えるというものです。
<P>
<P><CODE>pppd-2.2.0</CODE> では既に shadow 対応が行われています。
<P>
<P>
<HR>
<A HREF="Shadow-Password-HOWTO-7.html">次のページ</A>
<A HREF="Shadow-Password-HOWTO-5.html">前のページ</A>
<A HREF="Shadow-Password-HOWTO.html#toc6">目次へ</A>
</BODY>
</HTML>
Results 1 - 1
Help - FTP Sites List - Software Dir.
Searching half a billion files worldwide
© 1997-2009 MARUHN Internet Solutions