Domanda :Come impedire a un determinato utente di eseguire un comando specifico.
Questa tecnica utilizza un elenco di controllo di accesso (ACL) del filesystem per prevenire accessi indesiderati.
Attenzione :La funzione sudo non è adatta a questo scopo. In particolare, la "sottrazione" di un eseguibile dal preset ALL consentito non funziona come previsto.L'esempio seguente impedisce all'utente john di creare directory tramite il comando mkdir. I passaggi sono:
1. Trova il percorso assoluto del comando da controllare:
# which mkdir /bin/mkdir
2. Visualizza l'ACL corrente per quel programma:
# getfacl /bin/mkdir # file: bin/mkdir # owner: root # group: root user::rwx group::r-x other::r-x
L'utente, il gruppo e le altre voci corrispondono ai tradizionali permessi di accesso ai file gestiti dal comando chmod.
3. Aggiungi una regola di controllo dell'accesso per l'utente john:
# /bin/setfacl -m u:john:--- /bin/mkdir
4. Visualizza il controllo di accesso aggiornato:
# getfacl /bin/mkdir getfacl: Removing leading '/' from absolute path names # file: bin/mkdir # owner: root # group: root user::rwx user:john:--- group::r-x mask::rwx other::r-x
5. Testare l'impostazione:
# su - john $ mkdir -bash: /bin/mkdir: Permission denied
Prendi in considerazione l'aggiunta di un controllo dell'esecuzione utilizzando lo strumento auditctl per aumentare questa protezione.
Come controllare tutti i comandi eseguiti su OEL 5,6 usando auditd