bolug bonner linux user group
news about wissen files archive hilfe suchen  

 

archive :: SchAN-User

druckfassung

SchAN-User

Re: [Schan-user] Userabhängige Intranet-Startseite

To: schan-user@xxxxxxxxxxxxxxxxx
Subject: Re: [Schan-user] Userabhängige Intranet-Startseite
From: hhullen@xxxxxxxxxxxx (Helmut Hullen)
Date: 19 May 2012 13:44:00 +0200
Hallo, Andreas,

Du meintest am 14.10.11:

[also vor schrecklich langer Zeit ...]

> Mir wäre es aber lieb, wenn das browserunabhängig ginge. Ist da etwas
> mit php oder so machbar? Mein Grundgedanke: -Startseite ist wie
> üblich die index.htm (oder eben index.php) -In dieser wird -wie auch
> immer- der Userstatus (Lehrer ja/nein) abgefragt. -In dessen
> Ergebnis wird die lehrer.htm oder schueler.htm aufgerufen oder per
> include in den Quelltext eingebaut.

"Im Prinzip" geht das natürlich.

> Nun bin ich bei den ganzen über reines html hinausgehenden Sprachen
> noch nicht fündig geworden: Kann man eine Windows-Systemvariable im
> html-Quelltext zur Laufzeit  abfragen? Wenn ja: Wie?

Womit ich (auch beim Anfänger-Unterricht mit PHP) herumgespielt habe:

Datei "werbinich.php"

------------------------------------------------

<?php
/* ermittelt Daten des Users
fuer den c't/ODS-Schulserver
Nutzung gemaess der GNU Public License
$Id: werbinich.php,v 1.1 2008-05-07 10:33:38+02 HHullen Exp $
$Log: werbinich.php,v $
Revision 1.1  2008-05-07 10:33:38+02  HHullen
Start

*/

// System

exec ('getent passwd sysadm' , $sysZeile, $result);
echo 'Hallo, syssel <br />';
echo 'der Eintrag ist  <br />';
print_r($sysZeile);
echo '<br />';
$Feld = explode(':',$sysZeile[0]);
echo "Platz 4 (Gecos) ist $Feld[4] <br />";
$sysHome = $Feld[5];
$sysShell = $Feld[6];

$Version = file_get_contents("$sysHome/version");
echo "Arktur-Version $Version <br />";
$Kernel = php_uname();
echo "Kernel-Version $Kernel <br />";

$ConfPfad = '/etc/Schule';


// Username

$User = 'unbekannt';
if (isset($_SERVER['PHP_AUTH_USER'])) {
    $User = $_SERVER['PHP_AUTH_USER'];
    }
// $Passwort = $_SERVER['PHP_AUTH_PW'];

// abfragender Rechner
$Rechner = $_SERVER['REMOTE_ADDR'];
echo "Der Rechner ist $Rechner <br />";

$Nutzer = $_HTTP_SERVER_VARS['PHP_AUTH_USER'];
echo 'Nutzer ist '.$Nutzer.'<br />';

// Netz pruefen

// Gruppen (?)
// passwd-Eintrag

//Lehrer/Schueler, Betreuer, Internet (?), Klausur, Projekt(e)

$User = 'hhullen';
// damit es weitergeht
// sonst:
// $User = $Nutzer;

exec ("getent passwd $User | grep :101:", $Zeile, $result);
echo "Hallo, $User <br />\n";

echo "der Eintrag ist  <br />";
print_r($Zeile);
if ($result ) echo "kein Lehrer <br />";

echo '<br />';

$Feld = explode(':',$Zeile[0]);
echo "Platz 4 (Gecos) ist $Feld[4] <br />";
$Uid = $Feld[2];
$Gid = $Feld[3];
$Home = $Feld[5];

echo "Linux-Gruppe ist $Gid <br />";

exec ("grep -w $User $ConfPfad/.htgroup | grep -v ^# | cut -d: -f1", $htGruppe, 
$result);
print_r($htGruppe);

echo '<br />';
?>

---------------------------------------------------------------

Bei diesem Skript ist mindestens unschön, dass es "exec" und  
"file_get_contents" benutzt, das ist die Quelle einiger anderer Übel.

Was Du vermutlich verarbeiten willst, beginnt nach "// Username".

> Ginge es, durch die param.bat eine Semaphore zu erstellen, die dann
> zur Entscheidungsfindung herangezogen werden kann?

Auf Anhieb wäre ich da etwas skeptisch; da wird zwar die Gruppe genannt,  
aber die Datei "gehört" dem jeweiligen User, und die "index.php" kann  
ohne andere Verrenkungen nicht darauf zugreifen.


Viele Gruesse!
Helmut

_______________________________________________
schan-user mailing list
schan-user@xxxxxxxxxxxxxxxxx
http://www.heise.de/bin/newsletter/listinfo/schan-user

 « Vorige im Thread  Dieser Thread  Nächste im Thread » 

 

seitenanfang


 

news about wissen files archive hilfe suchen  
kontakt letzte änderung: 19.05.2012