linux启动自制ftp服务,自制带ftp服务的linux

1、 添加一个硬盘

查看fdisk –l   添加的硬盘(/dev/sdb)

0818b9ca8b590ca3270a3433284dd417.png

2、创建分区

fdisk /dev/sdb n 添加

第一个分区 大小为100M,用于/boot 分区;

第二个分区 大小为1G,用于 / 分区;

0818b9ca8b590ca3270a3433284dd417.png

3、 格式化分区

mkfs –t ext3 /dev/sdb1

mkfs –t ext3 /dev/sdb2

0818b9ca8b590ca3270a3433284dd417.png

partprobe /dev/sdb  #让内存加载

4、 挂载分区

mkdir   /mnt/boot   /mnt/sysroot   #创建挂载点

mount  /dev/sdb1   /mnt/boot      # 挂载/dev/sdb1分区到/mnt/boot 挂载点

mount /dev/sdb2    /mnt/sysroot   # 挂载/dev/sdb2分区到/mnt/sysroot 挂载点

0818b9ca8b590ca3270a3433284dd417.png

5、创建MBR

MBR 包括三部分 :

1、bootload 446B ,用于开机启动加载(grub菜单第一步);

2、magic 2B,物理磁盘标示符;

3、partion 46B,磁盘分区表。

grub-install  --root-directory=/mnt/  /dev/sdb  #在/dev/sdb上创建MBR

0818b9ca8b590ca3270a3433284dd417.png

6、准备内核、内核驱动及背景图片

[root@zlj abc]# zcat initrd-2.6.18-164.el5.img  |cpio -id

vim init   将swap禁用

0818b9ca8b590ca3270a3433284dd417.png

find |cpio -o -H newc --quiet |gzip -9 >initrd.gz  #将文件打包

0818b9ca8b590ca3270a3433284dd417.png

cp /boot/vmlinuz-2.6.18-164.el5 /mnt/boot/  #内核

背景制作工具做一张图片

上传两张背景图片

0818b9ca8b590ca3270a3433284dd417.png

cp /home/user1/4.xpm.gz  /mnt/boot/grup #将图片拷到当前文件夹下

7、编写grub菜单

vim grub/grub.conf # 编辑grub 菜单

default=0

timeout=5

splashimage=(hd0,0)/grub/4.xpm.gz

hiddenmenu

title Red Hat Enterprise Linux Server (2.6.18-164.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/sda2 rhgb quiet

initrd /initrd.gz

~

~

~

0818b9ca8b590ca3270a3433284dd417.png

~

~

cd /mnt/sysroot/

mkdir bin boot dev etc home lib  media misc mnt net opt proc root sbin selinux src sys tftpboot tmp usr var    #创建目录

0818b9ca8b590ca3270a3433284dd417.png

8、编写脚本

查找指令依赖 并拷贝到指定的目录

vim /home/user1/cp.sh

#!/bin/bash

read -p "please input Command:" COMMAND

CPATH=`which $COMMAND |tail -1`

LPATH=`ldd $CPATH |grep /lib/`

PPATH=${CPATH%/*}

/bin/cp -f $CPATH /mnt/sysroot$PPATH/

if [ -e /cp ];then

rm -f /cp

fi

for i in $LPATH ;do

echo $i |grep "/lib/" >>/cp

done

while read line;do

#echo $line

NAME=${line##*/lib/}

/bin/cp -f /lib/$NAME /mnt/sysroot/lib/

done 

9、准备指令

mkdir usr/lib etc/rc.d  #创建子目录

将init bash  halt shutdown ls chroot mount mkdir cp   reboot vim  ifconfig sysctl insmod  ping arp netstat   vsftpd拷贝过去

0818b9ca8b590ca3270a3433284dd417.png

8、创建init文件

a、编辑inittab文件

vim /mnt/sysroot/etc/inittab

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc.sysshutdown

l6:6:wait:/etc/rc.d/rc.sysreboot

B、vim /mnt/sysroot/etc/rc.d/rc.sysinit

#!/bin/bash

if [ -f /etc/sysconfig/network ];then

. /etc/sysconfig/network

fi

if [ -z $HOSTNAME ]; then

/bin/hostname localhost

else

/bin/hostname $HOSTNAME

fi

/sbin/sysctl -p &>/dev/null

/sbin/insmod  /lib/modules/mii.ko

/sbin/insmod  /lib/modules/pcnet32.ko

/sbin/ifconfig eth0 192.168.1.1/24

/sbin/ifconfig lo 127.0.0.1/8

/bin/bash

echo -e -n "\033[31m Startup is complete \033[0m"

echo  -e "\t\t\t\t\t\t \033[32m [ok]\033[0m "

~

0818b9ca8b590ca3270a3433284dd417.png

chmod a+x rc.sysinit      #  修改文件的权限

C、创建关机脚本

vim rc.sysshutdown

#!/bin/bash

exec /sbin/halt -p

chmod a+x rc.sysshutdown

D、创建重启脚本

vim rc.sysreboot

#!/bin/bash

exec /sbin/reboot

~

chmod a+x rc.sysreboot

E、创建网卡模块

创建模块文件夹

mkdir -pv /mnt/sysroot/lib/modules

将pcnet32.ko、mii.ko(网卡模块)复制到modules内

0818b9ca8b590ca3270a3433284dd417.png

9、搭建ftp服务器

cp /etc/passwd /etc/shadow /etc/group /mnt/sysroot/etc/ #服务器需要用户id

mkdir /mnt/sysroot/etc/vsftpd #ftp配置脚本文件夹

cp /etc/vsftpd/vsftpd.conf  /mnt/sysroot/etc/vsftpd/ #将配置文件拷到vsftpd内

0818b9ca8b590ca3270a3433284dd417.png

编辑nsswitch.conf

vim  /mnt/sysroot/etc/nsswitch.conf  # 用于将用户名对应为用户ID

passwd:     files

shadow:     files

group:      files

复制nsswitch.conf需要的动态链接库

cp -d /lib/libnss_compat* /mnt/sysroot/lib/

cp -d /lib/libnss_files* /mnt/sysroot/lib/

0818b9ca8b590ca3270a3433284dd417.png

vim /mnt/sysroot/etc/vsftpd/vsftpd.conf

禁用日志功能,pam及用户列表

mkdir /mnt/sysroot/usr/share/empty -pv

Mkdir  -r /mnt/sysroot/usr/ftp/pub

Chmod o+wt /mnt/sysroot/usr/ftp/pub #修改权限

10、测试

0818b9ca8b590ca3270a3433284dd417.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值