我将 tcsh 作为默认 SHELL,并在 ~/.cshrc 中为我配置了 umask。此设置在 SSH 上工作正常。如果我使用 Xfce 登录并以此方式启动程序,我的配置不起作用。
我如何配置自己的 umask?我不应该更改其他用户的设置,而且其他用户必须使用 tcsh。
- 如果我从 Xfce 启动终端 - umask 是我配置的正确的 umask。 -如果我从 Xfce 执行其他操作 - 使用 Thunar 创建文件或通过没有终端的 GUI 启动程序并从那里创建文件 - 然后应用系统默认(错误)umask。
使用从 LightDM 启动的 Xfce,添加
umask 0xx
或~/.profile
可能~/.xprofile
会起作用(LightDM 通过 /bin/sh 运行,因此需要 Bourne shell 语法 - 而不是 Bash!)。尽管名称如此,但“登录 shell”不一定参与启动图形会话。(有时是,有时只有 /bin/sh 参与,有时根本不涉及任何 shell……最重要的是,“现代”桌面会话以两个单独的分支开始,每个分支都有不同的环境来源等。)
所有会话中一个共同点是 PAM(它处理用户身份验证和一些会话设置),因此可以使用
pam_umask
模块设置您的 umask。它似乎在 Debian Trixie 中默认启用,但现在您可能需要手动将其添加到:一旦启用,您可以添加
umask=0xxx
到用户帐户的“GECOS 字段”(第 5 个子字段):...或者使用
chfn --other
(如果 Debian 有的话)。