doas (Italiano) - ArchWiki

Jump to content

# doas (Italiano)

From ArchWiki

Stato della traduzioneQuesto articolo è la versione tradotta di Doas. Data dell'ultima traduzione: 2026-02-28. Se ci sono cambiamenti nella versione inglese, è possibile dare una mano a sincronizzarne la traduzione.

Articoli correlati

- List of applications/Security#Privilege elevation
- run0
- sudo
- Users and groups

OpenDoas è una versione portabile del comando doas di OpenBSD, nota per avere dimensioni sostanzialmente ridotte rispetto a sudo. Come sudo, doas viene utilizzato per assumere l'identità di un altro utente sul sistema.

## Installazione

Installare il pacchetto opendoas.

## Uso

Per iniziare a usare doas come utente non privilegiato, è necessario configurarlo correttamente. Si veda #Configurazione.

Per utilizzare doas, è sufficiente anteporre il comando `doas` e uno spazio al comando e ai suoi argomenti:

    $ doas cmd

Ad esempio, per usare pacman:

    $ doas pacman -Syu

Per accedere a una shell interattiva come altro utente (omettendo `-u utente` si userà root per impostazione predefinita):

    $ doas -su utente

L'accesso come altro utente è necessario per alcuni comandi, si veda Sudo#Login shell.

Per ulteriori informazioni, consultare doas(1).

## Configurazione

Dopo l'installazione di OpenDoas, esso risulterà collegato a PAM, ma non sono inclusi file di configurazione predefiniti o esempi.

Per consentire ai membri del gruppo wheel di eseguire comandi come altri utenti, creare un file di configurazione con il seguente contenuto:

    /etc/doas.conf

    permit setenv {PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin} :wheel

Nota

- Il file di configurazione deve terminare con una riga vuota.
- L'opzione `setenv` serve a mitigare un problema derivante dall'origine BSD di OpenDoas, dove i pacchetti di sistema aggiuntivi sono memorizzati in `/usr/local/bin`. In Linux, `/usr/local/bin` è generalmente usato per sovrascrivere gli eseguibili, quindi precede `/usr/bin` che contiene gli eseguibili dei pacchetti.

Il proprietario e il gruppo per `/etc/doas.conf` devono essere entrambi `root` e i permessi del file devono essere impostati a `0400`:

    # chown -c root:root /etc/doas.conf
    # chmod -c 0400 /etc/doas.conf

Per verificare la presenza di errori di sintassi in `/etc/doas.conf`, eseguire:

    # if doas -C /etc/doas.conf; then echo "config ok"; else echo "config error"; fi

Attenzione È fondamentale che `/etc/doas.conf` sia privo di errori di sintassi!

Per consentire ai membri del gruppo `plugdev` di eseguire smartctl senza password come utente root:

    /etc/doas.conf

    permit nopass :plugdev as root cmd /usr/bin/smartctl

La forma sintattica generale di `/etc/doas.conf` è:

    permit|deny [opzioni] identità [as target] [cmd comando [argomenti ...]]

L'ultima regola corrispondente determina l'azione intrapresa, pertanto le regole devono essere ordinate di conseguenza.

Per maggiori dettagli, leggere doas.conf(5).

## Trucchi e consigli

### Funzionalità persist di doas

doas fornisce una funzione di persistenza: dopo che l'utente si è autenticato con successo, non gli verrà richiesto nuovamente la password per 5 minuti. È disattivata per impostazione predefinita; la si può abilitare con l'opzione `persist`:

    /etc/doas.conf

    permit persist setenv {PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin} :wheel

L'esecuzione di `doas -L` cancella un'autenticazione persistente prima del suo timeout automatico.

Nota La funzione persist è disabilitata per impostazione predefinita perché potenzialmente pericolosa. Nel doas originale, viene utilizzata un'API del kernel per impostare e azzerare i timeout. Questa API è specifica di OpenBSD e non è disponibile in altri sistemi operativi. Come soluzione alternativa, la funzione persist è implementata utilizzando file di timestamp simili a sudo.

### Transizione agevole da sudo a doas

Per una transizione agevole da sudo a doas e per mantenere la compatibilità con il passato, è possibile aggiungere al proprio ambiente:

    alias sudoedit='doas rnano'

e posizionare un wrapper per doas dove si troverebbe normalmente sudo (tuttavia non fornisce il comando `sudoedit`):

    /usr/local/bin/sudo

    #!/bin/bash
    exec doas "${@/--preserve-env*/}"

Nota

- Alcuni pacchetti come devtools hanno una dipendenza stretta da sudo.
- Per impostazione predefinita sudo preserva alcune variabili d'ambiente mentre doas no, in particolare XAUTHORITY, LANG e LC_ALL. Ciò significa che non sarà possibile avviare applicazioni grafiche sotto X né accedere alla localizzazione dell'utente senza ulteriore configurazione. Ad esempio, per consentire ai membri del gruppo wheel di eseguire applicazioni grafiche e accedere alla localizzazione dell'utente usando l'opzione setenv:

    /etc/doas.conf

    permit setenv { XAUTHORITY LANG LC_ALL } :wheel

### Completamento tab su Bash

Per impostazione predefinita, Bash eseguirà il completamento automatico con tab solo per file e directory all'interno della cartella corrente o referenziata. Per istruire Bash a completare gli argomenti come se fossero comandi separati (sfruttando anche le impostazioni di completamento di altri comandi), si può aggiungere quanto segue al file `.bashrc` dell'utente o a quello globale `/etc/bash.bashrc`:

    ~/.bashrc

    complete -cf doas

Se bash-completion è installato, è possibile utilizzare invece il seguente comando per consentire il completamento aggiuntivo del comando di destinazione:

    ~/.bashrc

    complete -F _command doas

Categories:

- Security (Italiano)
- Commands (Italiano)

doas (Italiano)
Add topic