LinuxShadow-Password-HOWTO-4.编译程式

2016-01-29 18:32 5 1 收藏

LinuxShadow-Password-HOWTO-4.编译程式,LinuxShadow-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 的目的档,但是因为不同的版本通常将程式放在不同的地方,因此常被人评论。

你应该备份你的 /etc/passwd 档,但是你要很小心地命名,不然如我你将它放在相同目录,你将无法重写 passwd 命令。


4.4 执行 make
你需要以 root 权限签入以执行安装程序.

执行 make 来编译套件中的执行档:


make all

你可能会看到警告语: rcsid defined but not used. 这没关系,因为作者使用版本控制套件才会发生。

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

延伸阅读
  -------------------------------------------------------------------------------- 4. Shell Scripts  下面的 scripts 是基本 CVS 命令的集合,而且是 Korn shell 的 scripts 。你可以把他转成 perl 或者 bash。你可以自己修改成你想要的样子。这些...
  -------------------------------------------------------------------------------- 5. CVS 的其他文件  在 unix 提示符号下,请打 -  cvs --help  cvs --help-options  cvs --help-commands  cvs -H checkout  cvs -H commit&n...
1Password 4密码管理应用   1Password是一款密码管理应用,可以将我们在日常生活中经常用到的各类信用卡、网站等密码集中管理和使用,并且拥有充分的安全性。最近,1Password的开发公司AgileBits宣布该公司正在开发该应用的Android版本,目前正处于测试阶段。 据悉,目前正在测试的Android版本为1Password4,AgileBits公司正...
1. 生火上路(Preliminaries)! 1.1. ELF vs. a.out 目前,Linux的发展正波涛汹涌的进行著.简单一点讲,Linux有两种执行档的格式(formats)可用,取决於你的系统是怎麽整合起来的;你可能两种都有.读了这份文件之後,你就会知道是那一种了. 那,要怎麽区别呢?执行公用程式(utility)'file' (例如,file /bin/bash)就对了.就...
1password使用教程   1Password是一款功能很强大的密码管理软件,最初只有OS X版本,用户存入1Password的敏感信息会使用一个主密码加密,这意味着除了知道主密码,想要破解1Password的数据文件还是需要很长时间的。1Password将数据储存在本地,这样保证用户的安全。除了密码管理外,1Password还支持管理各种敏感信息,比如银行卡信息...

经验教程

722

收藏

70

精华推荐

Jaz-drive HOWTO -- 4. Jaz 磁片的用法

Jaz-drive HOWTO -- 4. Jaz 磁片的用法

Sun璐shine

Beowulf 中文HOWTO

Beowulf 中文HOWTO

jackie05138

加速编译

加速编译

08小硕

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