cygrunsrv 和 services.msc
發表於 | 7.25.2009 | 無回應
cygrunsrv --help 後可知
Main options: Exactly one is required. (其一)
-I, --install <svc_name>; Installes a new service named .
-R, --remove <svc_name>; Removes a service named .
-S, --start <svc_name>; Starts a service named .
-E, --stop <svc_name>; Stops a service named .
-Q, --query <svc_name>; Queries a service named .
-L, --list [server]; Lists services that have been installed with cygrunsrv.
<svc_name> can be a local service or "server/svc_name" or "server\svc_name".
Required install options: (必須)
-p, --path <app_path>; Application path which is run as a service.
假設 -I 的 svc_name 是 service_name
便可在 Windows 下執行 services.msc 後的名稱欄位找到
而 cygrunsrv 還有以下參數
Miscellaneous install options: (選用)也就是說, -d 之後的名稱 (display name) 會顯示在 services.msc 的名稱欄位, 但實際的服務名稱不變
-d, --disp <display name>; Optional string which contains the display name of the service.
-f, --desc <description>; Optional string which contains the service description.
如果沒有 -d, 其預設值就是 -I 的 service_name (defaults to service name.)
而 -f 所給的字串就是 services.msc 的描述欄位
換句話說, Windows 下開啟 regedit.exe
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\]
查詢新增的服務名稱時, 無論有無下 -d 的參數, 應該查找 -I 的 service_name
設定 denyhosts 的服務
發表於 | 3.02.2009 | 無回應
今天 make 了 denyhosts, 主要是看上其使用 python 所開發的
而且容易 cygrunsrv 為服務(daemon), 雖然 crontab 也是個方法
沒有意外的話, make 完後, 安裝目錄 /usr/share/denyhosts 的 owner 是 $USER
如果沒注意到, 一般直接 cygrunsrv -I 後, 啟動服務絕對會失敗...
根據官方的說法是, daemon mode 須 run DenyHosts as root...
因此, 先修改權限吧
$ chown -R SYSTEM:Administrators /usr/share/denyhosts
接著再安裝設定服務
$ cygrunsrv -I "CYGWIN denyhosts" -p /bin/denyhosts.py \
-a "--daemon --config=/usr/share/denyhosts/denyhosts.cfg" \
-x /var/run/denyhosts.pid -o
如此, 便能以本機系統在開機後啟動服務
假如 /var/log/denyhosts.log 已經存在的話, 記得 chown 為 SYSTEM:Administrators
否則會 permission denied 而終止啟動
另外, denyhosts 啟動後的 HOSTS_DENY, 如: /etc/hosts.evil, 也一併檢查