gpt4 book ai didi

linux - 通过 inotifywait 管理 Vhost 的访问

转载 作者:太空宇宙 更新时间:2023-11-04 12:27:53 24 4
gpt4 key购买 nike

我在 apache 服务器上有几个虚拟主机,几个开发人员分别在它们上工作。我只想让他们访问他们的网站。由于守护进程接管了对站点内创建的任何文件的访问权限,我创建了一个带有 inotifywait 的脚本来授予对已更改/创建的文件的权限,但它仅适用于单个站点并且复制其他虚拟主机的脚本看起来不像一个优雅的解决方案。

#!/bin/sh
monitorDir="/opt/bitnami/apps/wordpress/htdocs"

inotifywait -m -r --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -q -e create,modify,move "${monitorDir}" | while read date time dir file; do
FILECHANGE=${dir}${file}
#Change ownership of file
chown wpdev1:wpdev1 "$FILECHANGE"
#Change permissions of file
chmod 755 "$FILECHANGE"
done

有没有人知道如何为多个文件夹和开发人员解决这个问题? (例如我有 3 个网站:wordpress、wordpress2 和 wordpress3)。谢谢。

最佳答案

以下代码有效。它检查特定文件夹的变化并执行相关操作 (chown),如果发生变化:

#!/bin/bash
wordpressDir="/opt/bitnami/apps/wordpress/htdocs"
wordpress="copyme"
phpDir="/opt/bitnami/apps/phpmyadmin"
phpuser="phpme"

inotifywait -m -r --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -s -q -e create,modify,move "${wordpressDir}" "${phpDir}" |
while read date time dir file; do
FILECHANGE=${dir}${file}
if [[ "$dir" == *"$wordpressDir"* ]]; then
#Change ownership of file
chown $wordpress:$wordpress "$FILECHANGE"
fi
if [[ "$dir" == *"$phpDir"* ]]; then
#Change ownership of file
chown $phpuser:$phpuser "$FILECHANGE"
fi
#Change permissions of file
chmod 755 "$FILECHANGE"
done

关于linux - 通过 inotifywait 管理 Vhost 的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44116623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com