lamp一键包地址:http://teddysun.com/lamp


apache安好是一个组,


ftp安好一个组,


ftp传文件没有权限,530错误


找了好多办法,都不行,官方也没有一个什么说明,只是说了一句不要使用ftp


于是找了很久


改一个文件就好了


lamp.sh中找到ftp()函数


代码如下:

# add,del,list ftp user
function ftp(){
    if [ ! -f /etc/init.d/pure-ftpd ];then
        echo "Error: pure-ftpd not installed, please install it at first."
        echo "Execute command: ./pureftpd.sh and install pure-ftpd."
        exit 1
    fi
    case "$faction" in
    add)
    read -p "(Please input ftpuser name):" ftpuser
    read -p "(Please input ftpuser password):" ftppwd
    read -p "(Please input ftpuser root directory):" ftproot
    useradd -d $ftproot -g ftp -c pure-ftpd -s /sbin/nologin  $ftpuser
    echo $ftpuser:$ftppwd |chpasswd
    if [ -d "$ftproot" ]; then
        chmod -R 755 $ftproot
        chown -R $ftpuser:ftp $ftproot
    else
        mkdir -p $ftproot
        chmod -R 755 $ftproot
        chown -R $ftpuser:ftp $ftproot
    fi
    echo "Successfully create ftpuser $ftpuser"
    echo "ftp root directory is $ftproot"
    ;;
    del)
    read -p "(Please input the ftpuser you want to delete):" ftpuser
    userdel $ftpuser
    echo "Successfully delete ftpuser $ftpuser"
    ;;
    list)
    printf "FTPUser\t\tRoot Directory\n"
    cat /etc/passwd | grep pure-ftpd | awk 'BEGIN {FS=":"} {print $1"\t\t"$6}'
    ;;
    *)
    echo "Usage:add|del|list"
    exit 1
    esac
}

把其中的:

useradd -d $ftproot -g ftp -c pure-ftpd -s /sbin/nologin  $ftpuser

修改为:


useradd -d $ftproot -g ftp -uftp -c pure-ftpd -s /sbin/nologin  $ftpuser



重启pureftp即可


apache也可以把用户和用户组改成ftp,然后就不再有权限问题了


重启Pureftp官方也没说明,使用命令:


/etc/init.d/pure-ftpd start|stop