我有一个由 LDAP 和 Kerberos 管理的多个用户的网络域。
我通过 pam.d 管理默认 umask,其中/etc/pam.d/common-session
有以下行:
session optional pam_umask.so umask=002
似乎所有用户都报告了0002
的输出umask
,只有一名用户例外。该用户位于同一组中,并以相同的方式创建会话,但当他们发出命令时,umask
他们得到的是0022
。
这会造成严重破坏,因为我的所有用户共享一个公共组,并且用户应该能够运行共享某些文件的应用程序(用于日志记录等),如果这个特定的用户恰好是某个文件的创建者,他就不提供组写权限,后续用户就会遇到问题。
我完全被难住了,正在寻找一些关于我可能遗漏了什么或者应该从哪里开始寻找解决方法的想法。
附录,我的系统正在运行 Debian 10。
~/.profile
编辑:我正在从系统添加用户:
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi