Skip to content

Commit ed0529e

Browse files
committed
Updates for Samba 4.6+
1 parent 5a504e3 commit ed0529e

File tree

2 files changed

+40
-16
lines changed

2 files changed

+40
-16
lines changed

domain.sh

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ case "${1}" in
4848
echo ""
4949
echo "Info"
5050
echo "----"
51-
wbinfo --group-info ${2}
51+
wbinfo --group-info "${2}"
5252
echo ""
5353
echo "Members"
5454
echo "-------"
55-
samba-tool group listmembers ${2}
55+
samba-tool group listmembers "${2}"
5656
echo ""
5757
;;
5858
users)
@@ -63,36 +63,36 @@ case "${1}" in
6363
echo ""
6464
echo "User:"
6565
echo "-----"
66-
wbinfo -i ${2}
66+
wbinfo -i "${2}"
6767
echo ""
6868
echo "Groups:"
6969
echo "-----"
70-
GL=$(wbinfo -r ${2} | sed 's/\r//g')
70+
GL=$(wbinfo -r "${2}" | sed 's/\r//g')
7171
for G in ${GL}; do
72-
wbinfo --gid-info ${G}
72+
wbinfo --gid-info "${G}"
7373
done
7474
echo ""
7575
;;
7676
create-group)
77-
samba-tool group add ${2}
77+
samba-tool group add "${2}"
7878
;;
7979
delete-group)
80-
samba-tool group delete ${2}
80+
samba-tool group delete "${2}"
8181
;;
8282
create-user)
8383
echo -n "Firstname: "
8484
read F
8585
echo -n "Lastname: "
8686
read L
8787
E="${2}@${DOMAIN_EMAIL}"
88-
samba-tool user create ${2} --surname ${L} --given-name ${F} --mail-address ${E}
89-
samba-tool user setexpiry ${2} --noexpiry
88+
samba-tool user create "${2}" --surname "${L}" --given-name "${F}" --mail-address "${E}"
89+
samba-tool user setexpiry "${2}" --noexpiry
9090
;;
9191
delete-user)
92-
samba-tool user delete ${2}
92+
samba-tool user delete "${2}"
9393
;;
9494
change-password)
95-
samba-tool user setpassword ${2}
95+
samba-tool user setpassword "${2}"
9696
;;
9797
add-user-to-group)
9898
samba-tool group addmembers "${3}" "${2}"

init.sh

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,12 @@ appSetup () {
6262
\\\tidmap_ldb:use rfc2307 = yes\\n\
6363
wins support = yes\\n\
6464
template shell = /bin/bash\\n\
65-
winbind nss info = rfc2307\\n\
66-
idmap config ${URDOMAIN}: range = 10000-20000\\n\
67-
idmap config ${URDOMAIN}: backend = ad\
65+
template homedir = /home/%U\\n\
66+
idmap config ${URDOMAIN} : schema_mode = rfc2307\\n\
67+
idmap config ${URDOMAIN} : unix_nss_info = yes\\n\
68+
idmap config ${URDOMAIN} : backend = ad\
6869
" /etc/samba/smb.conf
70+
sed -i "s/LOCALDC/${URDOMAIN}DC/g" /etc/samba/smb.conf
6971
if [[ $DNSFORWARDER != "NONE" ]]; then
7072
sed -i "/\[global\]/a \
7173
\\\tdns forwarder = ${DNSFORWARDER}\
@@ -114,11 +116,33 @@ appSetup () {
114116
echo "restrict 2.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery" >> /etc/ntpd.conf
115117
echo "tinker panic 0" >> /etc/ntpd.conf
116118

117-
appStart
119+
appStart check
120+
}
121+
122+
fixDomainUsersGroup () {
123+
GIDNUMBER=$(ldbedit -H /var/lib/samba/private/sam.ldb -e cat "samaccountname=domain users" | { grep ^gidNumber: || true; })
124+
if [ -z "${GIDNUMBER}" ]; then
125+
echo "dn: CN=Domain Users,CN=Users,DC=corp,DC=example,DC=com
126+
changetype: modify
127+
add: gidNumber
128+
gidNumber: 3000000" | ldbmodify -H /var/lib/samba/private/sam.ldb
129+
net cache flush
130+
fi
118131
}
119132

120133
appStart () {
121-
/usr/bin/supervisord
134+
/usr/bin/supervisord > /var/log/supervisor/supervisor.log 2>&1 &
135+
if [ "${1}" = "check" ]; then
136+
echo "Sleeping 10 before checking on Domain Users of gid 3000000"
137+
sleep 10
138+
fixDomainUsersGroup
139+
fi
140+
while [ ! -f /var/log/supervisor/supervisor.log ]; do
141+
echo "Waiting for log files..."
142+
sleep 1
143+
done
144+
sleep 3
145+
tail -F /var/log/supervisor/*.log
122146
}
123147

124148
case "$1" in

0 commit comments

Comments
 (0)