我想用密码限制对正在运行的应用程序的访问。可以吗?托盘图标中有一个应用程序,我想关闭它以防止未经授权的访问。
问候
答案1
以下设置适用于“家庭、花园和厨房”用途,无需特定安全保护。我还需要说明的是,仍然可以通过命令行打开应用程序;它严格适用于“室内”用途,例如防止儿童访问应用程序。
诀窍是将应用程序桌面文件中的命令重定向到调用该应用程序的脚本,前提是给出了正确的密码。可以轻松撤消设置。
下面是两个脚本,一个调用窗口输入密码(脚本1),一个处理给定的密码(脚本2)。
准备脚本:
script1、调用zenity窗口输入密码:
#!/bin/sh
if zenity --entry \
--title="Restricted!" \
--text="Enter your _password:" \
--entry-text "password" \
--hide-text
then echo $?
else echo "No password entered"
fi
复制上述文本,粘贴到一个空白文档中,保存~/
为“passwordwindow”,并使其可执行。
script2 处理给定的密码:
#!/usr/bin/python3
import subprocess
# application_name = the command to start the application:
application_name = "application_name"
# enter the required password here:
password = "password"
# enter the path to script1 here (for example ~/passwordwindow):
path_to_script1 = "path_to_script1"
getpassword = subprocess.Popen([path_to_script1], stdout=subprocess.PIPE)
passwordinput = getpassword.communicate()[0].decode("utf-8").replace("\n0\n", "")
if passwordinput == password:
subprocess.call([application_name])
else:
pass
复制上述文本,将其粘贴到空文档中,并替换脚本头部部分的以下条目:
- 在脚本中将“application_name”替换为打开应用程序的命令。如果您不知道,请
/usr/share/applications
使用 gedit 打开位于 的应用程序桌面文件,然后复制“Exec=”后面的内容。 - 用所需密码替换“密码”。
- 将“path_to_script1”替换为 script1 的真实路径(例如“/home/yourname/passwordwindow”)。
包括引文。
将文件(隐藏)另存为 .myownpassword.py~/
准备.desktop 文件:
要完成设置:
/usr/share/applications to
从~/.local/share/applications复制应用程序的桌面文件- 使用 gedit 打开文件并将“Exec=”后的命令替换为:(
python3 /path_to_script2/.myownpassword.py
无引号)
现在,下次注销/登录后,如果您启动应用程序,系统将要求您输入密码,如脚本 2 中所定义:
如何删除:
要撤消设置,只需删除本地桌面文件/.local/share/applications
和目录中的两个脚本~/
。
答案2
哪些未经授权的人可以使用您的用户帐户?我建议为有权访问计算机的人员创建各种用户帐户。然后,您可以使用文件权限来限制对系统某些部分的访问,例如,仅允许“技术人员”组的成员执行程序“skype”。
让您不信任的人访问您的个人用户帐户是不安全的。