Welcome to the new location of Alien's Wiki, sharing a single dokuwiki install with the SlackDocs Wiki.

Welcome to Eric Hameleers (Alien BOB)'s Wiki pages.

If you want to support my work, please consider a small donation:

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
slackware:samba [2006/03/29 18:41] alienslackware:samba [2018/11/02 20:16] – Small fixes to modernize the instructions. alien
Line 1: Line 1:
- 
-FIXME  ** This article is being worked on **  FIXME 
---------------------------------------------------- 
- 
 ===== File- and printersharing on the local network ===== ===== File- and printersharing on the local network =====
  
Line 38: Line 34:
  
   * This should be in ''/etc/samba/smb.conf'', it defines the password backend Sabma will use (I will not discuss the alternative LDAP backend here, I hope to write another article on that all of it's own): <code>   * This should be in ''/etc/samba/smb.conf'', it defines the password backend Sabma will use (I will not discuss the alternative LDAP backend here, I hope to write another article on that all of it's own): <code>
-    passdb backend = tdbsam guest +    passdb backend = tdbsam:/var/lib/samba/private/passdb.tdb 
-</code> //NOTE//: when you enable //tdbsam// on an already configured and running Samba server, and run ''killall -HUP smbd'' to let it re-load the configuration files, you might have to re-add the 'smbguest' user to Samba, since the default to use is the //smbpasswd// file and not the tdbsam database.\\ So, again run: <code>+</code> //NOTE//: when you enable //tdbsam// on an already configured and running Samba server, and run ''killall -HUP smbd'' to let it re-load the configuration files, you might have to re-add the 'smbguest' user to Samba. \\ In the past, the default to use was the //smbpasswd// file but since Sa,ba 3.4 the tdbsam database became the default.\\ So, again run: <code>
 smbpasswd -a smbguest -d smbpasswd -a smbguest -d
 </code> </code>
Line 61: Line 57:
   - In the file ''/etc/cups/mime.convs'' uncomment ''application/octet-stream  application/vnd.cups-raw 0 - '' And then restart CUPS daemon using <code>/etc/rc.d/rc.cups restart</code>   - In the file ''/etc/cups/mime.convs'' uncomment ''application/octet-stream  application/vnd.cups-raw 0 - '' And then restart CUPS daemon using <code>/etc/rc.d/rc.cups restart</code>
  
-  * It is now time to fire up our Samba server. But we will test the configuration first by running the command ''testparm''IT will show us if anything went wrong while editing the ''smb.conf'' file. If everything seems allright, we will procede with making the  Samba start script executable (so that it will still start when we boot our server) and then running the script: <code>+  * It is now time to fire up our Samba server. But we will test the configuration first by running the command ''testparm''It will show us if anything went wrong while editing the ''smb.conf'' file. If everything seems allright, we will procede with making the  Samba start script executable (so that it will still start when we boot our server) and then running the script: <code>
 chmod +x /etc/rc.d/rc.samba chmod +x /etc/rc.d/rc.samba
 /etc/rc.d/rc.samba start /etc/rc.d/rc.samba start
