0

我正在尝试创建一个 python 服务器,它允许我在 Centos 服务器上远程运行 root 命令,我还希望服务器能够响应命令的结果。

我在这里找到了另一个问题,它有一个基本的 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 身份运行 shell 脚本?

谢谢,阿什利

4

2 回答 2

2

您需要将整个代码中每个嵌套语句的缩进保持在同一级别。

于 2009-06-11T13:23:37.720 回答
2

另一方面:为什么不使用TwistedMatrix

于 2009-06-11T13:32:07.717 回答