Windows + Ubuntu Triple Boot & mdash; Клавиатура не работает в Windows 7 [закрыто]

Защита паролем смены обоев

В приведенном ниже скрипте предусмотрена мягкая защита паролем для изменения обоев в «домашних» ситуациях. Мягкий, потому что пароль хранится внутри скрипта в виде обычного текста. Тем не менее, это должно помешать обычным пользователям изменять обои.

Что он делает, так это то, что когда пользователь меняет обои, он немедленно возвращается обратно, и пользователю предлагается ввести пароль. Если пароль правильный, обои меняются на вновь установленный, в противном случае ничего не происходит.

Чтобы свести к минимуму риск, храните сценарий в неожиданном месте под неожиданным именем, и / или как скрытый файл.

Чтобы использовать его:

Скопируйте сценарий ниже в пустой файл, укажите пароль по своему выбору в разделе главы (я бы не стал выберите ваш пароль sudo по соображениям безопасности, так как он в текстовом формате!) и сохраните его как name.py, запустите его командой:

python3 /path/to/name.py

Сценарий:

#!/usr/bin/env python3

import time
import subprocess

set_password = "monkey"

key = "org.gnome.desktop.background picture-uri "
read = "gsettings get "+key; change = "gsettings set "+key
set_wallpaper = subprocess.check_output(["/bin/bash", "-c", read]).decode("utf-8").strip()
pass_window ='zenity --entry --entry-text="Enter password" --text="Enter password" --title="password" --hide-text'

def check_wall():
    global set_wallpaper
    curr_wallpaper = subprocess.check_output(["/bin/bash", "-c", read]).decode("utf-8").strip()
    if curr_wallpaper != set_wallpaper:
        subprocess.Popen(["/bin/bash", "-c", change+set_wallpaper])
        try:
            entered_password = subprocess.check_output(
                ["/bin/bash", "-c", pass_window]).decode("utf-8").strip()
        except Exception:
            entered_password = None
        if entered_password == set_password:
            subprocess.Popen(["/bin/bash", "-c", change+curr_wallpaper])
            set_wallpaper = curr_wallpaper
    else:
        pass

while True:
    check_wall()
    time.sleep(3)

отправлено на gist.gisthub

1
задан 18 April 2017 в 22:41

0 ответов

Другие вопросы по тегам:

Похожие вопросы: