Comment désactiver la commande /usr/bin/mysql
dans le fichier sudoers? J'ai essayé de l'utiliser de cette façon:
%tailonly ALL=!/usr/bin/mysql
Mais lorsque j'accède à l'utilisateur "sur mesure" du groupe "sur mesure", cette commande est toujours activée.
En bref, je ne veux que cet accès utilisateur "sur mesure" tail -f /usr/app/*.log
.
C'est possible?
Edit:
Avec cette configuration, l'utilisateur peut toujours accéder à son terminal mysql avec la commande 'mysql':
$: Sudo su
$: visudo
Cmnd_Alias MYSQL = /usr/bin/mysql
Cmnd_Alias TAIL=/usr/bin/tail -f /jacad/jacad3/logs/*.log
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group Sudo to execute any command
%Sudo ALL=(ALL:ALL) ALL
%swa ALL=/etc/init.d/jacad3 stop
%swa ALL=/etc/init.d/jacad3 start
%swa ALL=/etc/init.d/jacad3 restart
%swa ALL=sudoedit /jacad/jacad3/bin/jacad_start.sh
%tailonly ALL=ALL,!MYSQL
Je pense que Sudo n'est peut-être pas le bon outil pour ce travail.
Si vous souhaitez qu'un utilisateur donné accède aux fichiers journaux, vous pouvez utiliser les autorisations de fichiers Unix normales et/ou les attributs étendus. Pour donner à un utilisateur la permission de modifier un fichier, il doit avoir la permission de lire.
Pour ce faire, utilisez les attributs étendus:
$ setfacl -m u:tailonly:r /usr/app/file
Si vous voulez qu'un utilisateur ait lu tous les fichiers d'un répertoire, c'est ce que je pense que vous voulez réaliser, vous devez définir la liste de contrôle d'accès par défaut pour cet utilisateur, pour ce répertoire. Par exemple:
$ setfacl -d -m user:tailonly:r /usr/app
Cela définira les autorisations du nouveau fichier pour qu'elles soient lisibles par l'utilisateur.
Il existe de bons guides et une question similaire qui pourrait aider: