我正在做一个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