MFen
o basics -> 1.154 Submitted by: Rene Ladan Obtained from: The FreeBSD Dutch Documentation Project Facilitated by: Snow B.V. at EuroBSDCon 2008
This commit is contained in:
parent
0f8282bf8f
commit
09e401e7ec
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=33077
1 changed files with 146 additions and 2 deletions
|
@ -4,7 +4,7 @@
|
|||
$FreeBSD$
|
||||
|
||||
%SOURCE% en_US.ISO8859-1/books/handbook/basics/chapter.sgml
|
||||
%SRCID% 1.153
|
||||
%SRCID% 1.154
|
||||
-->
|
||||
|
||||
<chapter id="basics">
|
||||
|
@ -760,6 +760,150 @@ total 530
|
|||
Meer informatie voor beheerders staat in &man.chflags.1; en
|
||||
&man.chflags.2;.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<sect2info>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Tom</firstname>
|
||||
<surname>Rhodes</surname>
|
||||
<contrib>Bijgedragen door </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</sect2info>
|
||||
|
||||
<title>De setuid-, setgid-, en klevende toestemmingen</title>
|
||||
|
||||
<para>Buiten de toestemmingen die reeds besproken zijn, zijn er
|
||||
nog drie specifieke instellingen waarvan alle beheerders kennis
|
||||
dienen te hebben. Dit zijn de <literal>setuid</literal>-,
|
||||
<literal>setgid</literal>-, en <literal>sticky</literal>
|
||||
toestemmingen.</para>
|
||||
|
||||
<para>Deze instellingen zijn belangrijk voor sommige
|
||||
&unix;-bewerkingen omdat ze functionaliteit bieden die
|
||||
normaliter niet aan normale gebruikers wordt gegeven. Om ze te
|
||||
begrijpen, dient ook het verschil tussen de echte gebruikers-ID
|
||||
en de effectieve gebruikers-ID opgemerkt te worden.</para>
|
||||
|
||||
<para>De echte gebruikers-ID is de <acronym>UID</acronym> die het
|
||||
proces start of bezit. De effectieve <acronym>UID</acronym> is
|
||||
de gebruikers-ID waaronder het proces draait. Bijvoorbeeld, het
|
||||
gereedschap &man.passwd.1; draait met de echte gebruikers-ID van
|
||||
de gebruiker die het wachtwoord verandert; echter, om de
|
||||
database met wachtwoorden te manipuleren, draait het met de
|
||||
effectieve ID van de gebruiker <username>root</username>. Dit
|
||||
is wat normale gebruikers in staat stelt om hun wachtwoorden te
|
||||
veranderen zonder een fout <errorname>Permission
|
||||
Denied</errorname> te zien.</para>
|
||||
|
||||
<note>
|
||||
<para>De &man.mount.8;-optie <literal>nosuid</literal> zorgt
|
||||
ervoor dat deze binairen zwijgend falen. Dit houdt in dat ze
|
||||
niet worden uitgevoerd zonder ooit de gebruiker op de hoogte
|
||||
te stellen. Deze optie is ook niet geheel betrouwbaar
|
||||
aangezien een <literal>nosuid</literal>-wrapper dit volgens de
|
||||
handleidingpagina &man.mount.8; kan omzeilen.</para>
|
||||
</note>
|
||||
|
||||
<para>De setuid-toestemming kan aangezet worden door het cijfer
|
||||
vier (4) voor een toestemmingenverzameling te plaatsen zoals te
|
||||
zien is in het volgende voorbeeld:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>chmod 4755 suidvoorbeeld.sh</userinput></screen>
|
||||
|
||||
<para>De toestemmingen op het bestand
|
||||
<filename>suidvoorbeeld.sh</filename> dienen er nu als volgt uit
|
||||
te zien:</para>
|
||||
|
||||
<programlisting>-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidvoorbeeld.sh</programlisting>
|
||||
|
||||
<para>Het zou in dit voorbeeld te zien moeten zijn dat een
|
||||
<literal>s</literal> nu deel is van de toestemmingenverzameling
|
||||
bestemd voor de bestandseigenaar, en de uitvoerbare bit
|
||||
vervangt. Dit staat gereedschappen toe die verhoogde
|
||||
toestemmingen nodig hebben, zoals <command>passwd</command>.</para>
|
||||
|
||||
<para>Open twee terminals om dit in real-time te zien. Start op
|
||||
het ene het proces <command>passwd</command> als een normale
|
||||
gebruiker. Controleer de procestabel terwijl het op een nieuw
|
||||
wachtwoord wacht en kijk naar de gebruikersinformatie van het
|
||||
commando <command>passwd</command>.</para>
|
||||
|
||||
<para>In terminal A:</para>
|
||||
|
||||
<screen>Changing local password for trhodes
|
||||
Old Password:</screen>
|
||||
|
||||
<para>In terminal B:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>ps aux | grep passwd</userinput></screen>
|
||||
|
||||
<screen>trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
|
||||
root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01</screen>
|
||||
|
||||
<para>Zoals boven vermeld, wordt <command>passwd</command> door
|
||||
een normale gebruiker gedraaid, maar gebruikt het de effectieve
|
||||
<acronym>UID</acronym> van <username>root</username>.</para>
|
||||
|
||||
<para>De <literal>setgid</literal>-toestemming voert dezelfde
|
||||
functie uit als de <literal>setuid</literal>-toestemming;
|
||||
behalve dat het de groepsinstellingen verandert. Wanneer een
|
||||
applicatie of gereedschap met deze instelling wordt gedraaid,
|
||||
krijgt het de toestemmingen gebaseerd op de groep die het
|
||||
bestand bezit, niet op de gebruiker die het proces startte.</para>
|
||||
|
||||
<para>Om de <literal>setgid</literal>-toestemming op een bestand
|
||||
aan te zetten, dient een voorlopende twee (2) aan het commando
|
||||
<command>chmod</command> gegeven te worden zoals in het volgende
|
||||
voorbeeld:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>chmod 2755 sgidvoorbeeld.sh</userinput></screen>
|
||||
|
||||
<para>De nieuwe instelling kan zoals hierboven bekeken worden,
|
||||
merk op dat de <literal>s</literal> nu in het veld bestemd voor
|
||||
de instellingen van de groepstoestemmingen staat:</para>
|
||||
|
||||
<programlisting>-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidvoorbeeld.sh</programlisting>
|
||||
|
||||
<note>
|
||||
<para>In deze voorbeelden zal het shellscript niet met een
|
||||
andere <acronym>EUID</acronym> of effectief gebruikers-ID
|
||||
draaien, zelfs al is het shellscript uitvoerbaar. Dit is
|
||||
omdat shellscripts geen toegang hebben tot de
|
||||
&man.setuid.2;-systeemaanroepen.</para>
|
||||
</note>
|
||||
|
||||
<para>De eerste twee speciale toestemmingsbits die we besproken
|
||||
hebben (de toestemmingsbits <literal>setuid</literal> en
|
||||
<literal>setgid</literal>) kunnen de systeemveiligheid verlagen,
|
||||
door verhoogde toestemmingen toe te staan. Er is een derde bit
|
||||
voor speciale toestemmingen die de veiligheid van een systeem
|
||||
kan verhogen: de <literal>klevende bit</literal>.</para>
|
||||
|
||||
<para>De <literal>klevende bit</literal>, wanneer deze op een map
|
||||
is ingesteld, staat alleen het verwijderen van bestanden toe
|
||||
door de eigenaar van die bestanden. Deze
|
||||
toestemmingenverzameling is nuttig om het verwijderen van
|
||||
bestanden in publieke mappen, zoals <filename
|
||||
class="directory">/tmp</filename>, door gebruikers die het
|
||||
bestand niet bezitten te voorkomen. Zet een één
|
||||
(1) voor de toestemming om deze toestemming te gebruiken.
|
||||
Bijvoorbeeld:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>chmod 1777 /tmp</userinput></screen>
|
||||
|
||||
<para>Het effect kan nu met het commando <command>ls</command>
|
||||
bekeken worden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>ls -al / | grep tmp</userinput></screen>
|
||||
|
||||
<screen>drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp</screen>
|
||||
|
||||
<para>De toestemming <literal>klevende bit</literal> is te
|
||||
onderscheiden met de <literal>t</literal> aan het einde van de
|
||||
verzameling.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="dirstructure">
|
||||
|
@ -1400,7 +1544,7 @@ total 530
|
|||
<entry><literal>d</literal></entry>
|
||||
|
||||
<entry>Partitie <literal>d</literal> had vroeger een
|
||||
speciale betekenis, maar die is verdwenen.
|
||||
speciale betekenis, maar die is verdwenen.
|
||||
<literal>d</literal> zou nu kunnen werken als een normale
|
||||
partitie.</entry>
|
||||
</row>
|
||||
|
|
Loading…
Reference in a new issue