我的 subversion 中有一個 post-commit 鉤子,它將我的 repo 的副本匯出到所需的位置進行部署。這部分作業正常,但它帶有 apache:apache。我需要將其更改為 prod_user:prod_user。如果我嘗試在腳本中添加 chown 陳述句,它將失敗。如果我嘗試使用 sudo,它會要求輸入我無法提供的密碼,因為這發生在提交后腳本中。我希望這盡可能自動化。
我的問題是:我怎樣才能使這項作業?我需要將我的 repo 的內容匯出到生產檔案夾并轉換用戶/組以匹配現有的生產用戶/組。
有沒有辦法將我的密碼作為引數傳遞給 sudo 命令?
謝謝您的幫助!
uj5u.com熱心網友回復:
有沒有辦法將我的密碼作為引數傳遞給 sudo 命令?
如果可能的話,不要這樣做。這會將您的密碼泄露給任何可以閱讀該腳本的人。
但是如果你不能避免它,使用echo <password> | sudo -S <command>--S使 sudo 從標準輸入讀取,這樣你就可以從那里給它密碼
uj5u.com熱心網友回復:
不要做任何sudo, chown, chgrp. 上傳者不負責修復遠程服務器上的權限。
讓服務器管理員正確設定這些,以便直接從存盤庫推送生產檔案,而不會弄亂服務器上的 sudo 權限。
如果您是同一個人,請花時間修復服務器端,以避免遠程用戶提升其權限(即使是暫時使用sudo)以修復上傳的檔案權限。
uj5u.com熱心網友回復:
crontab -e以用戶身份使用root,然后您可以更改所有權而無需提升權限。
或者運行 asprod_user并檢查代碼...然后它已經是檔案的所有者。
保留具有最后部署時間戳的檔案可用于與HEAD時間戳進行比較。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/487297.html
上一篇:Bash腳本:根據字符過濾列
