我有一个我不希望人们访问的应用程序,除非得到明确许可(通过密码)。更具体地说,除非用户输入密码,否则该应用程序需要在一天中的某些时段被“锁定”。
检查时间的能力很简单。锁定应用程序的能力是我不知道该怎么做。需要这样做的原因是公司不信任用户注销,也不希望任何未经授权的访问应用程序。为了以防万一,这是一种最后的衡量标准。
我没有编写应用程序,所以我不能在其中嵌入密码。该机器只有一个用户,我不想创建其他用户。我的用户也是一名管理员,因此大多数选择使用操作系统提供安全性的选项都不会起作用。
关于如何实现这一目标的任何想法?
我正在处理Mac OS X,但更喜欢独立于操作系统的解决方案。任何涉及C
或C++
的解决方案都是受欢迎的。
谢谢!
答案 0 :(得分:6)
如何将应用程序嵌入加密磁盘映像包中?只要使用它的唯一用户永远不会从那里复制它并在之后正确卸载捆绑包,我认为它可以实现你想要的:
之后,当用户双击桌面上的别名时,系统会提示用户输入DMG的密码。如果正确,则安装DMG并自动直接启动应用程序。
之后自动卸载也许您可以编写使用diskutil
shell命令的内容,如下所示:> diskutil unmount /Volumes/DMG_NAME
您需要做的就是:
答案 1 :(得分:0)
显然,对于这种设置,没有什么是100%安全的,但对于临时用户,您可以使用密码加密应用程序,然后编写启动应用程序,在输入密码时解密并启动应用程序,并删除申请退出时。
答案 2 :(得分:0)
#include <stdio.h>
#include <string.h>
char buf[BUFSIZ]
puts('what is the secret password? ');
fgets(buf, BUFSIZ, stdin);
if (strcmp('secret', buf)) exit(1);
应该与您可能编码的任何其他内容一样有效,并且具有简单性和可移植性的优势。