#! /usr/bin/env python3 # -*- coding: UTF-8 -*- #(c) Xavier 2022 # pour débugger… en ligne de commande !-) #import pdb; pdb.set_trace() #GUI RKHunter FRS2013 # for Python3 from tkinter import * import tkinter.messagebox import tkinter.filedialog import os import serial import time import csv import shutil import subprocess try: import configparser as configparser except ImportError: import ConfigParser as configparser #param os sysos="linux" clearscreen="clear" os.system(clearscreen) #def function def Version(): versionrkh = os.popen('rkhunter --version') tkinter.messagebox.showinfo("Version","GUI RKHunter V" + versionrkh.read() + "\n(C) 2022 Xavier\n1.01") def Clean(): for c in frame.winfo_children(): c.destroy() os.system(clearscreen) FormGUI() def Rkhscanall(): os.system(clearscreen) subprocess.call(['gnome-terminal -- bash -c "rkhunter --checkall"',''], shell=True) def Rkhscanfast(): os.system(clearscreen) subprocess.call(['gnome-terminal -- bash -c "rkhunter -c --rwo"', ''], shell=True) def Rkhupdate(): os.system(clearscreen) subprocess.call(['gnome-terminal -- bash -c "rkhunter --update"',''], shell=True) def Rkhfix(): subprocess.call(['gnome-terminal -- bash -c "rkhunter --propupd"',''], shell=True) def Rkhlog(): os.system(clearscreen) subprocess.call(['gnome-terminal -- bash -c "cat /var/log/rkhunter.log | more"',''], shell=True) def FormGUI(): for c in frame.winfo_children(): c.destroy() Label0 = Label(frame, text = 'GUI RKHunter: ') Label0.grid(column=0,row=0, sticky='w',pady=2) bouton2= Button (frame, text="RkHunter ScanAll", command=Rkhscanall, padx=2) bouton2.grid (column=1, row=11,sticky='sw', padx=20) bouton2= Button (frame, text="RKHunter update", command=Rkhupdate, padx=2) bouton2.grid (column=10, row=11,sticky='sw', padx=20) bouton2= Button (frame, text="RkHunter Scan Fast", command=Rkhscanfast, padx=2) bouton2.grid (column=1, row=31,sticky='sw', padx=20) bouton2= Button (frame, text="RKHunter Log", command=Rkhlog, padx=2) bouton2.grid (column=10, row=31,sticky='sw', padx=20) bouton2= Button (frame, text="RKHunter Fix", command=Rkhfix, padx=2) bouton2.grid (column=5, row=51,sticky='sw', padx=20) def FormNoRoot(): tkinter.messagebox.showinfo("Error","GUI RKHunter need ROOT\n") os._exit(os.EX_OK) def Quit(): os._exit(os.EX_OK) def Apropos(): tkinter.messagebox.showinfo("Aide sur GUIRKHunter", "Ce GUI est un interpréteur de CMD\nScanAll rkhunter --checkall\nSacnFast rkhunter -c --rwo\nUpdate rkhunter --update\nFix rkhunter --propudp\nLog nano /var/log/rkhunter.log\n\n\n") if __name__ == '__main__': print("START INI") chemin = os.popen("readlink guirkhunter | sed 's/main//g'") # Main window Mafenetre = Tk() Mafenetre.title("GUI RKHunter") if os.name == 'nt': Mafenetre.iconbitmap("icone.ico") # Mon logo logo = PhotoImage(file= "/opt/guirkhunter/img/rkhunter.png") # Création d'un widget Menu menubar = Menu(Mafenetre) menuaide = Menu(menubar,tearoff=0) if not os.name == 'nt': menubar.add_cascade(image=logo) menufichier = Menu(menubar,tearoff=0) menufichier.add_separator() menufichier.add_command(label="Nettoyer Frame",command=Clean) menufichier.add_command(label="Quitter",command=Quit) menubar.add_cascade(label="Fichier", menu=menufichier) menuaprs = Menu(menubar,tearoff=0) menuaprs.add_command(label="RKH Scan All",command=Rkhscanall) menuaprs.add_command(label="RKH Scan Fast",command=Rkhscanfast) menuaprs.add_command(label="RKH Update",command=Rkhupdate) menuaprs.add_command(label="RKH Fix",command=Rkhfix) menuaprs.add_separator() menuaprs.add_command(label="RKH Log",command=Rkhlog) menuaprs.add_separator() menubar.add_cascade(label="GUI RKHunter", menu=menuaprs) menuaide = Menu(menubar,tearoff=0) menuaide.add_command(label="A propos",command=Apropos) menuaide.add_command(label="Version",command=Version) menubar.add_cascade(label="Aide", menu=menuaide) # Affichage du menu Mafenetre.config(menu=menubar) frame=Frame(Mafenetre,height=200,width=400) frame.pack() Canevas = Canvas(Mafenetre,width=400, height=5) Canevas.pack() frame.photo = PhotoImage(file ='') espace_image = Canvas(frame, width =170, height =170, bg ='black') espace_image.grid(row=3 ,columnspan=2, column=0, padx =10, pady =10) espace_image.create_image(85, 85, image =frame.photo) if os.getuid() != 0: # We're not root so, like, whatever dude print("No root") FormNoRoot(); FormGUI() Mafenetre.mainloop()