我有一台与 Active Directory 绑定的 ubuntu 12.04 LTS 服务器。这是一台运行 gitlab 的 git 服务器。它不使用 gitolite,而是使用 gitlab shell
在日志中我注意到每次 'git' 用户进行身份验证时,我都会在 /var/log/auth.log 中收到相同的 11 个错误
May 14 15:06:10 gitlab sshd[14775]: pam_unix(sshd:session): session opened for user git by (uid=0)
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: skel
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: =
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: /etc/skel/
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: mask=0077
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: skel
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: =
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: /etc/skel/
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: mask=0077
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: skel
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: =
May 14 15:06:10 gitlab sshd[14775]: pam_mkhomedir(sshd:session): unknown option: /etc/skel/
“git”用户已经有主目录了。
我对此有点困惑。谷歌上的所有热门搜索结果都无法解释这个问题。有人知道吗?
更新
我对 pam 还很陌生,以下是我认为相关的配置文件
ls /etc/pam.d
atd chpasswd common-account common-password common-session-noninteractive login other polkit-1 samba su
chfn chsh common-auth common-session cron newusers passwd ppp sshd sudo
cat /etc/pam.d/common-session | grep -v '#'
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session optional pam_umask.so
session required pam_unix.so
session optional pam_sss.so
session optional pam_mkhomedir.so skel = /etc/skel/ mask=0077
session optional pam_mkhomedir.so skel = /etc/skel/ mask=0077
session optional pam_mkhomedir.so skel = /etc/skel/ mask=0077
session optional pam_ck_connector.so nox11
cat /etc/pam.d/sshd | grep -v '#'
@include common-auth
account required pam_nologin.so
@include common-account
@include common-session
session required pam_limits.so
session required pam_env.so user_readenv=1 envfile=/etc/default/locale
@include common-password
答案1
在pam_mkhomedir
中的行中/etc/pam.d/common-session
,尝试(即删除之后符号skel=/etc/skel umask=0077
周围的空格,并在 之前添加)。=
skel
u
mask