#
are comments. Empty lines are ignored.
/etc/uid
which specifies that object/dir/.../dir/file.c uid
/dir/.../dir/file.c
gets UID
uid
. A line can also have the format
which specifies that object in directory/dir/.../dir/ uid
/dir/.../dir/
get UID
uid
. When an object is loaded, the most
specific line determines its UID.
Thus, for example, if the file is
then object/ none /domain/luvigana/obj/ luvigana /domain/luvigana/obj/axe.c globoroth
/domain/wow/obj/sword.c
gets UID
"none"
, object /domain/luvigana/obj/bow.c
gets UID "luvigana"
, and object
/domain/luvigana/obj/axe.c
gets UID
"globoroth"
.
NOTE:
There is an important exception. When a player logs in, she gets the
UID that is the same as its query_name()
.
/etc/group
where$group uid:...:$group
$group
is a group name,
and uid:...:$group
is a list of
UIDS and groups. Any groups that appear in the list must
be previously defined. To define the empty group, just
put a colon :
on a line by itself.
NOTE: There are special groups:
$all
$player
/etc/seteuid
seteuid()
, which is used for changing EUIDs.
When an object calls seteuid(e)
its UID determines whether
it has the permission to change its EUID to e
.
The file /etc/seteuid
determines these permissions.
Each line in the file has one the form:
Recall that a permission list is a list of UIDs and groups, separated by colons. The empty permission list is just a colon by itself. Each line specifies which UIDs have the permission to change their EUID to the givenuid permission_list
uid
.
NOTE:
There are exceptions:
$seteuidall
is allowed to set any EUID