Installation de SambaEdu



Présentation

L'objectif est de fournir une configuration "clé en mains" pour un petit réseau d'établissement (type école ou collège).
Le kit standard contient un ensemble de fichiers scripts permettant notamment :

L'accès aux comptes et aux services sur le serveur LINUX s'effectuent par le protocole Samba.
Le compte admin permet d'administrer complètement à distance les partages, les comptes utilisateurs, les groupes, la capture de sites, ... à travers une interface WEB dialoguant via une passerelle CGI, avec des scripts BASH.

Compléments

Installation

  1. Préparation

  2. Résultats de cette 1ère étape

  3. Installation

  4. Résultats obtenus
    Le processus d'installation peut être compris en lisant le script install.sh
    On y voit notamment :

  5. Examens des rép. et fichiers modifiés

  6. Examen de la configuration Samba mise en place
    La consultation directe du nouveau smb.conf généré /etc/smb.conf montre :

  7. Complément : installer le "power-kit"
    Il faut éventuellement installer les serveurs suivants : Web Apache, le serveur de noms Bind, le serveur de messagerie Sendmail et POP3, et le DHCP.
    Pour savoir quels paquetages sont déjà installés, lancer l'utilitaire kpackage sous X, puis fichier/Chercher un package Pour installer un nouveau paquetage, voir la commande rpm

    Pour installer, commande ./installpk.sh dans le répertoire pkit1.02

Installation des stations Windows9x

Paramétrage du voisinage réseau (sans service DHCP)

Tester !

  1. Utilisateurs

    Se loguer tour à tour comme eleve, prof
    Vérifier pour chacun, l'accessibilité et les droits sur les partages : Constater la cohérence avec les déclarations du fichier smb.conf
    et l'impossibilité d'effectuer une tâche d'administration à distance, comme sur la console du serveur !

  2. Administrateur

Annexe : fonctionnement de l'interface d'administration

L'accès au serveur http d'administration est effectué par l'url http://serveur:909/admincgi/index.html et est réservé au compte admin L'installation a créé toute l'arborescence /serveur une arborescence /home/httpdse/ avec les rép. De plus, un autre fichier de config pour le serveur http a été installé dans /etc/httpd/confse/httpdse.conf, en supplément du fichier d'origine /etc/httpd/conf/httpd.conf Il contient notamment
ScriptAlias /cgi-binse/ /home/httpdse/cgi-bin/
#---------------------- Server Configuration ----------------------------
ServerType standalone
Port 909
HostnameLookups off
User admin
Group samba
ServerAdmin admin@serveur.priv
ServerRoot /etc/httpd
Listen 909
Extrait du fichier de controle du serveur /etc/rc.d/init.d/httpd
case "$1" in
  start)
  echo -n "Starting httpd: "
  daemon httpd
  echo
  echo "Starting httpdse: "
// démarre le serveur Apache, en lisant le fichier de configuration qui suit (-f) et qui a été
// placé par SAMBA-EDU
    httpd -f /etc/httpd/confse/httpdse.conf -d /etc/httpd
  echo
  touch /var/lock/subsys/httpd
  ;;
OK, mais que se passe t-il quand on reboot la machine ?
Aller voir le lien /etc/rc.d/rc3.d/S85httpd, où pointe t-il ??

Annexe : le problème des droits

  • Le problème délicat, c'est comment pouvoir agir sur le système Linux, par exemple pour créer un utilisateur, en tant que root, à partir d'une connexion sur station Windows sous le compte admin.
  • Cela est rendu possible par l'utilisation d'un utilitaire exe non standard, qui fonctionnant en SUID, permet de lancer des commandes entant que root (comme cela est fait par un utilisateur qui peut changer son mot de passe avec /usr/bin/passwd, dont les permissions sont 4511 r-s--x--x)
  • Annexe smb.conf

    # Fichier de configuration de Samba 
    # Date: 27 11 1999 ; Version 2.01
    
    # Global parameters
        workgroup = maison
        netbios name = SERVEUR
        server string = Serveur Samba
        interfaces = 192.168.1.3/24
        encrypt passwords = Yes
        min passwd length = 0
        passwd program = /usr/bin/passwd %u
        passwd chat = *new*password* %n\n *new*password* %n\n *succes*
        unix password sync = Yes
        log file = /var/log/samba/log.%m
        read prediction = Yes
        read size = 8192
        socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=4096 SO_RCVBUF=4096
        character set = ISO8859-1
        logon script = %U.bat
        domain logons = Yes
        os level = 3
        domain master = Yes
        dns proxy = No
        wins support = Yes
        create mask = 0770
        directory mask = 0770
        print command = lpr -s -r -P %p %s
    
    [netlogon]
        comment = NetLogon
        path = /serveur/home/netlogon
        browseable = No
        locking = No
    
    [home]
        comment = Repertoire prive de %U sur %h
        path = /serveur/home/%U
        write list = admin,%U
    
    [public]
        comment = Repertoire public
        path = /serveur/public
        write list = @samba
    
    [profs]
        comment = repertoire pour les professeurs (r/w)
        path = /serveur/profs
        valid users = @profs
        write list = @profs
    
    [install]
        comment = Programmes d'installation
        path = /serveur/install
        valid users = @profs
        write list = admin
    
    [logiciel]
        comment = Programmes partages sur le serveur
        path = /serveur/programs
        write list = admin
    
    [web]
        comment = Pages Publiques
        path = "/home/httpd/html"
        write list = admin
        create mask = 0775
        directory mask = 0775
        read only = yes
        browseable = No
    
    [partages]
        comment = Tous partages
        path = "/serveur"
        write list = admin
        valid users = admin
        read only = yes
        browseable = No
    
    [lp]
        path = /serveur/home/samba
        print ok = Yes