質問
Centos サーバー上で root コマンドをリモートで実行できるようにする Python サーバーを作成しようとしています。また、サーバーがコマンドの結果で応答できるようにしたいと考えています。
基本的なPythonサーバーを備えた別の質問をここで見つけましたが、エラーがスローされます。コードは次のとおりです。
#!/usr/bin/python
import os
import socket
print " Loading Bindings..."
settings = {}
line = 0
for each in open('/root/actions.txt', 'r'):
line = line + 1
each = each.rstrip()
if each <> "":
if each[0] <> '#':
a = each.partition(':')
if a[2]:
settings[a[0]] = a[2]
else:
print " Err @ line",line,":",each
print " Starting Server...",
port = 12345
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", port))
print "OK."
print " Listening on port:", port
while True:
datagram = s.recv(1024)
if not datagram:
break
print "Rx Cmd:", datagram
if settings.has_key(datagram):
print "Launch:", settings[datagram]
os.system(settings[datagram]+" &")
s.close()
を使用して実行すると python vzctl.py
. 。次のエラーが表示されます。
File "vzctl.py", line 9
each = each.rstrip()
^
SyntaxError: invalid syntax
誰かがエラーについて何か考えていますか、そしてコマンドの出力で応答するサーバーの機能を追加することが可能かどうか。
このスクリプトのソースは次の場所で確認できます。 PHP スクリプトでシェル スクリプトを root として実行するにはどうすればよいですか?
ありがとう、アシュリー
解決
コード全体で、ネストされた各ステートメントのインデントを同じレベルに保つ必要があります。
他のヒント
別のメモ:なぜ使わないのか ツイステッドマトリックス?
所属していません StackOverflow