LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 932|回复: 11

安装Shadow时出错了。。

[复制链接]
发表于 2006-1-29 16:31:04 | 显示全部楼层 |阅读模式
在BLFS中,装完Linux-PAM后,需要重新安装shadow。但是按照BOOK上所说地做,还是出错了。安装过程都没问题。但在登陆的时候,都会出现如下错误:
configuration error unknown item 'NOLOGIN_STR' (notify administrator)
只有这一行。BOOK上说Linux-PAM 模块现在能处理LOGIN的程序,还把/etc/login.defs中的NOLOGIN_FILE这一行注释掉了。而这一文件中还有一行是:“NOLOGIN_STR  NOLOGIN"这行没有注释掉。我想是因为PAM模块能处理这个吧。但系统提示上面错误是不是因为PAM模块没有正常加载???如何加载PAM模块?
发表于 2006-1-29 22:28:03 | 显示全部楼层
把NOLOGIN_STR NOLOGIN 这个也注释掉试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-29 23:44:01 | 显示全部楼层
这个倒没试过,稍微搜了一下。NOLOGIN是为禁止某些用户登陆设置的。例如在/etc/passwd文件下,有一些系统用户,如bin,daemon,.....等等,后面都有加上/sbin/nologin,就是禁止这些用户登陆。如果注释掉,可能会对系统安全有影响吧。
nologin是通过PAM的pam_nologin.so模块处理,这些模块应该是在安装PAM的时候自动配置加载的。
重装了好几遍PAM,Shadow,都是不行。。。。郁闷。。。下面的进行不下去了。。。
你当时装这个都没有问题吗?

另外关于PAM可以看看这个:http://www.wudidong.com/diannao/os/Linux/200510/34425.html
回复 支持 反对

使用道具 举报

发表于 2006-1-30 01:34:23 | 显示全部楼层
我没这个问题。。到现在也没碰到过这个问题。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-30 12:04:15 | 显示全部楼层
难道是我安装时是在宿主系统中chroot进去装的,这样会出错????按理说不会吧。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-31 17:32:40 | 显示全部楼层
这个问题解决了.装了旧版本的shadow-4.0.3和Linux-PAM-0.77,就没问题了.
发现安装shadow时有不同的地方,多了这个命令
cp debian/securetty /etc/securetty : 这个命令使tty允许登陆时使用PAM。
我不记得原先装 Shadow-4.0.9时/etc/目录下有没有这个文件,想问版主装的是什么版本?有没有这个文件??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-31 17:38:33 | 显示全部楼层
还有,发现我chroot进去时运行的命令有点问题.
我从宿主系统进入chroot环境的步骤是这样的:
1:在宿主系统中
mount -t proc proc $LFS/proc
mount -t sysfs sysfs $LFS/sys

2:在宿主系统中
chroot "$LFS" /usr/bin/env -i  HOME=/root TERM="$TERM" PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login

3:chroot进去后执行
mount -n -t ramfs none /dev
/tools/sbin/udevstart
ln -s /proc/self/fd /dev/fd
ln -s /proc/self/fd/0 /dev/stdin
ln -s /proc/self/fd/1 /dev/stdout
ln -s /proc/self/fd/2 /dev/stderr
ln -s /proc/kcore /dev/core
mkdir /dev/pts
mkdir /dev/shm
mount -t devpts -o gid=4,mode=620 none /dev/pts
mount -t tmpfs none /dev/shm
mount /dev/hda8 /sources

我想chroot这一步应该错了.因为编译LFS中的软件时检测到的内核是宿主系统的内核.正确的应该是怎么样?????
回复 支持 反对

使用道具 举报

发表于 2006-2-1 13:51:19 | 显示全部楼层
我有这个文件,不过是自己加的。
PAM中用 pam_securetty.so 来控制。


第二个,你的问题是什么?,我没看出有啥问题。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-1 17:16:55 | 显示全部楼层
我的问题是:我上面运行的chroot命令有没有错.因为chroot进去后,运行uname -r显示的是宿主系统的内核.BLFS中很多软件都需要检测内核版本,这样有影响吧?
今天在安装IPTABLE时,加上了KERNEL_DIR=/usr/src/linux-2.6.10参数,正常安装了,检测的时候是LFS系统中的内核.还有其他方法吗??

昨天GOOGLE了一下,我上面运行的也没有错,他们也是这样装的,只是在配置X和ALSA的时候,不能在CHROOT环境下配置.只能在CHROOT环境下安装.
回复 支持 反对

使用道具 举报

发表于 2006-2-1 23:04:41 | 显示全部楼层
如果用chroot,那么只要新LFS的内核版本和宿主用一样的就可以了。

至于iptables,就是这么装的。没错。

我一般用新系统来装软件的,chroot到宿主来启动sshd。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表