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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
 <META NAME="GENERATOR" CONTENT="ZH-SGML-Tools 1.0.9">
 <TITLE>如何取得,安装,设定 shadow 密码: 编译程式</TITLE>
 <LINK HREF="Shadow-Password-HOWTO-5.html" REL=next>
 <LINK HREF="Shadow-Password-HOWTO-3.html" REL=previous>
 <LINK HREF="Shadow-Password-HOWTO.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="Shadow-Password-HOWTO-5.html">Next</A>
<A HREF="Shadow-Password-HOWTO-3.html">Previous</A>
<A HREF="Shadow-Password-HOWTO.html#toc4">Contents</A>
<HR>
<H2><A NAME="s4">4. 编译程式</A></H2>

<H2><A NAME="ss4.1">4.1 解压缩</A>
</H2>

<P>在接收套件後第一个步骤就是 unpacking。该套件是 tar 档案格式使用 gzip 压缩
,所以首先将该档案移到 <CODE>/usr/src</CODE> ,然後输入:
<BLOCKQUOTE><CODE>
<PRE>
tar -xzvf shadow-current.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>这将会 unpack 到一个目录:<CODE>/usr/src/shadow-YYMMDD</CODE>
<P>
<H2><A NAME="ss4.2">4.2 设定 config.h 档</A>
</H2>

<P>第一件事是你需要复制 <CODE>Makefile</CODE> 和 <CODE>config.h</CODE> 档:
<P>
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src/shadow-YYMMDD
cp Makefile.linux Makefile
cp config.h.linux config.h
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>然後你应该留意 <CODE>config.h</CODE> 档。 该档案包括某些设定选项的定义。如果你使用
<EM>建议</EM> 套件,我建议你在第一次设定关掉 group shadow support。 
<P>shadowed group passwords 预设值是开启的。 在 <CODE>config.h</CODE> 档关到这个设定,
且改变 <CODE>#define SHADOWGRP</CODE> 变成 <CODE>#undef SHADOWGRP</CODE>。我建议您一开始
关掉它们,然後如果你真的需要 group passwords 和 group administrators 时你在
开启它们和重新编译。 如果你开启它, 你 <EM>必须</EM> 建立  <CODE>/etc/gshadow</CODE> 档。
<P>
<P>开启长密码的选项也不建议使用。
<P><EM>不要</EM> 改变 <CODE>#undef AUTOSHADOW</CODE> 的设定。
<P><CODE>AUTOSHADOW</CODE> 选项初始设计是用以让 shadow  可以像 function 一样执行。理论上
听起来不错,但是没办法正确的运作。 如果你开启这个选项,且这个程式以 root 权限在执
行, 它会像 root 权限执行一项呼叫 <CODE>getpwnam()</CODE> ,然後变更
<CODE>/etc/passwd</CODE> 档 (有<EM>no-longer-shadowed 密码</EM>)。 这类程式包括 chfn 
和 chsh。(如果 root 在呼叫 <CODE>getpwnam()</CODE> 之前使用 chfn 和 chsh,使用者帐号将
没有办法真实且有效交易。)
<P>
<P>如果你要建立 libc,同样的警告也有效,它有个 <CODE>SHADOW_COMPAT</CODE> 作相同的事。 它
<EM>不应该</EM>被使用!如果你开始从你的 <CODE>/etc/passwd</CODE> 档撷取编码密码,
这会是个问题。
<P>如果你正使用比 4.6.27 还高的 <CODE>libc</CODE> 版本,你将需要在 <CODE>config.h</CODE> 和
<CODE>Makefile</CODE>两个档做很多改变。
在 <CODE>config.h</CODE> 档的编辑和改变:
从:
<BLOCKQUOTE><CODE>
<PRE>
#define HAVE_BASENAME
</PRE>
</CODE></BLOCKQUOTE>

到:
<BLOCKQUOTE><CODE>
<PRE>
#undef HAVE_BASENAME
</PRE>
</CODE></BLOCKQUOTE>

然後在 <CODE>Makefile</CODE> 档的改变:
<P>
<BLOCKQUOTE><CODE>
<PRE>
SOBJS = smain.o env.o entry.o susetup.o shell.o \
        sub.o mail.o motd.o sulog.o age.o tz.o hushed.o

SSRCS = smain.c env.c entry.c setup.c shell.c \
        pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c \
        tz.c hushed.c
</PRE>
</CODE></BLOCKQUOTE>

<BLOCKQUOTE><CODE>
<PRE>
SOBJS = smain.o env.o entry.o susetup.o shell.o \
        sub.o mail.o motd.o sulog.o age.o tz.o hushed.o basename.o

SSRCS = smain.c env.c entry.c setup.c shell.c \
        pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c \
        tz.c hushed.c basename.c
</PRE>
</CODE></BLOCKQUOTE>

这些包含在 <CODE>basename.c</CODE> 程式码的改变均需倍包括在 <CODE>libc 4.6.27</CODE> 内。
<P>
<P>
<H2><A NAME="ss4.3">4.3 备份原始程式</A>
</H2>

<P>在 shadow suite 要更新时,制作程式备份将是一个很好的点子。在 Slackware 3.0 系统中,
这些档案是:
<P>
<UL>
<LI>/bin/su</LI>
<LI>/bin/login</LI>
<LI>/usr/bin/passwd</LI>
<LI>/usr/bin/newgrp</LI>
<LI>/usr/bin/chfn</LI>
<LI>/usr/bin/chsh</LI>
<LI>/usr/bin/id</LI>
</UL>
<P>这 BETA 套件已经有个 <EM>储存</EM> 在 Makefile 的目的档,但是
因为不同的版本通常将程式放在不同的地方,因此常被人评论。
<P>你应该备份你的 <CODE>/etc/passwd</CODE> 档,但是你要很小心地命名,不然如我你将它放在
相同目录,你将无法重写 <CODE>passwd</CODE> 命令。
<P>
<H2><A NAME="ss4.4">4.4 执行 make</A>
</H2>

<P><EM>你需要以 root 权限签入以执行安装程序</EM>.
<P>执行 make 来编译套件中的执行档:
<P>
<BLOCKQUOTE><CODE>
<PRE>
make all
</PRE>
</CODE></BLOCKQUOTE>
<P>你可能会看到警告语: <CODE>rcsid defined but not used</CODE>.  这没关系,
因为作者使用版本控制套件才会发生。
<P>
<P>
<HR>
<A HREF="Shadow-Password-HOWTO-5.html">Next</A>
<A HREF="Shadow-Password-HOWTO-3.html">Previous</A>
<A HREF="Shadow-Password-HOWTO.html#toc4">Contents</A>
</BODY>
</HTML>
Results 1 - 1
Help - FTP Sites List - Software Dir.
Searching half a billion files worldwide
© 1997-2009 MARUHN Internet Solutions