4

特定のデータベースの最適化を支援する独立した請負業者/フリーランサーがいます。

新しいユーザーを作成し、そのデータベースに対するすべての権限を付与しました。

ただし、彼らは次のコマンドを実行するように要求してきました。実行することによってセキュリティ上の脆弱性が作成されていないことを確認する必要があります。

grant super,reload on *.* to 'odeskuser_priv'@'%' identified by 'abc123'; 
grant all on mysql.* to 'odeskuser_priv'@'%' identified by 'abc123';

ユーザー「odeskuser」が 1 つのデータベースにしかアクセスできない場合、それらのコマンドは安全であり、他のデータベースに対して潜在的な脅威を開かないでしょうか?

ありがとう

4

2 に答える 2

3

ここを見て:

http://dev.mysql.com/doc/refman/5.0/en/privileges-provided.html

Superはサーバー管理特権を付与するので、次のように言います。

grant super,reload on *.* to 'odeskuser_priv'@'%' identified by 'abc123'; 

*.*サーバー上の任意のDBと任意のテーブルを示すため、そのユーザーはサーバー上の任意のDBへのスレッドを開くことができます。

編集:

実際、スーパーをグローバルに提供することは非常に危険です。

SUPER特権により、アカウントはCHANGE MASTER TO、KILL、またはmysqladmin killを使用して、他のアカウントに属するスレッドを強制終了でき(いつでも独自のスレッドを強制終了できます)、バイナリログをパージし、SETGLOBALを使用して構成を変更してグローバルシステム変数を変更できます。mysqladmin debugコマンド、ログの有効化または無効化、read_onlyシステム変数が有効になっている場合でも更新の実行、スレーブサーバーでのレプリケーションの開始と停止、保存されたプログラムとビューのDEFINER属性でのアカウントの指定、および接続(1回)を可能にするmax_connectionsシステム変数によって制御される接続制限に達した場合。

于 2012-06-25T11:05:21.207 に答える
1

あなたが mysql 内部データベースへの書き込みアクセスを許可していることを考えると、許可テーブルに行を追加して、必要な他の権限を自分自身に与えることができると思います。Sammaye が指摘したように、Super も危険です。

于 2012-06-25T11:11:06.680 に答える