Vous êtes sur la page 1sur 19

Imprimantes et partage rseau sous

Samba avec authentification Active


Directory

Sommaire
1- Pr requis Page 2
2- Configuration rseau Page 3
3- Installation de samba Page 45
4- Installation de kerberos Page 6
5- Installation de winbind Page 7
6- Connexion au domaine Windows (Active Directory) Page 89
7- Installation de cupsys Page 10 17
Installer une imprimante sous CUPS Page 11
Installation depuis le poste client Windows XP Page 15
8- Installation de apache2 et du module php5 Page 18
9- Installation de phpprintanalyzer Page 19

-1-
1 Pr requis

Les tests ont t effectus sur un serveur Linux Debian (Lenny) dans sa version 5.0

Sur ce serveur ont t install les paquets suivants :


- samba
- kerberos (krb5-clients)
- winbind
- cupsys
- apache2 et son module php5 (libapache2-mod-php5)
- phpprintanalyzer

-2-
2 Configuration rseau
/etc/network/interfaces

# The primary network interface


allow-hotplug eth0
iface eth0 inet static
address 10.10.12.162
netmask 255.255.0.0
network 10.10.0.0
broadcast 10.10.255.255
gateway 10.10.115.199
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 10.10.12.100
dns-search ch-estran.fr

/etc/resolv.conf

search ch-estran.fr
nameserver 10.10.12.100

/etc/hosts

127.0.0.1 localhost
10.10.12.162 sambadb.ch-estran.fr sambadb

sambadb : nom du serveur samba


sambadb.ch-estran.fr : nom FQDN du serveur samba

-3-
2 Installation de samba
apt-get install samba

Le fichier de configuration de samba (smb.conf) se situe dans le rpertoire /etc/samba

smb.conf

[global]

workgroup = CH-ESTRAN
realm = ch-estran.fr
password server = hutch.ch-estran.fr
wins support = yes
wins server = 10.10.12.100
dns proxy = no
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
winbind nested groups = yes
winbind separator = +
load printers = yes
printing = cups
printcap name = cups

#### Debugging/Accounting ####

log file = /var/log/samba/samba.log


max log size = 1000
syslog = 0
log level = 2
panic action = /usr/share/samba/panic-action %d

####### Authentication #######

security = ADS
encrypt passwords = yes

############ Misc ############

include = /home/samba/etc/smb.conf.%m
message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &

template shell = /bin/bash

usershare max shares = 100

-4-
#======================= Share Definitions =======================

[smbpartage]
path = /home/smbpartage
write list = @CH-ESTRAN+BUILTIN+users
browseable = yes
valid users = @CH-ESTRAN+BUILTIN+users
create mask = 0770
directory mask = 0770

[printers]
comment = Imprimantes
path = /var/spool/samba
browseable = no
public = yes
guest ok = yes
writable = yes
printable = yes
print command = lpr-cups -P %p -o raw %s -r

[print$]
comment = Rpertoire des pilotes pour imprimantes
path = /var/lib/samba/printers
browseable = yes
guest ok = no
read only = no
create mask = 0770
directory mask = 0770
write list = root @CH-ESTRAN+BUILTIN+administrators

-5-
3 Installation de Kerberos
apt-get install krb5-clients

Le fichier de configuration de kerberos (krb5.conf) se situe dans le rpertoire /etc

krb5.conf

[libdefaults]
default_realm = CH-ESTRAN.FR

# The following krb5.conf variables are only for MIT Kerberos.


krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true

# The following libdefaults parameters are only for Heimdal Kerberos.


v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true

[realms]
CH-ESTRAN.FR = {
kdc = hutch.ch-estran.fr
admin_server = hutch.ch-estran.fr
default_domain = CH-ESTRAN.FR
}

[domain_realm]
.ch-estran.fr = CH-ESTRAN.FR
ch-estran.fr = CH-ESTRAN.FR

[login]
krb4_convert = true
krb4_get_tickets = false

Le domaine tant CH-ESTRAN.FR, le contrleur de domaine et serveur kerberos HUTCH.

-6-
4 Installation de winbind
apt-get install winbind

-7-
6 Connexion au domaine Windows (Active
Directory)

testadm est un utilisateur membres du groupe administrateur.

Aprs un redmarrage du serveur Linux il est possible de lister grce winbind les
utilisateurs et les groupes du domaine windows.

wbinfo u

Liste les utilisateurs prsents dans le domaine.

wbinfo g

Liste les groupes prsents dans le domaine.

-8-
Test de connexion au partage (smbpartage) avec un compte membre du domaine
(testadm).

Dans notre cas le client Windows XP tant membre du domaine et par consquent
utilisant un compte du domaine, il ny pas spcifier un nouveau compte de connexion,
samba reprendra directement le compte utilisateur connecter sur le client XP.

[smbpartage]
valid users = @CH-ESTRAN+BUILTIN+users

Extrait du samba.log lors de la connexion du lecteur.

[2009/06/04 12:23:05, 2] auth/auth.c:check_ntlm_password(308)


check_ntlm_password: authentication for user [testadm] -> [testadm] -> [CH-
ESTRAN-FR+testadm] succeeded

