Linux Shadow-Password-HOWTO - 4. 编译程式

2016-01-29 19:29 9 1 收藏

Linux Shadow-Password-HOWTO - 4. 编译程式,Linux Shadow-Password-HOWTO - 4. 编译程式

【 tulaoshi.com - Linux 】

 
4.1 解压缩 
在接收套件後第一个步骤就是 unpacking。该套件是 tar 档案格式使用 gzip 压缩,所以首先将该档案移到 /usr/src ,然後输入: 

tar -xzvf shadow-current.tar.gz

这将会 unpack 到一个目录:/usr/src/shadow-YYMMDD 


4.2 设定 config.h 档 
第一件事是你需要复制 Makefile 和 config.h 档: 


cd /usr/src/shadow-YYMMDD
cp Makefile.linux Makefile
cp config.h.linux config.h


然後你应该留意 config.h 档。 该档案包括某些设定选项的定义。如果你使用 建议 套件,我建议你在第一次设定关掉 group shadow support。 

shadowed group passwords 预设值是开启的。 在 config.h 档关到这个设定,且改变 #define SHADOWGRP 变成 #undef SHADOWGRP。我建议您一开始关掉它们,然後如果你真的需要 group passwords 和 group administrators 时你在开启它们和重新编译。 如果你开启它, 你 必须 建立 /etc/gshadow 档。 


开启长密码的选项也不建议使用。 

不要 改变 #undef AUTOSHADOW 的设定。 

AUTOSHADOW 选项初始设计是用以让 shadow 可以像 function 一样执行。理论上听起来不错,但是没办法正确的运作。 如果你开启这个选项,且这个程式以 root 权限在执行, 它会像 root 权限执行一项呼叫 getpwnam() ,然後变更 /etc/passwd 档 (有no-longer-shadowed 密码)。 这类程式包括 chfn 和 chsh。(如果 root 在呼叫 getpwnam() 之前使用 chfn 和 chsh,使用者帐号将没有办法真实且有效交易。) 


如果你要建立 libc,同样的警告也有效,它有个 SHADOW_COMPAT 作相同的事。 它 不应该被使用!如果你开始从你的 /etc/passwd 档撷取编码密码,这会是个问题。 

如果你正使用比 4.6.27 还高的 libc 版本,你将需要在 config.h 和 Makefile两个档做很多改变。在 config.h 档的编辑和改变:从: 

#define HAVE_BASENAME

到: 
#undef HAVE_BASENAME

然後在 Makefile 档的改变: 

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

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

这些包含在 basename.c 程式码的改变均需倍包括在 libc 4.6.27 内。 


4.3 备份原始程式 
在 shadow suite 要更新时,制作程式备份将是一个很好的点子。在 Slackware 3.0 系统中,这些档案是: 


/bin/su 
/bin/login 
/usr/bin/passwd 
/usr/bin/newgrp 
/usr/bin/chfn 
/usr/bin/chsh 
/usr/bin/id 
这 BETA 套件已经有个 储存 在 Makefile 的目的档,但是因为不

来源:http://www.tulaoshi.com/n/20160129/1509499.html

延伸阅读
  4.1 DOS 格式化的磁片  Jaz 磁片从 Iomega 公司出厂时就已经格式化,其格式化形式为单一分割,采用 DOS FAT16 的文档系统格式。单一分割通常是磁盘的第 4 分割区(以便与麦金塔电脑相容 - 麦金塔电脑规定数据存放在第 4 分割区,但个人电脑通常不加限制,...
  此处讨论在他处没有论及的问题。  4.1 打印前排版  由于多数纯文本格式的文档在打印时都没有排版格式,因此最好在打印前先行排版,其中包括每页加附标题和页码、设定页边距、双倍行距、缩进和多栏排版等。完成这项工作的一般方法是使用 pr 软件。  $ pr +4 -d -h"Ph.D. ...
  作者:Rusty Russell, mailing list netfilter@lists.samba.org 译者:网中人 netmanforever@yahoo.com v1.0.1 Mon May 1 18:38:22 CST 2000  -------------------------------------------------------------------------------- 本文件描述如何用 2.4 L...
 linux内核编译详解 [本文最初由solaris发布] 一、内核简介 内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也都是遵循GPL而设计的,你都可以获取...
  作者: Tom Fawcett ( fawcett+BH@croftj.net) 译者: 朱汉农  v4.0, April 2000, 翻译日期: 27 July 2000  -------------------------------------------------------------------------------- 本文描述如何设计与建造你自己的 Linux boot/root&nbs...

经验教程

721

收藏

8

精华推荐

linux内核的编译

linux内核的编译

安文强独一无二

CVS RCS HOWTO 原始程式码版本控制系统 (1)

CVS RCS HOWTO 原始程式码版本控制系统 (1)

cheng99dj

The Linux BootPrompt-HowTo 中译版

The Linux BootPrompt-HowTo 中译版

王小函函

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部