仅为非 root 用户设置 UMASK 值

Set UMASK value only for non root users

我想将非 root 用户的 UMASK 值设置为 077,而对于 root 用户,它应该是 022。

我已将 /etc/login.defs 中的 UMASK 值从 022 更改为 077。但这似乎也更改了我的 root 用户的 UMASK。有没有一种方法只能更改创建的新非根用户的 UMASK 值?

注意:我需要能够在脚本中执行此操作。

您可以将 umask 022 放入根目录的 .profile/.bashrc 并将 077 作为 /etc/login.defs.

的默认值

umask shell 内置函数使 umask 系统调用设置进程可继承 umask 属性: 在一个进程中设置 umask 调用影响该进程的所有后代(除非他们自己进行 umask 调用),因此要为 "user" 设置 umask,您需要在一个进程中调用 umask所有用户进程下降(登录 shell and/or shell 通过调用 sudo 命令。