답변:
이것은 정확히 pam_mkhomedir
만들어진 것입니다. 디렉토리가 존재하지 않는 경우 모듈은 로그인시 사용자의 홈 디렉토리를 생성 할 수 있습니다.pam_mkhomedir
설치 방법은 배포판에 따라 다릅니다. 그러나에있는 하나 이상의 파일에 파일을 넣어야합니다 /etc/pam.d
.
예를 들어, 내 시스템에는 /etc/pam.d/system-login
로그인을 수행하는 다른 모든 서비스 (ssh, gdm 등)가 포함되어 있습니다.
나는 둘 것 pam_mkhomedir.so
에서 session
같은 스택 :
session optional pam_loginuid.so
session required pam_env.so
session optional pam_lastlog.so
session include system-auth
session optional pam_mkhomedir.so # <<< right here
session optional pam_ck_connector.so nox11
session optional pam_gnome_keyring.so auto_start
session optional pam_motd.so motd=/etc/motd
당신이 그것을 어디에 두는 것은 스택에 무엇이 있는지에 전적으로 달려 있습니다. 그러나 홈 디렉토리가 필요할 수있는 다른 것 앞에 배치해야합니다.
man 8 pam_mkhomedir
지원되는 옵션을 참조하십시오 .
auth
대신 스택 에 넣어야 할 수도 있음 session
). 앱이 pam 스택을 사용하지 않으면 애플리케이션 자체에 무언가를 빌드해야합니다.
Ubuntu 14.04 system-login
에는 존재하지 않지만 as라는 다른 파일 common-session
이 있습니다.
나는 거기에 갔다.
root@GW:~# vim /etc/pam.d/common-session
#
session optional pam_systemd.so skel=/etc/skel/ umask=0077
홈 디렉토리가 없으면 권한을 설정하십시오. 700
umask=0022
입니다. read
여러 키 기반 인증 / 신뢰 메커니즘이 다중 사용자 시스템 또는 다른 경우에서 작동하지 못하게하는 등의 모든 기능을 제거한다고 생각합니다 .
oddjob-mkhomedir을 사용하는 것이 좋습니다 .
Centos 7의 경우 다음과 같이 작동합니다.
yum install oddjob-mkhomedir
이에 추가 /etc/pam.d/system-auth
하고 /etc/pam.d/password-auth
:
session optional pam_oddjob_mkhomedir.so skel=/etc/skel
그리고 마지막으로:
systemctl enable oddjob; systemctl start oddjob
이것은 원래 여기에 게시되었습니다 : https://www.centos.org/forums/viewtopic.php?t=48631
참고 : /home
파티션 을 방금 마운트 한 경우 잊지 마십시오.restorecon /home