6 999
contributi
S3v (discussione | contributi) Nessun oggetto della modifica |
S3v (discussione | contributi) Nessun oggetto della modifica |
||
Riga 268: | Riga 268: | ||
<pre>Host_Alias TRUSTED = server1, 192.168.1.23, 10.0.0.0/24, +grupporete</pre> | <pre>Host_Alias TRUSTED = server1, 192.168.1.23, 10.0.0.0/24, +grupporete</pre> | ||
==== Alias di tipo | ==== Alias di tipo Cmnd_Alias ==== | ||
Lista che contiene uno o più comandi o directory. | Lista che contiene uno o più comandi o directory. | ||
* I comandi devono essere scritti esattamente insieme al loro path assoluto (whereis nomecomando per trovarlo) | * I comandi devono essere scritti esattamente insieme al loro path assoluto (whereis nomecomando per trovarlo) | ||
* I comandi funzionano anche se vengono eseguiti insieme a dei parametri, per cui se: | * I comandi funzionano anche se vengono eseguiti insieme a dei parametri, per cui se: | ||
<pre> | <pre> | ||
Cmnd_Alias LS = /bin/ls | |||
pippo ALL = LS | pippo ALL = LS | ||
</pre> | </pre> | ||
Riga 279: | Riga 279: | ||
<pre>$ sudo ls -l</pre> | <pre>$ sudo ls -l</pre> | ||
Per evitare questo comportamento e consentire che il comando venga eseguito solo senza parametri, bisogna far seguire "" al comando: | Per evitare questo comportamento e consentire che il comando venga eseguito solo senza parametri, bisogna far seguire "" al comando: | ||
<pre> | <pre> Cmnd_Alias LS = /bin/ls ""</pre> | ||
in questo modo sarà consentito solo: | in questo modo sarà consentito solo: | ||
<pre>$ sudo ls</pre> | <pre>$ sudo ls</pre> | ||
Riga 285: | Riga 285: | ||
<pre>$ sudo ls -l</pre> | <pre>$ sudo ls -l</pre> | ||
Se si vogliono consentire solo determinati parametri, bisogna ricorrere ai metacaratteri. Ad esempio, per consentire i comandi "ls -l" e "ls -a" ma non "ls -d": | Se si vogliono consentire solo determinati parametri, bisogna ricorrere ai metacaratteri. Ad esempio, per consentire i comandi "ls -l" e "ls -a" ma non "ls -d": | ||
<pre> | <pre>Cmnd_Alias LS = /bin/ls -[la] | ||
pippo ALL = LS</pre> | pippo ALL = LS</pre> | ||
* È possibile inserire anche il percorso assoluto di una directory, questo indicherà che potranno essere eseguiti con sudo tutti i programmi contenuti in quella directory ma non nelle sottodirectory. Ad esempio con: | * È possibile inserire anche il percorso assoluto di una directory, questo indicherà che potranno essere eseguiti con sudo tutti i programmi contenuti in quella directory ma non nelle sottodirectory. Ad esempio con: | ||
Riga 650: | Riga 650: | ||
Facciamo un esempio. | Facciamo un esempio. | ||
Supponiamo che l'utente gambadilegno abbia una variabile d'ambiente così definita nel proprio .bashrc : | Supponiamo che l'utente gambadilegno abbia una variabile d'ambiente così definita nel proprio .bashrc : | ||
== Esempi == | |||
=== Leggere i file di <code>/var/log/</code> ==== | |||
I file di log si sistema che si trovano nella directory <code>/var/log/</code> non sono accessibili ad un normale utente ma solo ai membri del gruppo "adm" e, ovviamente, a [[root]].<br/> | |||
Questa configurazione consentirà di leggere, attraverso il [[pager]] "less", alcuni file di log. Si noti che in questo modo si previene la modifica dei file e, principalmente, si consente la lettura solo per un loro determinato numero.<br/> | |||
Con il seguente esempio non viene chiesta alcuna password attraverso l'uso del tag "NOPASSWD". | |||
<pre> | |||
... | |||
Cmnd_Alias LETTURALOG = /bin/less /var/log/messages, \ | |||
/bin/less /var/log/kern.log, \ | |||
/bin/less /var/log/syslog | |||
pippo miolocalhost = NOPASSWD:LETTURALOG | |||
... | |||
</pre> | |||
In questo modo l'utente "pippo" potrà eseguire, esclusivamente dall'[[host]] "miolocalhost", i comandi: | |||
<pre> | |||
$ sudo less /var/log/messages | |||
$ sudo less /var/log/kern.log | |||
$ sudo less /var/log/syslog | |||
</pre> | |||
per leggere i file "messages", "kern.log" o "syslog". |
contributi