我制作了一个 Python 脚本,它基本上保存了我在 Reddit 上使用的特殊帐户的帐户信息。一切都很好,直到我意识到,即使文件夹是隐藏的,用户等仍然可以在技术上看到并访问目录,如果他们手动或类似的东西去那里(例如查看我使用的文件)通过执行gedit /path/to/.hidden
)以纯文本形式编写脚本。
我试图通过简单地让root
主要所有者和唯一可以查看该特定文件夹的人来解决这个问题,强调这样人们不会认为我将自己锁定在主主文件夹之外,但现在的问题是 Python 无法查看需要的文件,因为它没有读取权限。
是否有任何可能的方法将 Python 添加到它自己的组中,类似于 Virtualbox 在设置时自动执行的操作(例如,我可以按照 的方式做一些事情sudo chown python:python /path/to/files
)?如果没有,是否有任何替代方法可以防止窥探,但仍然允许 Python 查看和读取文件?
我正在使用 Ubuntu 18.04(如果有帮助,我已经安装并且主要使用 MATE 桌面环境。)
不,基本上不是。您希望用户能够通过 python 命令读取文件,但不能检查文件的内容。
首先,从技术角度来看,它可能如果你让蟒蛇setuid的二进制可能(注:不这样做,这可能会破坏你的系统的其他部分)。但。Python 不是为此而生的。
我可以用以下命令启动 python python -i script
:
-i When a script is passed as first argument or the -c option is used, enter interactive mode after executing the script or the command. It does not read the $PYTHONSTARTUP file. This can be useful to inspect global variables or a stack trace when a script raises an exception.
这基本上意味着我可以自由访问脚本中的所有变量和方法。我可以修改脚本的行为。如果它登录到 reddit,我可以获得身份验证令牌,并使用浏览器登录。也可能可以检索密码。
我什至可以编写一个小的 python 脚本,它会一行一行地读取您的脚本,然后将其打印给我。Python不能保证 setuid 的安全,因为它是一种功能齐全的编程语言。如果允许 python 读取文件,则允许任何可以运行 python 的用户读取文件。
问题的根本在于您试图向用户隐藏信息。但是,要执行预期功能,用户需要此信息。这是一个无法解决的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句