2017-06-04 61 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腳本中的參數的空間。

相關問題