我正在做一個bash shell腳本,我想更改創建新文件的默認組。我知道你使用umask
來更改權限。這個團隊有什麼?Bash腳本 - 如何設置將創建新文件的組?
63
A
回答
8
newgrp
(1)
156
有幾個方法可以做到這一點:
您可以通過設置setgid標記的更改特定 目錄中創建的所有文件默認組目錄(
chmod g+s _dir_
)。 然後使用 目錄組(使用chgrp <group> <dir>
設置)創建目錄中的新文件。這適用於在目錄中創建文件的任何程序 。注意,這是自動繼承新的子目錄(如 的Linux 3.10的),但是,如果子目錄已經存在,這種變化 不會應用到他們(使用的是
-R
標誌)。如果沒有設置setgid標誌,那麼默認組將被設置爲當前創建進程的 組標識。雖然這可以使用命令
newgrp
命令來設置,但它會創建一個在shell 腳本中難以使用的新shell。如果要使用更改的組執行特定命令(或一組命令) ,請使用命令sg <group> <command>
。sg
不是POSIX標準命令,但可在Linux上使用。
+5
只是一個小紙條。如果你嘗試在一個具有y組的目錄下運行'chmod g + s _dir_',並且你在用戶x下運行命令,並且用戶x不是組y的成員,它就不會工作。你必須以root身份運行它。 – LEDfan 2016-04-13 07:12:34
相關問題
- 1. 創建zip文件(bash腳本)
- 2. 爲bash腳本創建應答文件
- 3. Bash腳本文件創建和填充
- 4. Bash腳本創建意外文件
- 5. Bash腳本不創建文件
- 6. 從ls創建數組的bash腳本?
- 7. 創建bash腳本
- 8. shell腳本:創建新的bash進程
- 9. 如何設置bash腳本的選項
- 10. 如何用另一個bash腳本創建一個bash腳本?
- 11. 創建的Linux bash腳本複製文件並創建目錄
- 12. 使用bash腳本從模板創建新文件
- 13. 如何創建以下Android bash腳本?
- 14. 如何創建並保存bash腳本
- 15. bash腳本,如何從ansible設置
- 16. linux的bash腳本來創建文件夾和移動文件
- 17. 創建腳本硬件配置文件?
- 18. 根據文件名在新創建的文件夾中運行bash腳本
- 19. Bash腳本:如何將配置文件添加到配置文件中?
- 20. Bash腳本 - 從文本文件創建/刪除用戶
- 21. bash腳本創建腳本變量
- 22. 從bash腳本設置JAVA_HOME
- 23. 用腳本在bash中創建文件的多個副本
- 24. bash腳本創建文件夾和移動文件
- 25. bash腳本創建多個文件,並在每個文件
- 26. 設置由shell腳本創建的文件的目錄?
- 27. 如何爲bash腳本創建更新功能
- 28. 爲shell腳本創建配置文件
- 29. 如何編寫文件創建腳本?
- 30. 用變量創建bash腳本的bash腳本
我是該組的成員,那麼爲什麼它要求我輸入密碼?它不喜歡我的密碼! – Michael 2013-02-12 04:25:15
另外,如果我運行「newgrp」作爲根(例如使用sudo在其中運行帶有newgrp的腳本),它會將我轉儲到根shell中。 –
Michael
2013-02-12 04:28:39
這不是newgrp應該使用的。如果您忘記在腳本之外使用newgrp,會發生什麼情況?腳本如何處理newgrp創建的新shell。 @ mark40的回答比較好。 – noel 2013-05-20 12:53:57