Wie deaktiviere ich den Befehl mysql in der sudoers-Datei?

7

Wie kann ich den /usr/bin/mysqlBefehl in der Sudoers-Datei deaktivieren ? Ich habe versucht, es so zu verwenden:

%tailonly ALL=!/usr/bin/mysql

Wenn ich jedoch auf den Benutzer 'tailonly' der Gruppe 'tailonly' zugreife, ist dieser Befehl weiterhin aktiviert.

Kurz gesagt, ich möchte nur diesen "maßgeschneiderten" Benutzerzugriff tail -f /usr/app/*.log.

Das ist möglich?

Bearbeiten:

Mit dieser Konfiguration kann der Benutzer 'tailonly' weiterhin mit dem Befehl 'mysql' auf das MySQL-Terminal zugreifen:

$: 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
Carlos Spohr
quelle

Antworten:

4

Ich denke, Sudo ist möglicherweise nicht das richtige Werkzeug für diesen Job.

Wenn ein bestimmter Benutzer auf Protokolldateien zugreifen soll, können Sie normale Unix-Dateiberechtigungen und / oder erweiterte Attribute verwenden. Um einem Benutzer die Berechtigung zum Beenden einer Datei zu erteilen, benötigen sie die Leseberechtigung.

Um dies mit erweiterten Attributen zu tun, versuchen Sie:

$ setfacl -m u:tailonly:r /usr/app/file

Wenn Sie möchten, dass ein Benutzer alle Dateien in einem Verzeichnis gelesen hat, was Sie meiner Meinung nach erreichen möchten, müssen Sie die Standard-ACL für diesen Benutzer für dieses Verzeichnis festlegen. Zum Beispiel:

$ setfacl -d -m user:tailonly:r /usr/app

Dadurch werden die Berechtigungen für neue Dateien so festgelegt, dass sie nur vom Benutzer gelesen werden können.

Es gibt einige gute Führer und ähnliche Fragen, die helfen könnten:

/server/2736/how-does-one-get-setfacl-to-set-acl-permissions-recursively-on-ubuntu-9-04-serve

http://www.gnutoolbox.com/acls-setfacl/

Peter Jenkins
quelle
Danke Peter, funktioniert hier perfekt. Ich werde die Ressourcen von ACL besser studieren.
Carlos Spohr