需求,关闭linux、unix需要root权限,但root权限又不能给别人。
如果需要别人关机怎么办?
写一个程序监听某个端口,接受用户指令。然后关机。
服务器端代码如下:
#!/usr/bin/env python
import socket
import os
HOST = ''
PORT = 9999
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
while 1:
conn, addr = s.accept()
if cmp('192.168.1.111',addr[0])==0:
print 'shutdonw now'
os.system('/sbin/shutdown -h now')
break
conn.close()
当然这个程序还不安全。所以要加上防火墙的配合,比如只允许某个ip的用户关机。
还可以从数据库,或者文件中读取允许的用户列表,还可以加上用户名密码验证。