Server Services Generation I
From ATLASWARES
| This information is related to an older server model. Click here to view the current model. |
Contents |
What is SAMBA?
Samba is a suite of Unix applications that speak the Server Message Block (SMB) protocol. Microsoft Windows operating systems and the OS/2 operating system use SMB to perform client-server networking for file and printer sharing and associated operations. By supporting this protocol, Samba enables computers running Unix to communicate using the same networking protocol as Microsoft Windows and to appear as another Windows system on the network from the perspective of a Windows client.
Microsoft offered its definition of the SMB protocol to the Internet Engineering Task Force (IETF) in 1996 as the Common Internet File System (CIFS). Therefore Microsoft's web site commonly refers to the SMB protocols as "CIFS".
What does SAMBA do?
SAMBA incorporates essentially all the functions of Windows(tm) networking services: NetBIOS over TCP, DNS (domain name services), WINS (Windows Internet Name Service), Windows Workgroups, Windows Domains, and a host of other things. Many books are available which describe SAMBA in detail, such as Using Samba, 2nd Edition, By Jay Ts, Robert Eckstein, and David Collier-Brown. Even a brief description of SAMBA's capabilities is beyond the scope of this article.
How Unix/Linux defines SAMBA Configuration
Everyone has heard of the dreaded Windows(tm) Registry, where configuration errors go to die. Linux depends on a somewhat less formal arrangement of configuration files, where any one OS service uses a single file to store all configuration data. The SAMBA service, or daemon, stores its configuration information at /etc/samba/smb.conf. This file could be hundreds of lines long, as there are hundreds of configuration options available to SAMBA. The WARES Server provides very simplified SAMBA settings.
SAMBA configuration for WARES Server
#======================= Global Settings ===================================== [global] # server settings log file = /var/log/samba/%m.log max log size = 50 netbios name = WARESSERVER workgroup = ATLASWARES server string = Wares Server dns proxy = no os level = 20 # security settings security = share hosts allow = 192.168.2. 192.168.1. 127. # print settings cups options = raw load printers = yes #============================ Share Definitions ============================== [homes] comment = Home Directories browseable = no writeable = yes [printers] comment = All Printers path = /usr/spool/samba browseable = no writeable = no printable = yes guest ok = no [arev] comment = WARES for DOS path = /var/opt/arev writeable = yes browseable = yes public = yes guest account = ServiceLogOn [oinsight] comment = WARES for Windows path = /var/opt/openinsight writeable = yes browseable = yes public = yes guest account = ServiceLogOn [public] comment = Global public folders path = /home/global/ writeable = yes browseable = yes public = yes [d_data] path = /backup/d_data writeable = yes browseable = no inherit permissions = no create mask = 0755 directory mask = 0755
Dynamic Host Configuration Protocol (DHCP)
The DHCP service allows workstations to self-configure their ip settings when connecting to a local network.
DHCP Configuration for WARES Server
The DHCP configuration file must be modified at every site to set the correct DNS ip addresses and Domain name for the server. The default configuration file is found at /etc/dhcpd.conf. The file is displayed following:
# dhcpd.conf
ddns-update-style ad-hoc;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
option domain-name-servers 205.152.37.23; # Change to match site
option domain-name "atlaswares.com"; # Change to match site
option option-128 code 128 = string;
option option-129 code 129 = text;
get-lease-hostnames true;
next-server 192.168.2.1;
option root-path "192.168.2.1:/opt/ltsp/i386";
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.240;
if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
filename "/lts/2.6.17.3-ltsp-1/pxelinux.0";
}
else{
filename "/lts/vmlinuz-2.6.17.3-ltsp-1";
}
}
#
# If you need to pass parameters on the kernel command line, you can
# do it with option-129. In order for Etherboot to look at option-129,
# you MUST have option-128 set to a specific value. The value is a
# special Etherboot signature of 'e4:45:74:68:00:00'.
#
# Add these two lines to the host entry that needs kernel parameters
#
# option option-128 e4:45:74:68:00:00; # NOT a mac address
# option option-129 "NIC=ne IO=0x300";
#
