2014-03-03 68 views
0
某個目錄內執行某個命令

如何防止用戶(或我)從鍵入命令,當我在一個特殊的目錄是目前?防止用戶在UNIX

例如:有誰經常使用的git錯誤的用戶。當他在目錄/ path/to/our/repo時,他不應該輸入git merge

另一個例子:我是使用CMake的初學者,我經常使用它非常錯誤,所以我需要幫助從我再次摧毀一切後的某個人。比方說,我不想讓我的/不是/中/你/ src目錄/文件夾內執行cmake .

有什麼樣一個命令的「黑名單」?即指定用戶U不能從目錄d內執行命令C的列表。

如果沒有,我怎麼可以創造呢?

+0

你可能需要一個git鉤子來驗證repo的狀態,然後才允許提交。例如,如果工作副本包含合併,則禁止。用戶仍然可以將其轉換爲rebase,並且在做了幾次錯誤的重做之後,他或她會學會更加小心。 – Peter

+0

該解決方案不應僅限於git。這只是一個例子。我正在尋找任何命令的限制。 – Sadik

回答

0

你可以使用一些受限shell像rbash(和讓您的用戶的登錄shell)。

你可以包裹git命令到一個腳本或shell函數(同名)來添加檢查....

不過,我認爲這可能是不止一個技術性的社會問題:教育你的用戶正確運行git(也許通過向他展示一些GUI工具,或者如何在emacs下使用git等)。

+0

但用戶將要這樣學習它。對我們所有人來說,這是一種不那麼痛苦的學習方式。謝謝你的回答,我要檢查一下。 – Sadik