由于stat
不能以相同的方式在 al unices 上工作,我想我会分享我的脚本以将所有网站的所有权设置给 Plesk 中的正确所有者(在 Plesk 11、11.5、12 和 12.5 上测试):
cd /var/www/vhosts/
for f in *; do
if [[ -d "$f" && ! -L "$f" ]]; then
# Get necessary variables
FOLDERROOT="/var/www/vhosts/"
FOLDERPATH="/var/www/vhosts/$f/"
FTPUSER="$(ls -ld /var/www/vhosts/$f/ | awk '{print $3}')"
# Set correct rights for current website, if website has hosting!
cd $FOLDERPATH
if [ -d "$FOLDERPATH/httpdocs" ]; then
chown -R $FTPUSER:psacln httpdocs
chmod -R g+w httpdocs
find httpdocs -type d -exec chmod g+s {} \;
# Print success message
echo "Done... $FTPUSER is now correct owner of $FOLDERPATH."
fi
# Make sure we are back at the root, so we can continue looping
cd $FOLDERROOT
fi
done
\\\
代码说明:
- 转到虚拟主机文件夹
- 循环浏览网站
- 存储 vhosts 路径,因为我们
cd
在循环中使用
- 如果
httpdocs
当前网站存在文件夹,则
- 设置 httpdocs 的正确权限和
- 所有底层文件夹
- 显示成功消息
cd
回到 vhosts 文件夹,所以我们可以继续循环
\\\