我正在做一个bash shell脚本,我想更改创建新文件的默认组。我知道您使用umask
来更改权限。该团体有什么东西吗?
答案 0 :(得分:164)
有几种方法可以做到这一点:
您可以更改特定内容中创建的所有文件的默认组
目录通过在目录(chmod g+s _dir_
)上设置setgid标志。
然后将使用该组创建目录中的新文件
目录(使用chgrp <group> <dir>
设置)。这适用于任何计划
在目录中创建文件。
请注意,这是为新子目录自动继承的(从
但是,Linux 3.10),如果子目录已经存在,则此更改
将不会应用于它们(使用-R
标志)。
如果未设置setgid标志,则默认组将设置为当前
创建过程的组ID。虽然可以使用newgrp
设置
命令,它创建一个难以在shell中使用的新shell
脚本。如果要执行特定命令(或一组命令)
使用更改的组,使用命令sg <group> <command>
。
sg
不是POSIX标准命令,但可在Linux上使用。
答案 1 :(得分:12)