X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=modules%2Fsmb_nis.mk;h=48514cf03dccb5e25d31cdaf55bd20470fbe2a6d;hb=075d900b9ea5830e5dcdc53e0724552d7a688b5b;hp=2771d8257cf1e2e71957ca21c8ec538204cfa772;hpb=e4b8a57190572c28482380fc49fd6ff4dc9b108a;p=blast diff --git a/modules/smb_nis.mk b/modules/smb_nis.mk index 2771d82..48514cf 100644 --- a/modules/smb_nis.mk +++ b/modules/smb_nis.mk @@ -1,4 +1,4 @@ -PACKAGES += cifs-utils libpam-mount libpam-script lxdm nis nscd samba-common-bin usermode +PACKAGES += cifs-utils libpam-mount libpam-script lightdm nis nscd samba-common-bin usermode libnss-nis ifndef nis_server nis_server := nismaster @@ -33,7 +33,7 @@ endef define smb_nis_pammount := - + @@ -41,22 +41,26 @@ define smb_nis_pammount := endef -.PHONY: _smb_nis -_config: _smb_nis +.PHONY: _smb_nis _ypbind +_config: _smb_nis _ypbind _smb_nis: ${CFGROOT}/opt/pam_script/pam_script_passwd ${CFGROOT}/etc/security/pam_mount.conf.xml -_smb_nis: ${CFGROOT}/etc/yp.conf ${CFGROOT}/etc/defaultdomain +_smb_nis: ${CFGROOT}/etc/yp.conf ${CFGROOT}/etc/defaultdomain ${CFGROOT}/etc/default/nis _smb_nis: ${CFGROOT} - sed -Ei 's;^(passwd:|group:|shadow:|gshadow:) *;\1 nis ;' $${CFGROOT}/etc/nsswitch.conf + sed -Ei 's;^(passwd:|group:|shadow:|gshadow:).*$$;\1 files nis;' $${CFGROOT}/etc/nsswitch.conf sed -Ei '/pam_(script|mount).so/d' $${CFGROOT}/etc/pam.d/common-* - printf '\nauth optional pam_mount.so\n' >>$${CFGROOT}/etc/pam.d/common-auth + printf '\nauth required pam_mount.so\n' >>$${CFGROOT}/etc/pam.d/common-auth printf '\nsession optional pam_mount.so\n' >>$${CFGROOT}/etc/pam.d/common-session printf '\npassword required pam_script.so dir=/opt/pam_script\n' >$${CFGROOT}/etc/pam.d/common-password +_ypbind: ${CFGROOT} + chroot "$<" systemctl enable ypbind + ${CFGROOT}/opt/pam_script/pam_script_passwd: ${CFGROOT} .FORCE mkdir -p "$(dir $@)" printf '%s' "$${smb_nis_pamscript}" >"$@" + chmod a+x "$@" ${CFGROOT}/etc/security/pam_mount.conf.xml: ${CFGROOT} .FORCE mkdir -p "$(dir $@)" @@ -66,4 +70,8 @@ ${CFGROOT}/etc/yp.conf: ${CFGROOT} .FORCE printf 'ypserver %s\n' "${nis_server}" >"$@" ${CFGROOT}/etc/defaultdomain: ${CFGROOT} .FORCE - printf '.%s\n' "${nis_domain}" >"$@" + printf '%s\n' "${nis_domain}" >"$@" + printf 'kernel.domainname = %s\n' "${nis_domain}" >"${CFGROOT}/etc/sysctl.d/10-domainname.conf" + +${CFGROOT}/etc/default/nis: ${CFGROOT} .FORCE + printf '%s\n' "NISSERVER=false" "NISCLIENT=true" "YPPWDDIR=/etc" "NISMASTER=${nis_server}" >"$@"