如果我将这个Python脚本转换为可执行文件,其他人是否能够执行它?

如果我将这个Python脚本转换为可执行文件,其他人是否能够执行它?,python,authentication,executable,pyodbc,Python,Authentication,Executable,Pyodbc,我有一个Python脚本,它使用pyodbc包连接到SQL Server数据库并运行一些查询,将其保存到Excel电子表格并格式化以供其他同事使用 它使用windows身份验证连接到数据库/服务器,并且并非所有员工都可以访问数据库。如果我将脚本转换为可执行文件,是否会因为其他可能尝试执行脚本的人无法访问数据库而失败?如果是这样,是否有一种方法可以将应用程序链接到我的windows身份验证,而无需将我的用户名和密码硬编码到其中 谢谢 如果您的脚本正在对数据库进行身份验证,并且该身份验证已编码到脚本

我有一个Python脚本,它使用pyodbc包连接到SQL Server数据库并运行一些查询,将其保存到Excel电子表格并格式化以供其他同事使用

它使用windows身份验证连接到数据库/服务器,并且并非所有员工都可以访问数据库。如果我将脚本转换为可执行文件,是否会因为其他可能尝试执行脚本的人无法访问数据库而失败?如果是这样,是否有一种方法可以将应用程序链接到我的windows身份验证,而无需将我的用户名和密码硬编码到其中


谢谢

如果您的脚本正在对数据库进行身份验证,并且该身份验证已编码到脚本中,那么如果另一个脚本具有执行权限,则他们将能够按设计运行该脚本

脚本是在Unix/Linux主机上运行还是在windows主机上运行?无论哪种方式,您都需要世界可执行文件或组可执行文件,并且需要在组中运行脚本的用户


在unix/linux主机上,您可以设置粘性位,这将使它作为脚本的所有者执行,即使非所有者运行脚本。

如果可能,您将希望为此任务创建一个专用用户。即使已编译,也不要包含您的凭据:您的用户名/密码可以很容易地提取出来

我建议在SQL Server上创建一个没有访问权限的用户。然后授予该用户SELECT权限,仅限于您需要他们访问的表:

GRANT SELECT ON table_name TO my_user

然后您可以将my_用户/my_密码硬编码到脚本中,安全风险要小得多。祝你好运

太棒了,这正是我希望得到的答案。非常感谢。这应该管用!