欢迎来到云服务器

Directadmin Linux面板

如何将所有系统ftp帐户重新添加到您的/etc/proftpd.passwd文件中

如果出于任何原因,您在/etc/proftpd.passwd文件中缺少全部或部分系统ftp帐户,则可以执行以下操作以确保它们全都存在。
 
首先切换到根目录:

cd /root

然后创建一个名为fix_ftp.sh的文件(使用您最喜欢的编辑器):

nano fix_ftp.sh

在用户目录中的这个新文件中,插入以下代码:

#!/bin/sh

PF=/etc/proftpd.passwd

cd /usr/local/directadmin/data/users
for u in `ls`; do
{
          if [ ! -d $u ]; then
                    continue;
          fi

          SHADOW=/home/$u/.shadow
          if [ ! -e $SHADOW ]; then
                    continue;
          fi

          #make sure it doesn't already exist
          COUNT=`grep -c -e "^${u}:" $PF`
          if [ "$COUNT" -ne 0 ]; then
                    continue;
          fi

          UUID=`id -u $u`
          UGID=`id -g $u`

          echo "${u}:`cat /home/$u/.shadow`:${UUID}:${UGID}:system:/home/${u}:/bin/false";

};
done;

保存/退出,然后chmod脚本到755。

chmod 755 fix_ftp.sh



先测试一下(它不会像这样对你的文件做任何修改):

./fix_ftp.sh

确保它正在倾倒进入proftpd.passwd文件的信息。
一旦确定它是你想要的数据,将它管到文件的尾部:

./fix_ftp.sh >> /etc/proftpd.passwd

确保使用2>字符(>>)而不仅仅是1,因为只使用1会删除以前存在的任何内容(如果存在任何ftp@domain.com帐户,这是一件坏事)。
 
确保/etc/proftpd.passwd是root:ftp:
 

chown root:ftp /etc/proftpd.passwd
chmod 640 /etc/proftpd.passwd


就是这样,然后只是测试一下ftp账户。
腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号