Question :Comment empêcher un utilisateur donné de pouvoir exécuter une commande spécifique.
Cette technique utilise une liste de contrôle d'accès (ACL) du système de fichiers pour empêcher tout accès indésirable.
Attention :L'installation sudo n'est pas adaptée à cette fin. En particulier, "soustraire" un exécutable du préréglage ALL autorisé ne fonctionne pas comme prévu.L'exemple ci-dessous empêche l'utilisateur john de créer des répertoires via la commande mkdir. Les étapes sont :
1. Trouvez le chemin absolu vers la commande à contrôler :
# which mkdir /bin/mkdir
2. Affichez l'ACL actuelle pour ce programme :
# getfacl /bin/mkdir # file: bin/mkdir # owner: root # group: root user::rwx group::r-x other::r-x
L'utilisateur, le groupe et les autres entrées correspondent aux autorisations d'accès aux fichiers traditionnelles gérées par la commande chmod.
3. Ajoutez une règle de contrôle d'accès pour l'utilisateur john :
# /bin/setfacl -m u:john:--- /bin/mkdir
4. Affichez le contrôle d'accès mis à jour :
# 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. Testez le paramètre :
# su - john $ mkdir -bash: /bin/mkdir: Permission denied
Envisagez d'ajouter une surveillance d'exécution à l'aide de l'outil auditctl pour augmenter cette protection.
Comment auditer toutes les commandes exécutées sur OEL 5,6 en utilisant auditd