我有一個Python腳本,它使用pyodbc軟件包連接到SQL Server數據庫並運行一些查詢,將其保存到Excel電子表格並將其格式化以供其他同事使用。如果我將這個Python腳本轉換爲可執行文件,其他人是否可以執行它?
它使用Windows身份驗證連接到數據庫/服務器,並非所有員工都有權訪問數據庫。如果我將腳本轉換爲可執行文件,是否會失敗,因爲可能嘗試執行它的其他人無法訪問數據庫?如果是這樣,有沒有辦法將應用程序鏈接到我的Windows身份驗證,而不用硬編碼我的用戶名和密碼?
謝謝!
我有一個Python腳本,它使用pyodbc軟件包連接到SQL Server數據庫並運行一些查詢,將其保存到Excel電子表格並將其格式化以供其他同事使用。如果我將這個Python腳本轉換爲可執行文件,其他人是否可以執行它?
它使用Windows身份驗證連接到數據庫/服務器,並非所有員工都有權訪問數據庫。如果我將腳本轉換爲可執行文件,是否會失敗,因爲可能嘗試執行它的其他人無法訪問數據庫?如果是這樣,有沒有辦法將應用程序鏈接到我的Windows身份驗證,而不用硬編碼我的用戶名和密碼?
謝謝!
如果可能,您將要爲此任務創建專用用戶。即使編譯,也不要包含您的憑證:您的用戶名/密碼可以非常簡單地提取。
我建議在SQL Server上創建一個用戶,不能訪問。然後授予該用戶SELECT權限,只在你需要的時候訪問的表:
GRANT SELECT ON table_name TO my_user
然後你可以硬my_user/MY_PASSWORD一個小得多的安全隱患代碼插入腳本。祝你好運!
如果您的腳本正在對數據庫進行身份驗證並將其編碼到腳本中,那麼如果其他腳本具有執行權限,則他們將能夠按設計運行它。
該腳本是在Unix/Linux主機上還是在Windows主機上運行?無論哪種方式,您都需要世界可執行文件或組可執行文件,並讓用戶需要在組中運行該腳本。
在unix/linux主機上,您可以設置sticky位,即使非所有者運行腳本,也會使其作爲腳本的所有者執行。
太棒了,正是我所希望的答案。謝謝。這應該工作! – codycrossley