15 November 2000
Dit document is bedoeld om een gebruiker bij een installatie van Majordomo Mailing List Software en MajorCool te begeleiden. MajorCool is een utility voor het beheren van Majordomo lijsten via een CGI-script; veel mensen die niet bekend zijn met de tekstgeöriënteerde aard van Majordomo geven de voorkeur aan de wat gebruikersvriendelijke op het web gebaseerde interface van MajorCool.
Deze HOWTO is in verscheidene secties onderverdeeld. Het deel over Sendmail bestaat uit een algemene bespreking over Majordomo en hoe Majordomo aansluit op Sendmail, als ook de diverse manieren waarop Majordomo kan worden opgezet en de consequenties van dergelijke besluiten. Daarbij afgestoken bestaat de rest van de HOWTO uit een tutorial die een gebruiker door een gewoon installatieproces van Majordomo leidt. Ik raad je aan eerst het algemene installatieproces, beschreven in de secties na Sendmail, door te nemen, waarbij zonodig naar de passende delen van de Sendmail sectie wordt verwezen (de van toepassing zijnde secties worden vermeld op de van toepassing zijnde lokaties). Lees vervolgens het deel over Sendmail zorgvuldig door en besluit daarna hoe precies je systeem te configureren. Tenslotte, is in een lijst met termen voorzien voor de wat diepzinniger termen.
Mochten de officiële sites voor het downloaden van de software vermeld in dit document down zijn, dan zijn de tarballs ook te vinden op mijn website.
Dank gaat uit naar een paar mensen (in alfabetische volgorde) voor hun hulp van onschatbare waarde.
Lee Archie voor het proeflezen
James Bruce en Bill Poston voor de kans om mijn eerste permanente machine met Majordomo op te zetten
Joseph D. Sloan voor het lezen van het deel dat gaat over Sendmail en het geven van behulpzame suggesties
Aanvulling van de vertaler: Met dank aan Reggy Ekkebus voor het vertalen van versie 1.10, dd 10 november 1999 van dit document naar het Nederlands. Dit document is opnieuw vertaald vanwege de omzetting van linuxdoc naar DocBook en de uitgave van een nieuwe versie.
Alhoewel ik heb getracht deze HOWTO zo compleet mogelijk te maken, is het altijd een goed idee meer dan één bron te bekijken. Hieronder tref je een lijst aan met de bronnen die ik behulpzaam vond bij het voor de eerste keer proberen te configureren van Majordomo.
Boeken:
Bryan Costales with Eric Allman, sendmail. Cambridge: O'Reilly, 1997.
Alan Schwartz, Managing Mailing Lists. Cambridge: O'Reilly, 1998.
Vrije bronnen:
de documentatie die met Sendmail wordt geleverd, vooral README.cf
de documentatie die met Majordomo wordt geleverd, met name INSTALL en NEWLIST
het Majordomo-Users discussielijstarchief.
de documentatie die bij MajorCool wordt geleverd.
Aangezien Majordomo verantwoordelijk is voor het beheren van E-maillijsten, is het in belangrijke mate afhankelijk van een MTA zoals Sendmail. Er bestaan nog andere MTA's, zoals Smail en Qmail; echter Sendmail is de oudste en meest algemene. Deze sectie introduceert de lezer in die gebieden die bruikbaar of nodig zijn voor de configuratie bij het gebruik van Majordomo.
Het aliassenbestand van Sendmail (gewoonlijk /etc/aliases) wordt gebruikt voor het maken van aliassen voor E-mailadressen. Zodra Majordomo is geïnstalleerd bijvoorbeeld, komt er in het bestand aliases gewoonlijk een regel voor als:
majordomo-owner: jarchie |
Een ander type regel in het bestand aliases staat toe dat E-mail naar meerdere adressen opgesomd in een bestand kan worden doorgestuurd:
testlist: :include:/usr/local/majordomo-1.94.5/lists/testlist |
johnarchie@emeraldis.com srobirds@yahoo.com acreswell@geocities.com |
Aangezien Majordomo opdrachten moet kunnen verwerken die er via E-mail naartoe zijn gestuurd, moet Sendmail het Majordomo programma kunnen uitvoeren en er het bericht aan door kunnen geven. Dit wordt bewerkstelligd door een ander type regel toe te voegen aan het bestand aliases:
majordomo: "|/usr/local/majordomo-1.94.5/wrapper majordomo" |
Door zijn geheimzinnige syntax is sendmail.cf misschien wel het meest beangstigend van alle configuratiebestanden. Bij de installatie van majordomo, is het niet strict noodzakelijk om sendmail.cf te bewerken; echter een paar features zijn buitengewoon handig. Tenzij belangrijke wijzigingen moeten worden aangebracht aan sendmail.cf (wat Majordomo gelukkig niet vereist), is het bewerken van het bestand niet zo moeilijk. Het enige dat nodig is, is het toevoegen van extra regels aan het bestand.
Vaak is het een goed idee om een apart bestand voor de Majordomo aliassen, zoals /usr/local/majordomo-1.94.5/majordomo.aliases, aan te maken. Dit kan nogal makkelijk worden gedaan door een regel toe te voegen aan het einde van het bestand sendmail.cf
OA/usr/local/majordomo-1.94.5/majordomo.aliases |
[root@kes majordomo-1.94.5]# touch majordomo.aliases.db [root@kes majordomo-1.94.5]# chmod 644 majordomo.aliases.db |
Voor bepaalde setups, kunnen een aantal beveiligingsmaatregels die Sendmail gebruikt, de juiste werking van Majordomo verhinderen. Uiteraard moeten deze beveiligingsfeatures worden uitgezet.
Sendmail is zodanig geprogrammeerd dat het mensen moeilijk maakt om "perfecte" vervalsingen van E-mail te maken. Wanneer een gebruiker bijvoorbeeld een bericht via SMTP verzendt, wordt het IP bronadres kenmerkend gelogd, en wanneer een gebruiker een bericht verstuurt door het direct aan Sendmail te geven en de afzender specificeert middels de opdracht sendmail -f, plaatst sendmail een waarschuwingsmelding in de header waarin het de gebruiker aangeeft wie de melding echt verzond. Echter een aantal programma's moet gemaskerd als andere gebruikers berichten kunnen versturen en met deze extra beveiligingsregel toegevoegd aan de header is ergerlijk. Sendmail handelt dit probleem af door middel van toevertrouwde gebruikers. Voor de juiste werking van het script resend van Majordomo, moet majordomo een toevertrouwde gebruiker van sendmail worden, aangezien het mail van andere gebruikers moet herverzenden.
Een manier om Majordomo een toevertrouwde gebruiker te maken is door het toevoegen van de regel
Tmajordomo |
Als Sendmail gebruik maakt van smrsh, dan zijn de enige programma's die kunnen worden uitgevoerd, die onder de directory /etc/smrsh/. Misschien de beste oplossing om de wrapper vanuit het bestand aliases uit te voeren is het aanmaken van een symbolische link vanuit /etc/smrsh/wrapper naar /usr/local/majordomo-1.94.5/wrapper.
[root@kes smrsh]# ln -s /usr/local/majordomo-1.94.5/wrapper wrapper |
[root@kes smrsh]# mv /usr/local/majordomo-1.94.5/wrapper ./ |
[root@kes sbin]# rm -f smrsh [root@kes sbin]# ln -s /bin/sh smrsh |
Mprog, P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=10/30, R=20/40, D=$z:/, T=X-Unix, A=sh -c $u |
Mprog, P=/bin/sh, F=lsDFMoqeu9, S=10/30, R=20/40, D=$z:/, T=X-Unix, A=sh -c $u |
Als je van plan bent een niet-root gebruiker discussielijsten te laten toevoegen en beheren, dan zul je het bestand majordomo.aliases voor de groep schrijfbaar moeten maken. Om beveiligingsredenen staat Sendmail deze configuratie echter niet toe (zie paragraaf Sendmail beveiligingskwesties). Voeg de regel
O DontBlameSendmail=GroupWritableAliasFile |
O DontBlameSendmail=IncludeFileInGroupWritableDirPath |
Voor beheerders die het bestand sendmail.cf niet direct willen bewerken, is het mogelijk gebruik te maken van M4 om het bestand aan te maken; in deze sectie wordt beschreven hoe de besproken wijzigingen in de vorige sectie te maken aan het mc bestand in plaats van het cf bestand.
Het doel van de M4 configuratie is te voorzien in een makkelijke manier om het bestand sendmail.cf aan te maken. Het idee erachter is dat het aangemaakte mc bestand makkelijker is te begrijpen dan het bestand sendmail.cf. Door uitvoering van de preprocessor m4, wordt een sendmail.cf bestand gegenereerd:
[root@kes etc]# m4 /etc/sendmail.mc > /etc/sendmail.cf |
Voeg de regel
define(`ALIAS_FILE',`/etc/aliases,/usr/local/majordomo-1.94.5/majordomo.aliases') |
Voeg de regel
define(`confTRUSTED_USERS',`majordomo') |
Voeg voor het deactiveren van de beveiligingscontrole op de schrijfpermissie van de groep op het aliases bestand de regel
define(`confDONT_BLAME_SENDMAIL',`GroupWritableAliasFile') |
Voeg voor het deactiveren van de beveligingscontrole op de schrijfpermissie van het pad op de include bestanden de regel
define(`confDONT_BLAME_SENDMAIL',`IncludeFileInGroupWritableDirPath') |
define(`confDONT_BLAME_SENDMAIL',`GroupWritableAliasFile,IncludeFileInGroupWritableDirPath') |
O DontBlameSendmail=GroupWritableAliasFile,IncludeFileInGroupWritableDirPath |
O DontBlameSendmail=GroupWritableAliasFile O DontBlameSendmail=IncludeFileInGroupWritableDirPath |
Beveiliging is omgekeerd evenredig proportioneel met gemak; de enige veilige machine is die door niemand kan worden benaderd. Wanneer een aantal van de beveiligingsfeatures zijn gedeactiveerd, zal een machine onvermijdelijk minder veilig worden. Het is echter van belang de basisbeveiligingsrisico's te begrijpen om vast te stellen of het gemak zwaarder weegt dan mogelijke beveiligingslekken.
Als een gebruiker schrijfpermissies heeft om een aliases bestand te benaderen, dan zou het een toevertrouwde gebruiker moeten zijn. Door het plaatsen van een regel in het aliases bestand (zoals die wordt gebruikt om wrapper uit te voeren) kan een gebruiker elk programma uitvoeren met de privileges van Sendmail (daemon of, in oudere versies, root). Deze ongepaste daad zou mensen toestaan de permissies van bestanden te verwijderen of wijzigen die toebehoren aan daemon (met behulp van de opdrachten rm of chmod in het aliases bestand). Tot op zekere hoogte wordt deze mogelijkheid vermeden door gebruik te maken van smrsh; men moet echter nog steeds zorgvuldig te werk gaan betreffende de bestanden die aanwezig zijn in de directory /etc/smrsh/.
Een andere belangrijke beveiligingskwestie is dat de gebruiker die het bestand aliases kan benaderen, bestanden kan toevoegen of beschrijven die toebehoren aan daemon door gebruik te maken van bestandsomleiding (een >> of > in plaats van een |). Evenzo kan ook dit lek worden weerlegd door een regel toe te voegen aan het bestand sendmail.cf een beperking opleggend welke bestanden kunnen worden beschreven via het aliases ebstand. Voeg de regel
O SaveFileEnvironment=/pad/naar/veilige/bestanden |
define(`confSAFE_FILE_ENV',`/pad/naar/veilige/bestanden') |
In het geval van include of .forward bestanden, worden opdrachten of omleidingen uitgevoerd als de gebruiker die eigenaar is van het bestand. Als daarom een bestand schrijfbaar is voor de groep, dan kan een deelnemer van de groep opdrachten uitvoeren als de gebruiker die eigenaar is van het bestand. Met andere woorden, elke gebruiker in de groep majordomo zou opdrachten als Majordomo uit kunnen voeren. Echter gezien de majordomo gebruiker zonder een shell wordt aangemaakt, zullen opdrachten of omleidingen niet worden verwerkt in include bestanden met als eigenaar majordomo.
Als een gebruiker voor de groep schrijfpermissies heeft op een directory, bijvoorbeeld /etc/, dan zou de gebruiker simpelweg elk bestand kunnen verplaatsen en daarvoor in de plaats een nieuwe aanmaken. Een aanval zou als volgt kunnen verlopen
[mallory@kes etc]$ mv aliases ... [mallory@kes etc]$ vi aliases |
In het geval van Majordomo, heeft de gebruiker in de groep majordomo reeds toegang tot de include bestanden, dus dit comprimitteert niet echt de beveiliging. Echter een beheerder zou zorgvuldig moeten zien te verhinderen deze onwenselijke onveilige groep schrijfbare directorypaden in de toekomst plaats te laten vinden, omdat Sendmail hier niet op zal controleren.
Helaas kunnen geraffineerde spammers discussielijsten uitbreiden met behulp van de SMTP-opdracht EXPN. Om deze reden zouden beheerders deze feature moeten deactiveren wanneer discusselijsten worden verleend. Voeg de regel
O PrivacyOptions=noexpn |
define(`confPRIVACY_FLAGS',`noexpn') |
Majordomo is natuurlijk het stuk code waar het in dit document om draait; het bestaat uit een verzameling Perl-scripts met als enige doel het beheren van discussielijsten.
Download de met gzip gecomprimeerde broncodedistributie van de laatste versie van Majordomo vanaf Great Circle Associates en decomprimeer het
[jarchie@kes jarchie]$ tar zxvf majordomo-1.94.5.tar.gz |
Majordomo moet zodanig worden uitgevoerd onder een specifieke UID en GID dat wanneer een van de scripts wordt uitgevoerd, het zal draaien onder Majordomo's UID. Dus is het nodig een besluit te nemen over onder welke UID en GID Majordomo zal draaien. Ook moet Majordomo een toevertrouwde gebruiker van Sendmail zijn (zie paragraaf Toevertrouwde gebruikers van sendmail).
Kijk in de bestanden /etc/passwd en /etc/group om een nog niet in gebruik genomen UID en GID te achterhalen. Voor dit voorbeeld werd gekozen voor UID 16 en GID 16. Je moet een beslissing nemen over de lokatie waar de Majordomo-scripts zullen voorkomen; in deze HOWTO werd gekozen voor de directory /usr/local/majordomo-1.94.5/. Voeg regels vergelijkbaar met
majordomo:x:16:16:Majordomo List Manager:/usr/local/majordomo-1.94.5: |
majordomo:*:10883:0:88888:7::: |
Voeg voor de aanmaak van een Majordomo groep een regel toe vergelijkbaar met
majordomo:x:16:jarchie |
De Makefile bevat alle informatie nodig om Majordomo te installeren; gewoonlijk moeten regels in de Makefile worden bewerkt die verwijzen naar systeemspecifieke instellingen zodat Majordomo zuiver op je systeem kan worden geïnstalleerd. De meeste standaardinstellingen zijn correct; echter de volgende instellingen, vrijwel onveranderlijk, moeten per systeem worden gewijzigd.
[jarchie@kes majordomo-1.94.5]$ vi Makefile |
PERL = /bin/perl CC = cc W_HOME = /usr/test/majordomo-$(VERSION) MAN = $(W_HOME)/man W_USER = 123 W_GROUP = 45 |
PERL = /usr/bin/perl CC = gcc W_HOME = /usr/local/majordomo-1.94.5 MAN = /usr/man W_USER = 16 W_GROUP = 16 |
[jarchie@kes majordomo-1.94.5]$ cp sample.cf majordomo.cf [jarchie@kes majordomo-1.94.5]$ vi majordomo.cf |
$whereami = "example.com"; $whoami = "Majordomo\@$whereami"; $whoami_owner = "Majordomo-Owner\@$whereami"; $homedir = "/usr/test/majordomo"; $digest_work_dir = "/usr/local/mail/digest"; $sendmail_command = "/usr/lib/sendmail"; |
$whereami = "kes.emeraldis.com"; $whoami = "majordomo\@$whereami"; $whoami_owner = "majordomo-owner\@$whereami"; $homedir = "/usr/local/majordomo-1.94.5"; $digest_work_dir = "/usr/local/majordomo-1.94.5/digest"; $sendmail_command = "/usr/sbin/sendmail"; |
De volgende stap bestaat uit het compileren van de Majordomo wrapper. De wrapper is de enige Majordomo component die moet worden gecompileerd, omdat al het andere bestaat uit een verzameling perl-scripts en daarom niet wordt gecompileerd.
[jarchie@kes majordomo-1.94.5]$ make wrapper |
[root@kes majordomo-1.94.5]# make install [root@kes majordomo-1.94.5]# make install-wrapper |
Sendmail aliassen moeten voor Majordomo worden aangemaakt zodat opdrachten verzonden naar Majordomo kunnen worden verwerkt door majordomo, en een alias voor de eigenaar van Majordomo moet worden aangemaakt, zodat mensen je kunnen mailen via het standaardadres owner-majordomo. Voeg de volgende regels toe aan het bestand aliases (zie paragraaf Aliassen).
majordomo: "|/usr/local/majordomo-1.94.5/wrapper majordomo" owner-majordomo: jarchie majordomo-owner: jarchie |
Start als reguliere gebruiker (niet als majordomo of als root)
[jarchie@kes jarchie]$ /usr/local/majordomo-1.94.5/wrapper config-test |
Voor het aanmaken van een lijst, maak je een bestand aan met de naam van de lijst in de Majordomo-directory lists. Voor bijvoorbeeld het aanmaken van een lijst met de naam test, maak je als Majordomo een bestand test aan
[root@kes /]# su majordomo [majordomo@kes /]$ touch /usr/local/majordomo-1.94.5/lists/test |
test: :include:/usr/local/majordomo-1.94.5/lists/test owner-test: jarchie test-request: "|/usr/local/majordomo-1.94.5/wrapper request-answer test" test-approval: jarchie |
Test nu de werking van de lijst door een lists opdracht aan Majordomo uit te voeren.
[jarchie@kes jarchie]$ echo lists | mail majordomo |
[jarchie@kes jarchie]$ echo help | mail majordomo |
Probeer jezelf in- en uit te schrijven op de lijst om te achterhalen of de aliassen correct werken.
[jarchie@kes jarchie]$ echo subscribe test | mail majordomo |
Stuur de opdracht unsubscribe om je uit te schrijven van een lijst
[jarchie@kes jarchie]$ echo unsubscribe test | mail majordomo |
Bij een aantal lijsten kan het wenselijk zijn om Majordomo de berichten te laten verwerken, voordat ze de lijst bereiken. Majordomo heeft bijvoorbeeld een resend script om berichten gebaseerd op inhoud (zoals woorden die taboe zijn) automatisch te filteren om te voorkomen dat mensen Majordomo opdrachten naar de lijst sturen, en nog andere features. Voor het gebruik van deze opties is het nodig een betere set aliassen te gebruiken, zoals
test: "|/usr/local/majordomo-1.94.5/wrapper resend -l test test-list" test-list: :include:/usr/local/majordomo-1.94.5/lists/test owner-test: jarchie test-owner: jarchie test-request: "|/usr/local/majordomo-1.94.5/wrapper majordomo -l test" |
Het gebeurt regelmatig dat de permissies van Majordomo niet correct worden ingesteld wat veroorzaakt dat Majordomo niet naar behoren werkt. Gelukkig geven Sendmail en Majordomo kenmerkend fatsoenlijke foutmeldingen die een probleem aanduiden. De directory lists bijvoorbeeld moet uitvoerbaar zijn voor de gebruiker sendmail setuids naar, typisch mail of daemon. Als sendmail lists niet kan uitvoeren, dan moeten de permissies wat minder strict zijn.
[root@kes root]# chmod +x /usr/local/majordomo-1.94.5/lists |
Majordomo is bedoeld te worden uitgevoerd op een geïsoleerd systeem; er bestaan een paar welbekende beveiligingslekken in de scripts waarmee elke lokale gebruiker wrapper kan draaien om code als de gebruiker majordomo uit te voeren. Als Majordomo op een systeem moet worden uitgevoerd die voorziet in gebruikers met toegang tot een shell, dan is het aan te raden de permissies op de wrapper te verscherpen. Dit kan worden bewerkstelligd door de uitvoerbare bit voor alle overige gebruikers te verwijderen en de groep van de wrapper met chgrp te wijzigen in de gebruiker die de Majordomo-scripts moet uitvoeren. Als bijvoorbeeld Sendmail en MajorCool beiden worden gebruikt om de wrapper uit te voeren, gebruik dan de opdrachten
[root@kes root]# cp /usr/local/majordomo-1.94.5/wrapper /etc/smrsh/wrapper [root@kes root]# chmod 4750 /usr/local/majordomo-1.94.5/wrapper [root@kes root]# chown root:nobody /usr/local/majordomo-1.94.5/wrapper [root@kes root]# chmod 4750 /etc/smrsh/wrapper [root@kes root]# chown root:mail /etc/smrsh/wrapper |
MajorCool is een web-gebaseerde interface naar Majordomo waarmee gebruikers zichzelf kunnen toevoegen aan lijsten en kunnen verwijderen van lijsten en lijsten kunnen beheren waarvan ze eigenaar zijn. De installatie is tamelijk recht-door-zee; het enige dat hoeft te worden gedaan is het uitpakken van de bestanden, het bewerken van een regel in het Configure script, en het uitvoeren van het script.
De laatste bestanden kunnen worden gedownload van Conveyance Digital.
[jarchie@kes jarchie]$ mkdir majorcool [jarchie@kes jarchie]$ mv majorcool.tar.gz ./majorcool/ [jarchie@kes jarchie]$ cd majorcool/ [jarchie@kes majorcool]$ tar zxvf majorcool.tar.gz |
Open Configure en
[jarchie@kes majorcool]$ vi Configure |
PERLBIN="/usr/local/bin/perl" # Hoe een perlscript te starten |
PERLBIN="/usr/bin/perl" # Hoe een perlscript te starten |
Tijdens de uitvoering van het Configure script, zal het simpelweg indrukken van de Enter-toets de standaardwaarde accepteren als de standaardkeuze voor een optie akkoord is.
[root@kes majorcool]# ./Configure |
What is the installation directory of Majordomo? []: /usr/local/majordomo-1.94.5 Will place the MajorCool programs in /usr/local/majordomo-1.94.5. What is the path to your Majordomo configuration file? [/usr/local/majordomo-1.94.5/majordomo.cf]: Using configuration file name '/usr/local/majordomo-1.94.5/majordomo.cf' Where would you like temp files created when MajorCool runs? [/tmp]: MajorCool needs to install CGI programs, support files, and icons in your Web server directories. What is the root directory for your Web server? []: /var/www Where is the cgi-bin directory for your Web server? [/var/www/cgi-bin]: Will place the programs in /var/www/cgi-bin. What is your server's URL for '/var/www/cgi-bin'? [/cgi-bin]: Where is the image directory for your Web server? [/var/www/icons]: Will place the icons in /var/www/icons. What is your server's URL for '/var/www/icons'? [/images]: /icons Where is the root directory for documents on your Web server? []: /var/www/html |
Accept the new version? [yes|no|list|edit|diff]? y |
[jarchie@kes jarchie]$ lynx http://localhost/cgi-bin/majordomo |
Twee vragen die vaak worden gesteld.
smrsh zal alleen bepaalde bestanden uit laten voeren door sendmail. Zie paragraaf Sendmail Restricted Shell.
Om de een of andere reden neemt RedHat de benodigde bestanden om mc bestanden te verwerken niet op. Overeenkomstig /etc/mail/sendmail.mc, zouden deze bestanden in het package sendmail-cf moeten zitten; ik slaagde er echter niet in dit package op de CD te vinden. Installeer ter correctie van dit probleem RedHat's sendmail SRPM, decomprimeer de sendmail tarball en kopieer de benodigde macrobestanden.
[root@kes root]# rpm -i sendmail-8.11.0-8.src.rpm [root@kes root]# cd /usr/src/redhat/SOURCES/ [root@kes SOURCES]# tar zxvf sendmail-8.11.0.tar.gz [root@kes SOURCES]# cd sendmail-8.11.0 [root@kes sendmail-8.11.0]# cp -R cf /usr/lib/sendmail-cf [root@kes sendmail-8.11.0]# cd .. [root@kes SOURCES]# rm -rf sendmail-8.11.0 |
define('ALIAS_FILE','/etc/aliases')dnl |
define(`ALIAS_FILE',`/etc/aliases')dnl |
een verzameling nieuwe berichten als één bericht gemaild naar de deelnemers van een archieflijst. Een lijst wordt `digested' genoemd, wanneer het wordt gearchiveerd en periodiek een digest wordt uitgezonden.
een identificatienummer toegekend aan bestanden, directory's en verwerkt om de toegang te beperken, vergelijkbaar met UID, behalve dat meerdere mensen deelnemer kunnen zijn van een groep. Op Unix type systemen, kunnen groepen worden opgezet (gedefinieerd in het bestand /etc/group). Wanneer een gebruikersnaam deelnemer is van een groep, kan zij bestanden benaderen aangemaakt met dat GID (in de veronderstelling dat de permissies 't toelaten).
een programma zoals Sendmail, verantwoordelijk voor het doorgeven van mail van de ene naar de andere lokatie.
een bestandskenmerk die een programma toestaat het uit te voeren met specifieke groepsprivileges ongeacht wie het uitvoert.
(SendMail Restricted SHell) de shell die Sendmail gebruikt om programma's uit te voeren. smrsh plaatst beperkingen op de programma's die kunnen worden uitgevoerd om het veiliger te maken dan een reguliere shell, zoals de Bourne Shell.
een bestandskenmerk die een programma toelaat het als een specifieke gebruiker uit te voeren ongeacht wie het uitvoert.
een identificatienummer toegekend aan bestanden, directory's en processen, vergelijkbaar met GID behalve dat elke gebruiker een uniek UID heeft. Elk proces moet onder een UID worden uitgevoerd (de één-op-één relatie tussen de UID en de gebruikersnaam is gedefinieerd in /etc/passwd). Het UID van het proces bepaalt wat het proces kan benaderen. Over het algemeen kan een reguliere gebruiker de permissies op bestanden wijzigen waarvan ze eigenaar is, tenzij de UID gelijk is aan 0 (de root gebruiker). In dat geval kan alleen root bestanden op het systeem aanpassen.
een programma dat wordt gebruikt om een ander programma op te starten; gewoonlijk is een wrapper SUID of SGID zodat het privileges kan schenken aan een ander programma die het andere programma normaal gesproken niet zou hebben.