2017-06-04 39 views
0

我正在为我的服务器安装一个观察器系统,这基本上会监视我的目录以进行任何更改/删除/修改/创建...所以我当这些事件发生,所以我在我的watcher.sh文件有这些都可以拨打的.sh文件观察者使用bash命令在cPanel中无法访问名称空间的文件

#!/bin/bash 
LOGFILE=/etc/watcher.log 
chmod 000 -R $1 
chown root $1 
echo "$(date +%Y-%m-%d);$(date +%H:%M:%S);$1;$3;$2;watcher.sh" >> $LOGFILE 

当我上传了一个名为a.txt文件,但如果我上传的文件在自己的名字空间,它工作正常什么都没发生。在日志文件中我有

2017-06-04;18:37:34;/home/domain/public_html/upload/a b.txt;IN_CREATE;128;watcher.sh 
chmod: cannot access `/home/domain/public_html/upload/a': No such file or directory 
chmod: cannot access `b.txt': No such file or directory 
chown: cannot access `/home/domain/public_html/upload/a': No such file or directory 
chown: cannot access `b.txt': No such file or directory 

在名称空间是搞乱这件事。我怎样才能解决这个问题?另外为什么我仍然可以从cpanel中删除新上传的文件我通过将所有权更改为root来强制它在cPanel中不可访问。

+1

你有没有听说过“分词”?如果没有,运行,不要走,到你的shell手册并阅读双引号引用。 – Jens

回答

2

您可以将周围的参数引号字符如:

chmod 000 -R "$1" 
chown root "$1" 

的报价应解决的问题通过在shell脚本中的参数的空间。

相关问题