[2009/06/04 12:25:17, 1] smbd/service.c:make_connection_snum(1194)


clientdamien (::ffff:10.10.12.161) connect to service smbpartage initially as
user CH-ESTRAN-FR+testadm (uid=10000, gid=10002) (pid 2011)

-9-
7 Installation de cupsys
apt-get install cupsys

Il faut prsent modifier certains paramtres de configuration afin de faire fonctionner


cups.

/etc/cups/

cupsd.conf

ServerName 10.10.12.162

# Only listen for connections from the local machine.


Listen *:631

- La ligne ServerName indique ladresse IP du serveur CUPS (notre serveur Linux)

- La ligne suivante permet de se connecter via son navigateur web depuis nimporte
quelle machine du rseau.

mime.convs

D commenter la ligne :

application/octet-stream application/vnd.cups-raw 0 -

mime.types

D commenter la ligne :

application/octet-stream

- 10 -
Installer une imprimante sous CUPS :

Il faut tout dabord se connecter au serveur CUPS via un navigateur en tapant ladresse
http://@IPsamba:631

Puis cliquer sur Administration et Ajouter une imprimante

- 11 -
Slectionner limprimante correspondant son adresse IP.

Cliquer sur parcourir pour spcifier un fichier .PPD

Limprimante est dsormais installe.

- 12 -
Il est possible de lister les imprimantes partages manuellement par samba grce la
commande :

smbclient L NomFQDNserveurSamba U administrateur

Permet de lister les imprimantes partages.

- 13 -
Permet de lister les drivers utiliser pour les postes Windows.

Rsultat de la commande smbstatus

Samba version 3.2.5


PID Username Group Machine
-------------------------------------------------------------------
2708 testadm utilisa. du domaine clientdamien (::ffff:10.10.12.161)

Service pid machine Connected at


-------------------------------------------------------
smbpartage 2708 clientdamien Fri Jun 5 11:08:20 2009

Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name
Time
--------------------------------------------------------------------------------------------------
2708 10000 DENY_NONE 0x100001 RDONLY NONE
/home/smbpartage . Fri Jun 5 11:08:20 2009
2708 10000 DENY_NONE 0x100001 RDONLY NONE
/home/smbpartage . Fri Jun 5 11:08:20 2009

- 14 -
Installation depuis le poste client Windows XP

Cliquer sur Ajouter une imprimante dans le menu en haut gauche.

- 15 -
Le message suivant va apparatre lors de la premire connexion de limprimante.
Le serveur samba ne dispose pas encore du pilote Windows pour cette imprimante.

Cliquer sur OK puis disque fourni.

- 16 -
Il faut maintenant aller chercher le pilote Windows .inf propre cette imprimante.
Grce cette manipulation, le serveur samba copiera en local dans son rpertoire
/var/lib/samba/printers (comme spcifi dans le fichier de configuration de samba).
Si au contraire ont venait utiliser les pilotes proposs par Windows, ceux-ci tant dj
prsent en local sur le client XP, il ne serait pas recopi dans le rpertoire prvu cet
effet sur le serveur samba.
La manipulation serait donc recommencer sur chaque nouveau client.
Maintenant le serveur samba est en mesure de fournir directement sans une aide
quelconque de lutilisateur les pilotes adquats.

Il ne faut pas oublier de mettre les droits ncessaires lcriture des utilisateurs du
domaine sur le rpertoire printers.

Voici un extrait du rpertoire /var/lib/samba/printers/W32X86/3

Limprimante a bien t installe.

- 17 -
8 Installation de apache2 et du module php5

apt-get install apache2 libapache2-mod-php5

Apache2 est obligatoire afin dutiliser par la suite linterface phpprintanalyser.

- 18 -
9 Installation de phpprintanalyzer
Phpprintanalyzer ne peut pas tre tlcharger avec apt-get, il faut donc le tlcharger et
linstaller manuellement.

Le nom complet du paquet tant : phpPrintAnalyzer-1.2.tar.gz

Une fois le rpertoire de phpprintanalyzer extrait, celui-ci doit tre plaer dans le
rpertoire www dapache2 (/var/www)

Il est maintenant accessible via un navigateur ladresse :

http://@IPsamba/phpprintanalyzer

Cependant, phpprintanalyzer faisant remonter les informations des logs de cups, il


doit pour cela possder les droits en lecture.
Rpertoire log de CUPS : /var/log/cups/page_log

Lajout de largument LogFilePerm 0660 dans le fichier config.inc.php.sample apres


lavoir renommer en config.inc.php se trouvant dans le rpertoire
/var/www/phpprintanalyzer

Modification du fichier config.inc.php

// Serveur Web de CUPS


// ex: "http://cups.xxxxx.com:631"
$serveurWebCups = "http://10.10.12.162:631";

// Serveur LDAP (mettre vide si pas d'utilisation de LDAP)


// ex: "ldap.xxxxx.com"
$serveurLdap = "hutch.ch-estran.fr";
// ex: "dc=toto"
$racineLdap = "dc=hutch";

- 19 -

Vous aimerez peut-être aussi