[オリジナル]単純なデータベースアクセス権限制御スクリプト

単純なデータベースアクセス権限制御スクリプト



2019年6月5日午前9時45分06秒

  まず、アイデア

  私は、私はそのようなのようなオープンソースのマシンJumpserverの要塞として怠惰な設定はなかったのですが、指導者が一定時間内にデータベースの踏み台マシンをログに記録するために使用することができ、その後、データベースへのアクセスを制御する許可されたユーザのログイン制御の方法のSSH鍵ファイルのホワイトリストを使用したいですユーザーがログインし、条件付きのSQL監査ファイルが操作の実行を表示するためにユーザーにダウンロードすることができた後、ログ飛び石からユーザーを防ぐために、期限切れのユーザー認証情報をクリーンアップするためにスケジュールされたタスクを追加します。

  第二に、フローチャート

 

  第三に、コード

#!/ binに/ bashのを
#sourceの/ etc / プロフィール <<はEOF 
、次の例にスケジュールされたタスクを追加する-1 の権限の有効期限を、名前ドナーの名前のディレクトリ名に
 * / 5 * * * * 。/ホーム/ジャンプ/ SQL SH - 1名>は/ dev / nullに 2 >&1 
EOF 
#障害日間 = $ 1 
#寄付者の
名前 = $ 2 
#現在のタイム
DATE_TIME = ` DATE + " %Y-%M- D%のH%:%のM:%S " ` 
#キーファイルディレクトリ
key_pub_dir。= /ホーム/ジャンプ/ SSH / $ {名前} 
#ホワイトリストファイル
とssh_key_fileが = /ホーム/ジャンプ/。SSH / authorized_keysに

IF [-n!" $古い" || [-n]!" $名" ]; その後、
        エコー 、 " 有効期限とドナーのディレクトリ名を入力してください" 
        出口0 
他を
        end_file = ` 検索を $ {} key_pub_dir -name " * .pubファイル" - のmtime旧} {$`
 IF [-f " $ {end_file} " ]; その後、エコー " $ {} key_pub_dir -name見つける" * .pubファイル" -mtime $ {古い} " >> delete.log 
 のための ` LSの ` $ {end_fileを}; やる
        エコー ======================タスクの開始======================  >> delete.log
         エコー "" >> delete.log
         エコー " $ {} DATE_TIME发现过期授权文件" >> delete.log
         LS -ctl $ {I} >> delete.log
         エコー "" >> " $ {} DATE_TIMEの削除は、ライセンスファイルの情報を期限切れ" >> delete.log
         のsed -i " Sの#1 $ {I}` `CAT ## G " $ {} >> ssh_key_fileがdelete.log 
        key_wc = ` CATの $ {ssh_key_fileが} | grepをする CATの $ {I} | WC - 'L
 IF [$ {} -le key_wc 1 ]; その後、
        エコー " に成功$ {} DATE_TIME削除認証情報を" >> delete.log
 
        エコー " 認可DATE_TIMEを削除} $を{障害情報は、手動でファイル内の$ {} ssh_key_fileが認証情報を削除してください >> delete.log
 Fiを提供してRM -rf $ {I} >> delete.log
         エコー "" >> delete.log
         エコー " $ {} DATE_TIME删除授权信息后的$ {} ssh_key_fileが内容:" >> delete.log
         猫の $ {} ssh_key_fileが> > delete.log
         エコー ======================タスク終了==================== ====  >> delete.log
 行われ
、他の
        エコー ======================タスクを開始============ ========== " >> delete.log
         エコー "$ {} DATE_TIME権限なしで期限切れ >>delete.log
         エコー ======================タスク終了===================== ===  >> delete.log
 Fi回線
Fiの

   つまり、すべてのコードは有効期限が削除されたとして、ユーザーがデータベースをログに記録しません許可踏み台マシンを持っていないので、限り、スキャンを実行するようにスケジュールされたタスクで、5分ごとに実施しています。欠陥があなたを満たすために喜んでいる場合。

おすすめ

転載: www.cnblogs.com/quguoliang2018/p/10977955.html