SAMBA Installation On Solaris

Introduction

The Samba software suite is a collection of programs that implements the SMB protocol for UNIX systems, allowing you to serve files and printers to Windows, NT, OS/2 and DOS clients - installs in /usr/local/samba. To use samba, you must also have installed the popt, libiconv, readline, ncurses and either the libgcc-3.3 or the gcc-3.3.2 packages.

The versions of each package will change over time – A subsequent Samba install (HRIS 01/02/07) used the latest versions from the website

The software was downloaded from http://www.sunfreeware.com/indexsparc9.html

Before installing check server backups have completed.

Software Installs

#mkdir /export/home/support/samba-3.0.10

Note :- On the pkgadd command there may be a question regarding overwriting of existing files. Answer ‘Y’

gcc-3.3.2

check current installed version of package

#pkginfo –l SMCgcc

If version matches 3.3.2 then move onto next package

Download the gcc-3.3.2-sol9-sparc-local.gz into /export/home/support/samba-3.0.10. Run

#gunzip gcc-3.3.2-sol9-sparc-local.gz
#pkgrm –v SMCgcc
#pkgadd –d gcc-3.3.2-sol9-sparc-local 

libiconv 1.9.2

check current installed version of package

#pkginfo -l  SMCliconv

If version matches 1.9.2 then move onto next package

Download libiconv-1.9.2-sol9-sparc-local.gz Into /export/home/support/samba-3.0.10. Run

#gunzip libiconv-1.9.2-sol9-sparc-local.gz
#pkgrm -v SMCliconv
#pkgadd -d libiconv-1.9.2-sol9-sparc-local

popt 1.7

check current installed version of package

#pkginfo -l  SMCpopt

If version matches 1.7 then move onto next package

Download popt-1.7-sol9-sparc-local.gz Into /export/home/support/samba-3.0.10. Run

#gunzip popt-1.7-sol9-sparc-local.gz
#pkgrm –v SMCpopt
#pkgadd -d popt-1.7-sol9-sparc-local

readline-5.1

check current installed version of package #pkginfo -l SMCreadl If version matches 5.1 then move onto next package Download the readline-5.1-sol9-sparc-local.gz into /export/home/support/samba-3.0.10. Run

#gunzip readline-5.1-sol9-sparc-local.gz
# pkgrm -v SMCreadl
#pkgadd -d readline-5.1-sol9-sparc-local

ncurses-5.4

check current installed version of package #pkginfo -l SMCncurs If version matches 5.4 then move onto next package Download the ncurse-5.4-sol9-sparc-local.gz into /export/home/support/samba-3.0.10. Run

#gunzip ncurse-5.4-sol9-sparc-local.gz
# pkgrm -v SMCncurs
# # pkgadd -d ncurse-5.4-sol9-sparc-locancurses-5.4 already loaded on server 

samba 3.0.10

Download the samba-3.0.10-sol9-sparc-local.gz into /export/home/support/samba-3.0.10. Run

#gunzip samba-3.0.10-sol9-sparc-local.gz
#pkgrm -v SMCsamba
#pkgadd –d samba-3.0.10-sol9-sparc-local

Adjusting the configuration

Most of Samba's services are provided by means of three servers or daemons: smbd is the Samba server, nmbd is the NetBIOS name server and swat is a Web-based Samba configuration tool. These deal with incoming connections on ports 137, 139 and 901 respectively and we need to tell the Solaris internet daemon, inetd, to start the appropriate Samba daemons whenever an incoming request is received on these ports. Edit /etc/services and make the following changes. Immediately after the line which reads:

 	sunrpc		111/tcp		rpcbind

insert the two lines:

	netbios-ns      137/udp		# Samba nmbd
	netbios-ssn     139/tcp		# Samba smbd

and, after the line which reads:

      ldaps		636/udp		# LDAP protocol over TLS/SSL (was sldap)

insert the line:

	swat 		901/tcp		# Samba swat

The following entries have been added to /etc/inetd.conf so that the correct daemons startup after a server reboot:-

# Samba daemons
#netbios-ssn     stream tcp     nowait root    /usr/local/samba/sbin/smbd smbd
#netbios-ns      dgram   udp     wait    root    /usr/local/samba/sbin/nmbd nmbd
#swat            stream tcp     nowait.400      root    /usr/local/samba/sbin/swat  swat

The configuration file for the samba system is smb.conf and this is situated in the directory /usr/local/samba/lib

At time of writing the contents of the file for b0012dp are :-

# Global parameters
        workgroup = All
        security = User
        encrypt passwords = yes
        smb passwd file = /usr/local/samba/private/smbpasswd
        unix password sync = yes
        hosts allow =   localhost \
                      b0012dp \
                      10.100. \
                      10.111.  \
                      10.110.
        hosts deny = All
#[root]
#       path = /
#       comment = Solaris root
#       guest ok = Yes
#       read only = Yes
[mail01]
        path = /BCCMAIL01
        comment = BCCMAIL01
        guest ok = No
        read only = No
[mail03]
        path = /BCCMAIL03
        comment = BCCMAIL03
        guest ok = No
        read only = No
[share]
        path = /share
        comment = Solaris share
        guest ok = Yes
        read only = No
#[itnet]
#       path = /export/home/itnet
#       comment = itnet_home
#       guest ok = Yes
#       read only = No

Any line that starts with a hash (#) is treated as a comment and is not used by the system.

The [mailnn] paragraphs sets out the UNIX directory that is shared out. Only the directory at the end of the path is actually shared.

To add a new connection to the shared directory, the users IP Address of their PC needs to be added to the `hosts allow` line. Similarly, if access of a certain address is to be removed then that IP Address will need to be deleted from the line.

It's advisable to check that Samba is happy with the basic configuration file. Type the following:

# cd /usr/local/samba/bin
# ./testparm    

and this should display the following:

Load smb config files from /usr/local/samba/lib/smb.conf
Processing section "[root]"
Processing section "[share]"
Loaded services file OK.
Press enter to see a dump of your service definitions

At this point, press ENTER to see a list of all the default options or type CONTROL and C to exit.

After each edit of the smb.conf file the smbd daemon will need to be re-started to pick up the changes.

This is done by issuing the command

#pkill –HUP inetd

User setup

Users need to be created within the Samba security file smbpasswd in /usr/local/samba/private. This is achieved through the smbpasswd command.

#PATH=$PATH:/usr/local/samba/bin;export PATH
# smbpasswd -a mail01
New SMB password:
Retype new SMB password:

Desktop

Using example of b0012dp and mail01, mail03 If you enter

c:    net use m:  \\b0012dp\mail01 

on a desktop machine, with relevant permission, you should get access to the server. If you are already using m: you can assign any free drive.

A second drive can be assigned to mail03 e.g

c:    net use n:  \\b0012dp\mail03 

Users can now `drag and drop` files from their PC to the UNIX server using normal Windows methods.

 
solaris/samba-installation.txt · Last modified: 06/04/2022 11:15 by andrew