当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux Shadow-Password-HOWTO - 4. 编译程式

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

Unix/Linux 中的 Linux Shadow-Password-HOWTO - 4. 编译程式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 37 ::
收藏到网摘: n/a

 

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 的目的档,但是因为不