Como desativar o comando mysql no arquivo sudoers?

7

Como posso desativar o comando /usr/bin/mysql no arquivo sudoers? Eu tentei usar desta forma:

%tailonly ALL=!/usr/bin/mysql

Mas quando eu acesso o usuário 'tailonly' do grupo 'tailonly', este comando ainda está ativado.

Em suma, só quero esse acesso de usuário 'tailonly' tail -f /usr/app/*.log .

Isso é possível?

Editar:

Com esta configuração, o usuário 'tailonly' ainda pode acessar o terminal mysql com o comando '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
    
por Carlos Spohr 12.11.2012 / 16:36

1 resposta

4

Acho que o sudo pode não ser a ferramenta certa para o trabalho.

Se você quiser que um determinado usuário acesse arquivos de log, poderá usar as permissões normais de arquivo unix e / ou atributos estendidos. Para dar ao usuário permissão para seguir um arquivo, ele precisa da permissão de leitura.

Para fazer isso usando atributos estendidos, tente:

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

Se você quiser que um usuário tenha lido todos os arquivos em um diretório, que é o que eu acho que você deseja alcançar, é necessário definir a ACL padrão para esse usuário, para esse diretório. Por exemplo:

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

Isso definirá as permissões do novo arquivo para serem legíveis pelo usuário único.

Existem alguns bons guias e perguntas semelhantes que podem ajudar:

link

link

    
por Peter Jenkins 14.11.2012 / 19:05