Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Sergiolocuelo en 11 Septiembre 2018, 17:52 pm



Título: Problemas con script para visualizar y expulsar usuarios (Python3)
Publicado por: Sergiolocuelo en 11 Septiembre 2018, 17:52 pm
estoy realizando un script con python3 en linux para que me avise de cuando alguien se a conectado a mi sistema y que me permita echar al usuario que yo quiera. Tengo este script y funciona con interfaz gráfica con la librería tkinter. El problema es que cuando voy a introducir el tty del usuario en la variable cuadronombre y le doy a enviar, el código de la funcion elimiusr no funciona con: subprocess.run("sudo pkill -9 -t {0}").format(nombreusuario)

1.Me gustaría saber como introducir una variable de python en una orden de linux para que en este caso pueda echar al usuario.

2.También quiero saber si la forma de guardar el resultado de un Entry que yo realizo está bien. Por ejemplo:

cuadrotexto=Entry() resultadoEntry=cuadrotexto.get()

¿Sería así como guardar lo que pongo en el cuadro de texto en la variable resultadoEntry?


Código:
#! /usr/bin/python3
#-*- coding: utf-8 -*-

from tkinter import *
import subprocess
from tkinter import messagebox

a=subprocess.check_output("who|wc -l",shell=True)
b=int(a.decode("utf-8").strip())
lista=subprocess.check_output("who",shell=True)
lista2=subprocess.check_output('who| cut -d " " -f 1,4,6',shell=True)


def funelim():


def elimiusr():

subprocess.run("sudo pkill -9 -t {0}").format(nombreusuario)



raiz=Tk()
raiz.title("Eliminar usuario")
raiz.resizable(0,0)
raiz.geometry("380x150")

texto=Label(raiz,text="Elige el tty del usuario que quieres eliminar")
texto.grid(row=0,column=0,sticky="w")
texto2=Label(raiz,text=lista2)
texto2.grid(row=1,column=0,sticky="w",pady=10)

cuadronombre=Entry(raiz)
cuadronombre.grid(row=2,column=0,sticky="w")
cuadronombre.config(justify="center")
nombreusuario=cuadronombre.get()

boton3=Button(raiz,text="Enviar",command=elimiusr)
boton3.grid(row=2,column=0,sticky="e",padx=170)

raiz.mainloop()


def elimus():

if b>1:

def exit():
root.destroy()

root=Tk()
root.title("Alguien se a conectado al sistema")
root.resizable(0,0)
root.geometry("380x150")

miLabel=Label(root,text="Alguien se a conectado al sistema, ¿Que quiere hacer?")
miLabel.grid(row=0,column=0)
miLabel2=Label(root,text=lista).grid(column=0,row=1,pady=10,sticky="w")

boton1=Button(text="Elim.Usuario",command=funelim)
boton1.grid(column=0,row=2,sticky="w")

boton2=Button(text="Salir",command=exit)
boton2.grid(column=0,row=2,sticky="e")
root.mainloop()



elimus()