1 Principe des webspace

1.1 Espace de cours ou publique

La DISI offre à tout permanent des espaces de publication web individuel pour des cours ou des pages publiques (personnelle mais à usage professionnel !) . La publication se fait sur le serveur webspace.imtbs-tsp.eu dans les répertoires cours et/ou public et se consulte respectivement sur les serveurs www-cours.imtbs-tsp.eu et www-public.imtbs-tsp.eu (alias webspace.imtbs-tsp.eu ) .

Remarque: les exemples et captures d'ecrans d'usage de ces services dans cette documentation font référence à l'espace public (perso). Pour la publication et la consultation des cours, c'est exactement le même principe, il suffit de remplacer www-public par www-cours .

1.2 disponibilité de votre espace

Initialement, afin de disposer d'un espace de publication de cours ou/et de pages publiques, il faut envoyer à la DISI une demande d'ouverture d'espace WEB: envoyez un mail à helpdesk@imtbs-tsp.eu sujet: demande d'espace web individuel (public ou/et cours).

Pour le moment il n'y a pas de quota, le service étant contenu et hébergé sur une baie de disques de forte capacité. Cet espace est sauvegardé par notre outil de sauvegarde au quotidien.

2 Publication

Il est possible d'accéder en publication à un espace web individuel depuis tout type de client CIFS: exemple → l'explorateur de fichier sous windows (explorer). et/ou des clients sFTP, smbclient, nautilus, mountage linux (mount cifs), scp, sftp et enfin sshfs sous linux .

2.1 Acces fichiers via Protocoles Windows (CIFS/SAMBA)

2.1.1 Depuis windows

Explorateur windows

Ouvrir l'explorateur de fichier, depuis le menu outils → choisir connecter un lecteur réseau. Saisir le partage \\webspace.imtbs-tsp.eu\login\ où login correspond à votre nom d'utilisateur systeme. Cliquer sur terminer. une fenêtre de saisie du mot de passe peut apparaitre si vos information de login/password locaux et ceux du serveur sont differents, il faut mettre le mot de passe de l'annuaire ldap (monde Linux = celui de la messagerie) .

Fenetre “Connecter un lecteur reseau” :

windows, “se connecter en tant que”, préciser le nom du serveur devant le login “SAMBA\votreLogin” afin de sortir du domaine MICRO :

Maintenant , un lecteur W: (ou autre lettre choisie …) apparait dans votre explorateur windows. Il suffit de faire un copier coller de vos fichiers entre votre arborescence locale et ce lecteur pour publier.

Bien entendu vous pouvez également utiliser des outils dédiés de publication (dreamweaver etc … ) avec cette même destination.

2.1.2 FTP sécurisé windows

On peut utiliser une client FTP qui fonctionne sur ssh , FTP sécurisé = sftp , exemple filezilla http://filezilla.sourceforge.net/

Connectez-vous avec vos identifiants habituels en utilisant le protocole sftp (port 22) sur la machine www-public.imtbs-tsp.eu

2.1.3 Depuis linux

2.1.4 Nautilus

Gestionnaire de fichier gnome → nautilus

Depuis nautilus (icone ordinateur/computer sur le bureau), en bas de la fenetre :

+ Autres emplacements → connexion à un serveur:

saisir:

smb://webspace.imtbs-tsp.eu/votreLogin

credentials :

3 Consultation

Le résultat des publications est consultable depuis un navigateur avec une URL du type http://www-public.imtbs-tsp.eu/~login

:!: Attention, par defaut le systeme cherche un fichier index.html ou index.php, s'il ne trouve pas ce fichier vous aurez un message d'erreur: access Forbidden .

4 Fonctionnalité, services

4.1 Scripts CGI

Des scripts CGI sont réalisables, il suffit de les déposer dans un sous-répertoire nommé cgi sous public ou cours. Ils s'exécuteront en tant que vous même (uid de votre login, donc possibilité d'écriture sur disque).

4.2 Modules

4.2.1 php

Le module php est disponible, vous pouvez donc créer des pages php

4.2.2 Perl

Le module perl est disponible, vous pouvez donc créer des pages perl

4.2.3 CAS

Le module CAS (SSO web) est disponible, vous pouvez donc protéger vous pages en utilisant une authentification centralisée (ldap) et sécurisé (https). Voir chapitres ci-dessous .

4.3 Base de donnée

