将 sudo 与 Python 脚本结合使用:硬编码密码的安全替代方案
您正在尝试创建一个 Python 脚本来挂载 VirtualBox 共享文件夹执行。但是,这需要提升权限,导致您探索诸如以 sudo 身份运行脚本或在脚本中使用 sudo 等选项。
虽然当然不建议在 .py 文件中提供密码,但可能是可以接受的对于低关键虚拟机。但是,您提出的解决方案引起了担忧:
#!/usr/bin/env python import subprocess sudoPassword = 'mypass' command = 'mount -t vboxsf myfolder /home/myuser/myfolder' subprocess.Popen('sudo -S' , shell=True,stdout=subprocess.PIPE) subprocess.Popen(sudoPassword , shell=True,stdout=subprocess.PIPE) subprocess.Popen(command , shell=True,stdout=subprocess.PIPE)
强烈建议不要采用这种方法。硬编码密码被认为是一种较差的安全做法,使您的系统容易受到未经授权的访问。
硬编码密码的替代方案
幸运的是,还有更安全的替代方案:
这些替代方案允许您在不损害系统安全性的情况下实现您的目标。进一步阅读这些主题可以提供更深入的信息。
以上是如何在不硬编码密码的情况下安全地运行需要提升权限的 Python 脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!