1、提供NAME--->UID和GROUP--->GID的库文件 ,如果系统为64bit的,则需要把lib统统修改成lib64
[root@www ~]# cp -d /lib/libnss_compat* /mnt/sysroot/lib/ #-d 表示保持连接文件属性不变 [root@www ~]# cp -d /lib/libnss_files* /mnt/sysroot/lib/[root@www ~]# cp -d /usr/lib/libnss3.so /mnt/sysroot/lib/[root@www ~]# cp -d /usr/lib/libnssckbi.so /mnt/sysroot/usr/lib/[root@www ~]# cp -d /usr/lib/libnss3.so /mnt/sysroot/usr/lib/[root@www ~]# cp -d /usr/lib/libnssutil3.so /mnt/sysroot/usr/lib/[root@www ~]# cp -d /usr/lib/libnss_compat.so /mnt/sysroot/usr/lib/[root@www ~]# cp -d /usr/lib/libnss_files.so /mnt/sysroot/usr/lib/2、在宿主机上进行编辑vsftpd[root@www vsftpd-2.3.5]# tar xf vsftpd-2.3.5.tar.gz [root@www vsftpd-2.3.5]# cd vsftpd-2.3.5[root@www vsftpd-2.3.5]# vim builddefs.h #ifndef VSF_BUILDDEFS_H#define VSF_BUILDDEFS_H#undef VSF_BUILD_TCPWRAPPERS#undef VSF_BUILD_PAM #不能启用PAM认证#undef VSF_BUILD_SSL#endif /* VSF_BUILDDEFS_H */[root@www vsftpd-2.3.5]# make [root@www vsftpd-2.3.5]# make install DESTDIR=/mnt/sysroot #安装到目标机中。当然这里是不支持这样安装,但是其他的软件可能会支持[root@www vsftpd-2.3.5]# which vsftpd/usr/local/sbin/vsftpd[root@www vsftpd-2.3.5]# ldd /usr/local/sbin/vsftpd linux-vdso.so.1 => (0x00007fffefdfd000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x000000359c400000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003588e00000) libnsl.so.1 => /lib64/libnsl.so.1 (0x000000358c600000) libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003592400000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003596800000) libcap.so.1 => /lib64/libcap.so.1 (0x000000358be00000) libc.so.6 => /lib64/libc.so.6 (0x0000003588a00000) /lib64/ld-linux-x86-64.so.2 (0x0000003588600000)#上面的库文件可以使用脚本移植到目标机当中[root@www scripts]# ./cpldd.sh Do you want copy command:(Y/n) ywhich your copy command: vsftpdDirectory create sucessful./usr/local/sbin/vsftpd command copy sucessful.Do you want copy command:(Y/n) nYou do not copy command.[root@www scripts]# ls /mnt/sysroot/usr/local/sbin/vsftpd再利用脚本移植getent,lftp,wget3、从宿主机中复制三个文件,预先查看是否存在ftp和nobody用户[root@www scripts]# grep ftp /etc/passwdftp:x:14:50:FTP User:/var/ftp:/sbin/nologinYou have new mail in /var/spool/mail/root[root@www scripts]# grep nobody /etc/passwdnobody:x:99:99:Nobody:/:/sbin/nologinnfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin#复制/etc/passwd/etc/shadow/etc/group[root@www scripts]# cp -p /etc/passwd /mnt/sysroot/etc/[root@www scripts]# cp -p /etc/shadow /mnt/sysroot/etc/[root@www scripts]# cp -p /etc/group /mnt/sysroot/etc/[root@www scripts]# cp /etc/nsswitch.conf /mnt/sysroot/etc/[root@www scripts]# vim /mnt/sysroot/etc/nsswitch.conf :.,$d passwd: filesshadow: filesgroup: files只保留这三项就可以了[root@www vsftpd-2.3.5]# cp vsftpd.conf /mnt/sysroot/etc/参考vsftpd的INSTALL文件[root@www sysroot]# mkdir usr/share/empty -pv[root@www sysroot]# chmod 555 usr/share/empty/[root@www sysroot]# mkdir var/ftp/pub -pv在目标机中执行/usr/local/sbin/vsftpd /etc/vsftpd.conf & #后台执行vsftpd进程
注释:可以使用上述的脚本移植一些命令进去