L'accès à une base de donnée mysql est possible, il suffit de demander la création d'une base à la DISI (mail a helpdesk@imtbs-tsp.eu , sujet: demande de création d'une BD pour le login XXX, formulaire à venir …). La base portera le nom de votre login et sera administrable via l'URL:

http://mysql.int-evry.fr/phpMyAdmin/

4.4 Controle d'acces, SSO

Vous pouvez restreindre individuellement l'accès à vos pages en utilisant le Single Sign On (SSO) deployé sur le site→ CAS. Pour cela il suffit de positionner un ficher .htaccess dans le répertoire que où vous souhaitez contrôler l'accès. Exemple de fichier .htaccess sous procacci\public\restricted :

<Limit GET POST>
 AuthType CAS
 AuthName "INT auth"
<RequireAny>
    Require valid-user
    Require ip 127.0.0.1 157.159.21.0/24
</RequireAny>
</Limit>

page de visualitation du resulat

[webspace@restricted]# cat index.php 
<html><body>
<?php
print "<H2>Page sous controle d'acces</H2>";
print "<p> l'utilisateur authentifié est : <h2>";
print $_SERVER["REMOTE_USER"];
print "</h2>";
#phpinfo();
?>
</body></html>

Test sur l'URL:

Après authentification CAS, c'est à dire depuis la base de compte du referentiel d'ID du campus (ldap), le serveur apache ouvrira le fichier `index.php' se trouvant dans ce répertoire protégé ou tout autre nom de fichier si celui-ci est préciser dans l'URL . On peux aussi restreindre à certains utilisateurs en énumerant leurs login

Require user procacci test ...

5 Méthode de publication avancées (Linux)

5.1 smbclient

Client samba interactif

$ smbclient //webspace.imtbs-tsp.eu/procacci -U procacci
 Enter procacci's password:
smb: \> ls
.                                   D        0  Mon Sep 22 14:16:39 2014
..                                  D        0  Wed Apr 23 13:53:01 2014
index.html                                1714  Tue Feb 21 16:49:00 2006
cours                               D        0  Fri Feb 15 14:54:02 2008
public                              D        0  Mon Sep 22 14:20:44 2014
....

5.2 Mount cifs (root)

Montage statique

Montage local d'un système de fichier en samba (en tant que root !)

[root@localhost ~]# mount -t cifs -o username=teststud,sec=ntlmssp //www-public.imtbs-tsp.eu/teststud /mnt/smb
Password for teststud@//www-public.imtbs-tsp.eu/teststud:  *********
[root@calaz ~]# ls /mnt/smb/
public

notez le sec=ntlmssp pour forcer du NTLMv2 (ntlm tout court ne fonctionne plus)

au passage , on peut en faire autant avec l'acces serveur de fichier bali (windows share)

[root@localhost ~]# mount -t cifs -o username=teststud //bali.micro.int-evry.fr/teststud /mnt/smb
Password for teststud@//bali.micro.int-evry.fr/teststud:  ***************

Sur un client “moderne” plus besoin de preciser le sec=ntlmssp !

il est aussi necessaire de preciser le coupple uid/gid afin de pouroir ecrire avec le bon username

# mount -t cifs -o username=votrelogin,uid=$(id -u),gid=$(id -g) //wpub.imtbs-tsp.eu/votrelogin /mnt/smb/

5.3 Montage via sshfs

Il s'agit d'une alternative séduisante du montage de systeme de fichiers réseau via ssh. Ainsi cela est disponible depuis l'exterieure. Pour un usage clients sous Linux, vérifiez que vous disposez du package fuse-sshfs

  [user@localhost ~]
  $ rpm -q fuse-sshfs
  fuse-sshfs-2.8-5.el8.x86_64
  Créer un repertoire de travail pour le montage via ssh 
  [user@localhost ~]
  $ mkdir sshfs
  Montage du système de fichier dans le tunnel ssh 
  [user@localhost ~]
  $ /usr/bin/sshfs testsp@webspace.imtbs-tsp.eu:/netfs/asso/testsp ./sshfs/
  Visualisation du montage et des fichiers 
[user@localhost ~]
$ df -H 
testsp@webspace.imtbs-tsp.eu:/netfs/asso/testsp   2,2T    201G  1,9T  10% /home/user/sshfs

[user@localhost ~]

$ cd sshfs/public
[user@localhost ~/sshfs/public]
$ ls
index.html ....

Il suffit d'aller dans ~/sshfs et vous avez un acces complet au repertoire de votre webspace .

  Pour demonter le disque reseau , quitter le point de montage, puis fusermount 
[user@localhost ~/sshfs/public]
$ cd ../..
[user@localhost ~]
$ fusermount -u ./sshfs/

Autofs et sshfs

montage automatique via sshfs par simple deplacement dans le repertoire cible (autofs = montage automatique à la sollicitation)

Cela permet de monter votre homedir NFS et/ou votre homeDir Webspace automatiquement depuis un acces local au campus ou via depuis Palaiseau en reseau authentifié (802.1x) ou encore via le VPN .

installer les packages

root@disiHp:# apt install sshfs fuseutils autofs

definir chez root (qui execute autosf !) une clé ssh dediée sshfs pour notre login afin d'eviter les mots de passe et prompts

root@disiHp:~/.ssh# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa_sshfs_teststud_nfsserver        
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa_sshfs_teststud_nfsserver
Your public key has been saved in /root/.ssh/id_rsa_sshfs_teststud_nfsserver.pub

pui la copier sur le serveur NFS (ici “nfs”, mais chez nous reference a la balise … contacter la disi pour details du server nfs)

root@disiHp:~/.ssh# ssh-copy-id -i /root/.ssh/id_rsa_sshfs_teststud_nfsserver.pub teststud@nfs.int-evry.fr
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa_sshfs_teststud_nfsserver.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
teststud@nfs.int-evry.fr's password: 

Number of key(s) added: 1

test

root@disiHp:~/.ssh# ssh -i id_rsa_sshfs_teststud_nfsserver 'teststud@nfs.int-evry.fr'
[teststud@nfs ~]
$ exit

parametrage auto.master

on y definit le point de montage de notre repertoire home NFS avec les option definissants nos propre uid/gid

root@disiHp# cat /etc/auto.master
/home/net /etc/auto.sshfs uid=14500,gid=390, --timeout=30, --ghost

et on definit edit le fichier /etc/auto.sshfs referencé ci-dessus en precisant nos login et clé ssh stockée chez root pour notre user

root@disiHp:~# cat /etc/auto.sshfs 
teststud -fstype=fuse,port=22,rw,allow_other,nonempty,noatime,IdentityFile=/root/.ssh/id_rsa_sshfs_teststud_nfsserver :sshfs\#teststud@nfs.int-evry.fr\:/san03/ei0811/teststud

restart autofs

relance apres parametrage

root@disiHpEbJP2:~# systemctl restart autofs.service 
root@disiHpEbJP2:~# systemctl status autofs.service 
Loaded: loaded (/lib/systemd/system/autofs.service; enabled; vendor preset: enabled)
● autofs.service - Automounts filesystems on demand
 Active: active (running)
   

demonstration

il suffit de se deplacer dans le point de montage servit par sshfs/autofs ⇒ /home/net et descendre ensuite dans notre homedir (login)

jp@disiHp:/home/net/teststud$ cd 
jp@disiHp:~$ cd /home/net/teststud
jp@disiHp:/home/net/teststud$ df -H . 
Sys. de fichiers                               Taille Utilisé Dispo Uti% Monté sur
teststud@nfs.int-evry.fr:/san03/ei0811/teststid   3,3T    739G  2,4T  24% /home/net/teststud

on est bien sur notre homedir NFS , cqfd .

5.4 SSH restreint

Un acces ssh restreint au sftp et au scp est disponible, mais pas d'accés shell interactif directement sur la machine !.

[user@localhost ~]$ ssh testsp@webspace.imtbs-tsp.eu
testsp@webspace.imtbs-tsp.eu's password: 
Last login: Sat Feb  6 19:20:10 2021

This account is restricted by rssh.
Allowed commands: scp sftp rsync

If you believe this is in error, please contact your system administrator.

Connection to webspace.imtbs-tsp.eu closed.

6 Exemple de scripts et paramétrages

Voici quelques démonstrations de fichiers utiles.

6.1 un script cgi

[root@calaz /mnt]
$ cat /mnt/smb/public/cgi/whoami.cgi
#!/bin/bash
echo "Content-Type: text/plain"
echo ""
date
touch /mci/mci/testsp/public/cgi/touch_test.txt
echo "J'execute en tant que : `whoami`"
echo "je suis reel : `id -r`"
echo "je suis effectif : `id `"
documentation/servnet/webspaces.txt · Dernière modification: 2021/11/03 17:40 par procacci@tem-tsp.eu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0