Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Samba HowTo Guide
Prev Home Next


On CUPS-enabled systems there is a facility to pass raw data directly to the printer without intermediate processing via CUPS print filters. Where use of this mode of operation is desired, it is necessary to configure a raw printing device. It is also necessary to enable the raw mime handler in the /etc/mime.conv and /etc/mime.types files. Refer to ???.

Secure Read-Write File and Print Server

We progress now from simple systems to a server that is slightly more complex.

Our new server will require a public data storage area in which only authenticated users (i.e., those with a local account) can store files, as well as a home directory. There will be one printer that should be available for everyone to use.

In this hypothetical environment (no espionage was conducted to obtain this data), the site is demanding a simple environment that is secure enough but not too difficult to use.

Site users will be Jack Baumbach, Mary Orville, and Amed Sehkah. Each will have a password (not shown in further examples). Mary will be the printer administrator and will own all files in the public share.

This configuration will be based on user-level security that is the default, and for which the default is to store Microsoft Windows-compatible encrypted passwords in a file called /etc/samba/smbpasswd. The default smb.conf entry that makes this happen is passdb backend = smbpasswd, guest. Since this is the default, it is not necessary to enter it into the configuration file. Note that the guest backend is added to the list of active passdb backends no matter whether it specified directly in Samba configuration file or not.

Procedure2.2.Installing the Secure Office Server

Example2.4.Secure Office Server smb.conf

# Global parameters
workgroup = MIDEARTH
netbios name = OLORIN
printcap name = cups
disable spoolss = Yes
show add printer wizard = No
printing = cups
comment = Home Directories
valid users = %S
read only = No
browseable = No
comment = Data
path = /export
force user = maryo
force group = users
read only = No
comment = All Printers
path = /var/spool/samba
printer admin = root, maryo
create mask = 0600
guest ok = Yes
printable = Yes
use client driver = Yes
browseable = No
  1. Add all users to the operating system:

    useradd -c "Jack Baumbach" -m -g users -p m0r3pa1n jackb
    useradd -c "Mary Orville" -m -g users -p secret maryo
    useradd -c "Amed Sehkah" -m -g users -p secret ameds

  2. Configure the Samba smb.conf file as shown in ???.

  3. Initialize the Microsoft Windows password database with the new users:

    smbpasswd -a root
    New SMB password: 
    Reenter smb password: 
    Added user root.
    smbpasswd -a jackb
    New SMB password: 
    Retype new SMB password: 
    Added user jackb.
    smbpasswd -a maryo
    New SMB password: 
    Reenter smb password: 
    Added user maryo.
    smbpasswd -a ameds
    New SMB password: 
    Reenter smb password: 
    Added user ameds.

  4. Install printer using the CUPS Web interface. Make certain that all printers that will be shared with Microsoft Windows clients are installed as raw printing devices.

  5. Start Samba using the operating system administrative interface. Alternately, this can be done manually by executing:

     nmbd; smbd;

    Both applications automatically execute as daemons. Those who are paranoid about maintaining control can add the -D flag to coerce them to start up in daemon mode.

  6. Configure the /export directory:

    mkdir /export
    chown maryo.users /export
    chmod u=rwx,g=rwx,o-rwx /export

  7. Check that Samba is running correctly:

    smbclient -L localhost -U%
    Domain=[MIDEARTH] OS=[UNIX] Server=[Samba-3.0.20]
    Sharename      Type      Comment
    ---------      ----      -------
    public         Disk      Data
    IPC$           IPC       IPC Service (Samba-3.0.20)
    ADMIN$         IPC       IPC Service (Samba-3.0.20)
    hplj4          Printer   hplj4
    Server               Comment
    ---------            -------
    OLORIN               Samba-3.0.20
    Workgroup            Master
    ---------            -------
    MIDEARTH             OLORIN

    The following error message indicates that Samba was not running:

    root#  smbclient -L olorin -U%
    Error connecting to (Connection refused)
    Connection to olorin failed

  8. Connect to OLORIN as maryo:

    smbclient //olorin/maryo -Umaryo%secret
    OS=[UNIX] Server=[Samba-3.0.20]
    smb: \> 
    .                              D        0  Sat Jun 21 10:58:16 2003
    ..                             D        0  Sat Jun 21 10:54:32 2003
    Documents                      D        0  Fri Apr 25 13:23:58 2003
    DOCWORK                        D        0  Sat Jun 14 15:40:34 2003                 D        0  Fri Apr 25 13:55:16 2003
    .bashrc                        H     1286  Fri Apr 25 13:23:58 2003
    .netscape6                    DH        0  Fri Apr 25 13:55:13 2003
    .mozilla                      DH        0  Wed Mar  5 11:50:50 2003
    .kermrc                        H      164  Fri Apr 25 13:23:58 2003
    .acrobat                      DH        0  Fri Apr 25 15:41:02 2003
    		55817 blocks of size 524288. 34725 blocks available
    smb: \> 

By now you should be getting the hang of configuration basics. Clearly, it is time to explore slightly more complex examples. For the remainder of this chapter we abbreviate instructions, since there are previous examples.

Samba HowTo Guide
Prev Home Next

  Published under the terms fo the GNU General Public License Design by Interspire