本文中接“linux系统组成之小型RedHat little linux制作三”
进一步完善此系统,让其实现终端登录信息显示、用户登录、用户命令提示信息等。
1、终端登陆信息:( 用户登陆的时候才会显示 )
/etc/issue内的内容。是通过终端来进行打印的,里面各式使用转移字符,具体解释间man mingetty。
cp /etc/issue /mnt/sysroot/etc/
编辑isscue
Chris Linux 5.8
Kernel \r on an \m
http://www.chris.com
挂载额外的系统文件/etc/fstab
内核参数配置/etc/sysctl.conf(sysctl -p立即生效)例如开启网卡转换功能(移植sysctl命令) net.ipv4.ip_forward = 1
然后在rc.sysinit内增加一行如下
systcl -p &> /dev/null
[ $? -eq 0 ] && success "set ketnel parater" || failure "fail set kernel"
2、 用户认证:
绕过PAM 的用户登陆 DIY :(系统上的 login 的编译是依赖于 PAM 的,在 ftp 的根目录下的 login shell ,去掉了对 PAM 的依赖,可以单独利用)
nsswitch: Network Service Switch 网络服务转换
是一个协议框架,定义了longin 读取相关配置文件的位置: /etc/psaawd /etc/shadow /etc/group
nsswitch的配置文件在 /etc/nsswitch.conf ,而 nsswitch 的运行则依赖一些库文件: /lib/libnss** 、 usr/lib/libnss**
复制库的时候必须保留库的连接:cp -d
cp -d /lib/libnss_files* /mnt/sysroot/lib
cp /usr/lib/libnss3.so /usr/lib/libnssckbi.so /usr/lib/libnssutil3.so /mnt/sysroot/usr/lib/)
然后复制etc/nsswtich.conf /mnt/sysroot/etc/
vim /mnt/sysroot/etc/nsswtich.conf,保留一些内容
passwd: files
shadow: files
group: files
hosts: files dns
然后复制认证文件:etc/passwd etc/shadow /etc/group
cp /etc/passwd /mnt/sysroot/passwd
cp /etc/shadow /mnt/sysroot/shadow
cp /etc/group /mnt/sysroot/group
移植相关程序:mingetty usermod passwd
修改etc 下的 inittab ()
...
...
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
下载一个编译好、不依赖PAM 认证的 login 到 bin 下,并给其执行权限。利用小系统登录测试即可
2、 PS1环境变量定义用户命令提示信息: cd/root 下创建一个 .bash_profile 文件并在内增加:
PS1='[\u@\h \w]\$'
export PS1
(u :用户名 h 主机名 W 工作目录的基名 w 工作目录的全名)
3、 进入维护的1级别的设置:
编辑inittab 文件
编辑rc.d内的目录,新建rc1.d目录
设置必须的连接文件
ln -sv ../init.d/network K90network
进入单用户模式必须向init传递一个S参数,参照原系统上的/etc/init.d/singel
Vim /mnt/sysroot/etc/init.d/singel
#!/bin/bash
#
if [ "$1" != "start" ]; then
exit 0
fi
exec init -t1 S
增加执行权限chmod +x singel
添加必需的连接
cd rc.d
cd rc1.d
ln -sv ../init.d/singe ./S98singel
# this looks nicer
# Now go to the single user level.
至此DIY小系统完毕,实现了基本的功能和网络。
cd /mnt/sysroot/etc/rc.d/rc1.d
# this looks nicer
[ -x /usr/bin/clear ] && /usr/bin/clear
# Now go to the single user level.
echo $"Telling INIT to go to single user mode."
id:3:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l3:3:wait:/etc/rc.d/rc 3
l6:6:wait:/etc/rc.d/rc 6
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com