Line 110: Line 106:
 </code> A Windows user can use the ''<CTRL><ALT><DEL>'' sequence to change the password! </code> A Windows user can use the ''<CTRL><ALT><DEL>'' sequence to change the password!
  
 +
 +=== Samba printers ===
 +
 +If you have a configured and running CUPS server that has at least one queue setup for //RAW// printing, we can now proceed with integrating this CUPS printer queue with our Samba server, so that Windows clients can automatically download their printer drivers from the Samba server. This is of course more convenient than accessing each and every Windows PC with a printer driver CD and manually configuring the printer.
 +
 +Using the directions of the previous sections and the [[#a_sample_smb.conf|smb.conf example]] of the last section, you have everything in place already, server-side. You will now have to take a Windows XP workstation, and logon to a Samba share using an account that is known to Samba as a //printer admin//. In our setup, that means: everyone who is a member of the Linux group [[linux:admin#wheel]].
 +
 +FIXME //to be completed// FIXME
  
 === The Linux client setup === === The Linux client setup ===
Line 394: Line 398:
  
 Actually, setting up a NFS for Slackware is even easier than Samba. Actually, setting up a NFS for Slackware is even easier than Samba.
 +
  
 === NFS Server === === NFS Server ===
  
 +You setup an NFS server by creating or editing the file ''/etc/exports''. That file has a man page (man exports) and I encourage you to read that if you want more than my simple example. But basically, this file can look like this: <code>
 +# See exports(5) for a description.
 +# This file contains a list of all directories exported to other computers.
 +# It is used by rpc.nfsd and rpc.mountd.
 +/home                192.168.0.0/24(rw,async,no_root_squash)
 +/var/www/htdocs      192.168.0.0/24(rw,all_squash,anonuid=99,anongid=99)
 +/home/ftp/pub        192.168.0.0/24(ro,sync,insecure,all_squash)
 +</code> This creates three exports, all accessible by any client with an IP address in the range ''192.168.0.0/24''. I'll discuss them in reverse order:
 +  - the ftp server's 'pub' directory aka the anonymous ftp area. This export will be available as read-only (the 'ro' parameter) with as safe as possible settings
 +  - your webserver's DocumentRoot (/var/www/htdocs) which will be available as writable, but on the server side, all writes will appear to originate from the user with the userid:groupid of ''99:99'' which is actually the "nobody" user. If you let the DocumentRoot tree be owned by this account (a configuration you often see), then the Web Server's CGI or PHP scripts can write files in these directories
 +  - the server's ''/home'' directory tree which can be mounted writable (the 'rw') using asynchronous transfers (faster but with a chance of data corruption in case of a server crash - 'sync' is safe but slower). User ID's (//uid//) and group ID's (//gid//) will be mapped 1-on-1 (even for user 'root' - the 'no_root_squash' option). This means, if the server knows a user 'alien' with a "uid:gid" pair of ''1001:100'', then alien's files in his homedirectory will appear with this uid:gid number pair on the NFS client side as well! So, if the NFS client PC also has an account 'alien' with the same "uid:gid" number pair ''1001:100'', this alien will be able to use the files on the server as they were his own.
 +<note important>You see why it is important to create users on your LAN with the same UID (and GID) on //all// computers if you ever intend to install a NFS server.</note>
  
 === NFS client === === NFS client ===
Line 411: Line 428:
 </code> Note, that I expect you to create the mount point (''/mnt/nfs/home'' in the example, but you may pick your own of course) in advance...! </code> Note, that I expect you to create the mount point (''/mnt/nfs/home'' in the example, but you may pick your own of course) in advance...!
  
-I hear you thinking... how do I find out what the NFS server exports? This is easy: run <code>showmount -e <NFS_servername></code> to obtain a list. This is what the output will look like: <code>+I hear you thinking... how do I find out the export list of my NFS server? This is easy: run <code>showmount -e <NFS_servername></code> to obtain a list. This is what the output will look like: <code>
 # showmount -e bob # showmount -e bob
 Export list for bob: Export list for bob:
 /home                          192.168.0.0/24 /home                          192.168.0.0/24
-/var/www/html                  192.168.0.0/24 +/var/www/htdocs                192.168.0.0/24 
-</code> Note that this specific NFS server also exports the webserver's DocumentRoot. What you //don't// see how those exports are configured (access restrictions and such, apart from the allowed IP address range). +/home/ftp/pub                  192.168.0.0/24 
 +</code> Note that this specific NFS server also exports the webserver's DocumentRoot and the ftp server's 'pub' directory. What you //don't// see how those exports are configured (access restrictions and such, apart from the allowed IP address range). 
  
 File- and printersharing on the local network ()
SlackDocs