Dev*_*lar 7 linux permissions file-permissions umask
我正在使用私有用户组设置,即用户foo的主目录归foo:foo,而不是foo:users.
为此,我需要将 umask 全局设置为 002。
过了一会grep -RIi umask /etc/*儿,似乎修改UMASK条目/etc/login.defs应该可以解决问题。它也有——但仅适用于控制台登录。
如果我登录到我的桌面,并在那里打开一个终端,我仍然可以看到默认的umask 022. 从通过菜单启动的应用程序创建的文件也是如此。显然,显示管理器(或任何负责的 X11 组件)确实提供了一些与控制台登录不同的设置,如果我能说出它是哪一个,那就该死了。(我尝试更改 中的设置/etc/init.d/rc,不,它没有帮助。)
我如何/在哪里设置umask 全局(以及所有用户),以便 X11 桌面环境也获得备忘录?
(系统是 Linux Mint / Ubuntu,以防发生任何变化......)
可以通过引入语句全局设置umask
umask 022
Run Code Online (Sandbox Code Playgroud)
(例如)在 /etc/profile 或 /etc/bashrc 中。
或者,由于您使用的是 Debian 系统,您可以使用 PAM。要启用此功能,请首先编辑文件/etc/pam.d/common-session并添加以下行:
session optional pam_umask.so
Run Code Online (Sandbox Code Playgroud)
然后编辑文件/etc/login.defs并添加(或修改,无论如何)该行
UMASK 002
Run Code Online (Sandbox Code Playgroud)
这些设置在下次重新启动后强制执行,但要小心:例如,这两种方法都会导致用户在他们自己的 ~/.bashrc 中选择的配置。
如果您真的希望无法更改 umask,您可以使用 /etc/fstab 中的磁盘配置。如您所知,可用选项和语法取决于文件系统类型。
| 归档时间: |
|
| 查看次数: |
22504 次 |
| 最近记录: |