折雨的天空
lamp一键包的FTP用户组的问题
2015-7-29 我好笨


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





发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容