我希望umask在用户切换到非默认组时更加宽容。 只是为了certificate我的意思:
$ id uid=500(beamin) gid=500(beamin) groups=10(wheel) $ umask 0022 $ sg wheel $ umask # I want this to now be 0002 instead 0022
我正在考虑添加一个脚本到/etc/profile.d/看起来像这样:
if [ "`id -u`" -ge 500 ] && [ "`id -g`" -ne "`id -u`" ]; then umask 0002 fi
我得到了500因为我们所有的用户uid都大于或等uid 。 这是做这件事的最好方法吗? 还是有人有更有意义的东西?
我认为你的解决scheme是好的。 在shell脚本中,您可以使用:
(umask 022;exec sg wheel )
testing:
umask 002 umask ( umask 022; exec sg wheel umask) umask
有关替代解决scheme,请参阅我的类似post: 如何在Ubuntu 9.10上为/ var / www中的多个用户编辑多个站点的权限结构?
你可以创build一个脚本mysg,执行sg arg,然后是umask X,其中X是002或022,具体取决于input的是哪个组。 可能不是最优雅的解决scheme…