首先在文件系统的/etc/rc5.d下找到S21ftpvsd.sh,打开可以看到系统在启动之前就已经启动了ftp服务
添加一个上电自启动程序,方法参考之前的一篇博客
https://blog.csdn.net/wssjn1994/article/details/83008960
在此脚本中添加如下代码
#!/bin/sh
configfile=/home/root/app/username.config
configfileCmp=/etc/network/usernameCmp.config
configfileAdmin=/etc/network/usernameAdmin.config
userlocal=`cat $configfile | grep username | awk '{print $2}'`
passwdlocal=`cat $configfile | grep password | awk '{print $2}'`
userlocalCmp=`cat $configfileCmp | grep username | awk '{print $2}'`
passwdlocalCmp=`cat $configfileCmp | grep password | awk '{print $2}'`
if cat /etc/passwd | grep $userlocal
then
userdel -f $userlocalCmp
useradd -o -u 0 -s /bin/sh -d /home/root -g root -c root admin
echo "admin:admin" | chpasswd
cp $configfileAdmin $configfile
cp $configfileAdmin $configfileCmp
else
if [[ $userlocal != $userlocalCmp && $passwdlocal = $passwdlocalCmp ]]; then ##用户不对
userdel -f $userlocalCmp
useradd -o -u 0 -s /bin/sh -d /home/root -g root -c root $userlocal
echo "$userlocal:$passwdlocal" | chpasswd
fi
if [[ $userlocal = $userlocalCmp && $passwdlocal != $passwdlocalCmp ]]; then ##密码不对
userdel -f $userlocalCmp
useradd -o -u 0 -s /bin/sh -d /home/root -g root -c root $userlocal
echo "$userlocal:$passwdlocal" | chpasswd
fi
if [[ $userlocal != $userlocalCmp && $passwdlocal != $passwdlocalCmp ]]; then ##都不对
userdel -f $userlocalCmp
useradd -o -u 0 -s /bin/sh -d /home/root -g root -c root $userlocal
echo "$userlocal:$passwdlocal" | chpasswd
fi
cp $configfile $configfileCmp
fi
chmod 777 /etc/network/usernameAdmin.config
chmod 777 /etc/network/usernameCmp.config
chmod 777 /home/root/app/username.config
在/etc/network下添加usernameAdmin.config和usernameCmp.config
在/home/root/app下添加username.config
(路径可以随意设置,和脚本对应就好)
usernameAdmin.config文件写上默认用户名和密码
usernameCmp.config文件里写上现在的用户名密码
配置完毕后用户若需要修改ftp的用户名和密码则需要通过ftp访问文件系统,把/home/root/app/username.config拷贝出来,使用非记事本的工具修改好用户名密码再上传到同样的位置替换掉原来的username.config,再重启即可。