2012-10-25 44 views
1

我使用的是Python的CGI腳本,並使用它爲我的服務器上的幾個網頁,一切正常,經同意後手動設置爲755Python的CGI編程權限

但是,當我與一些軟件,如尾編輯。它以不同的權限上傳,所以我必須手動再次更改權限。我生病做,每次我

.htaccess文件中有

Options +ExecCGI 
AddHandler cgi-script .py 

這件事情如果您有任何其他的替代或解決這個問題,這樣我可以設置像搭配chmod 755的每一個。 py腳本或類似的東西。請告訴我。像任何我可以運行一次然後做同樣的shell腳本。我使用Ubuntu 12個服務器

我嘗試這樣做,但是,

#!/bin/bash 
file=`find *.py` 
chmod 775 $file 

它可以在批量使用。

回答

2

似乎在上傳時設置的權限在尾聲中是configurable

或者,你可以使用inotifywait(從inotify-tools)在服務器上添加可執行位每當腳本修改:

$ inotifywait -c -m -e modify -e create -e attrib path/to/cgi-bin/ \ 
| while read pth; do 
    chmod +x "$(echo $pth | awk -F, '{print $1$3}')" 
done 

或者只是while /bin/true; do sleep 5 && chmod 755 path/to/cgi-bin/*.py; done - 它不應該管那麼多了。

如果您有冒險的想法,也可以使用Python內置的http服務器模塊和帶有重載is_executable()方法的CGIHTTPRequestHandler

不過,我很好奇,看看這是否可以完全從Apache配置處理。乾杯。

+1

感謝@gvalkov,它的工作和幫助我。順便提一下 不錯,我真的很喜歡冒險。 所以也會嘗試is_executable()方法。 :) – Abhishek