我正在做一個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. Bash腳本文件創建和填充
- 2. 創建zip文件(bash腳本)
- 3. Bash腳本不創建文件
- 4. shell腳本:創建新的bash進程
- 5. 如何設置bash腳本的選項
- 6. 如何用另一個bash腳本創建一個bash腳本?
- 7. 使用bash腳本從模板創建新文件
- 8. 如何創建以下Android bash腳本?
- 9. bash腳本,如何從ansible設置
- 10. 創建腳本硬件配置文件?
- 11. 根據文件名在新創建的文件夾中運行bash腳本
- 12. bash腳本創建腳本變量
- 13. bash腳本創建多個文件,並在每個文件
- 14. bash腳本創建文件夾和移動文件
- 15. 設置由shell腳本創建的文件的目錄?
- 16. 如何爲bash腳本創建更新功能
- 17. 爲shell腳本創建配置文件
- 18. 如何編寫文件創建腳本?
- 19. bash:如何_best_從另一個腳本創建腳本
- 20. 在創建新shell時自動創建源bash腳本
- 21. Ansible:如何獲取由shell腳本新創建的文件?
- 22. 如何創建一個Bash腳本來創建包含文本的多個文件?
- 23. 如何通過Apps腳本和驅動器SDK創建新的腳本文件
- 24. BASH shell腳本文件解析[新手]
- 25. Bash腳本:更新屬性文件
- 26. Bash腳本重新源文件
- 27. bash腳本問題,找到,由gedit創建的mv tilde文件
- 28. 創建並寫入bash腳本中的文件
- 29. 用於使用forloop創建多個文件的bash腳本
- 30. SVN: - 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