### Built on Debian (on bari, for rome and bianco). # Cannot use Debian version because of "own" patches below, and # because they may be behind: on 1 Dec 08 Debian had: # etch 3.0.24-6etch10 # sid 3.2.5-1 VERS=3.0.33 # Get it: myhaul -o http://mirror.aarnet.edu.au/pub/samba/samba-$VERS.tar.gz # Unpack it: tar zxf samba-$VERS.tar.gz cd samba-$VERS/source # Apply own patches: patch -b -p0 < ~/sfw/samba.$VERS.patch # [Easy domain admins in auth/auth_util.c lib/system_smbd.c param/loadparm.c] # [Safer join-domain (without enable privileges) in rpc_server/srv_samr_nt.c] # Use instead the supported: # net groupmap add ntgroup='Domain Admins' unixgroup=smbadmin rid=512 type=d # net rpc rights grant 'ROMEGROUP\Domain Admins' SeMachineAccountPrivilege -U pszwt # Special LastChangeTime for 'smbpasswd -a' in passdb/passdb.c # Do not skip printers (keep aliases) in printing/pcap.c # Fix "chdir failed" in smbd/conn.c smbd/process.c # Protect against runaway smbd processes in smbd/server.c # [Comment about random password for 'smbpasswd -a -m' in utils/smbpasswd.c] ## Generate patch file with: #source% for n in */*orig; do diff -u $n ${n%.orig}; done > ~/sfw/samba.$VERS.patch # Build: ./configure --with-syslog --prefix=/usr/sms/share/samba/$VERS make ## Get root to: # mkdir /usr/sms/share/samba/$VERS # chown psz /usr/sms/share/samba/$VERS make install cp -ia ../docs/htmldocs /usr/sms/share/samba/$VERS rmdir /usr/sms/share/samba/$VERS/private /usr/sms/share/samba/$VERS/var/locks /usr/sms/share/samba/$VERS/var ln -s /usr/sms.host/samba/$VERS/private /usr/sms/share/samba/$VERS/ ln -s /usr/sms.host/samba/$VERS/var /usr/sms/share/samba/$VERS/ ln -s /usr/sms.host/samba/$VERS/lib/smb.conf /usr/sms/share/samba/$VERS/lib/ cp -ip /usr/sms/share/samba/n/lib/smb.conf.* /usr/sms/share/samba/$VERS/lib/ ## Get root to: # chown -Rh root:root /usr/sms/share/samba/$VERS # chmod -R go+rX /usr/sms/share/samba/$VERS ## # /etc/init.d/samba stop # rm /usr/sms/share/samba/n # ln -s $VERS /usr/sms/share/samba/n # cp -ia /usr/sms.host/samba/n/ /usr/sms.host/samba/$VERS # mkdir /usr/sms.host/samba/$VERS/{locks,logs,netlogon,print,var,var/locks} # chown -Rh root:root /usr/sms.host/samba/$VERS # chmod 500 /usr/sms.host/samba/$VERS/private # chmod 600 /usr/sms.host/samba/$VERS/private/smbpasswd # rm /usr/sms.host/samba/n # ln -s $VERS /usr/sms.host/samba/n ## Create smbguest and similar users/groups # /etc/init.d/samba start # /usr/sms/share/samba/n/bin/net groupmap add ntgroup='Domain Admins' unixgroup=smbadmin rid=512 type=d # /usr/sms/share/samba/n/bin/net rpc rights grant 'ROMEGROUP\Domain Admins' SeMachineAccountPrivilege -U pszwt ## and maybe even: # ln -s /usr/sms/share/samba/n/bin/* /usr/sms/bin ##### All done!