Morgengrauner Dokumentation
Dateipfad: /home/mud/mudlib/doc//lfun/access_rightsaccess_rights()
***************
FUNKTION
========
int access_rights(string euid, string file);
DEFINIERT IN
============
access_rights.c (muss man selber schreiben)
PARAMETER
=========
euid
Die euid desjenigen, der auf das Verzeichnis schreiben will
file
Name der Datei, auf die zugegriffen werden soll
BESCHREIBUNG
============
access_rights() wird immer dann aufgerufen, wenn jemand, der nicht
sowieso schon schreibberechtigt ist, in die Datei/das Verzeichnis file
schreiben oder loeschen will.
Anhand von euid kann man dann entscheiden, ob der Schreibzugriff erlaubt
wird oder nicht.
RUECKGABEWERT
=============
0, wenn der Zugriff verweigert wird,
1, wenn der Zugriff erlaubt wird.
BEISPIELE
=========
/* /d/inseln/wargon/access_rights.c */
int access_rights(string euid, string file)
{
string dir, rest;
// Catweazle darf auf alles zugreifen (*argl* ;^)
if (euid == "catweazle")
return 1;
// Rechte auf einzelne Verzeichnisse ermitteln:
if (sscanf(file, "%s/%s", dir, rest) != 2)
rest = file;
// Jof und Boing duerfen an Tarko Reub rumpfuschen:
if (dir == "tarko" && (euid == "jof" || euid == "boing"))
return 1;
// Anthea darf die Karten von Aurora und der Piratenhoehle bearbeiten:
if (dir == "MAPS" &&
member( ({"Aurora", "Piratenhoehle" }), rest) >= 0 &&
euid == "anthea")
return 1;
// alle anderen duerfen nicht!
return 0;
}
BEMERKUNGEN
===========
file ist immer relativ zu dem Verzeichnis, in dem das access_rights.c
liegt! Will also jemand auf /d/inseln/wargon/tarko/macros.h schreiben,
wird file "tarko/macros.h" uebergeben.
In Verzeichnissen von Magiern mit einem Level >= ELDER_LVL wird das
access_rights.c NICHT ausgewertet (da damit andere Magier zB. an
Erzmagierrechte gelangen koennten).
Es wird immer nur EIN access_rights.c ausgewertet, naemlich das in der
tiefsten Verzeichnisebene.
Man kann sowohl in seinen Regionsverzeichnissen als auch in seinen
Homeverzeichnissen access_rights.c-Dateien anlegen.
GANZ WICHTIG!!!
Fuer die Dateien, die evtl. von anderen angelegt werden, ist man immer
noch selbst verantwortlich! Wenn jemand also ein Gebiet bei Dir an-
schliesst, muss es erst von den verantwortlichen Regionsmagiern abgesegnet
sein!
zurück zur Übersicht