-1

私は Linux 上の Sybase ASE データベース サーバーの DBA であり、データベースを毎晩バックアップする必要があります。アイデアは、cronjob を作成し、ユーザー「sybase」から実行することです。しかし、これは次のようなスクリプトを作成することを意味します。

isql -Usa -Ppassword_of_sa -SMYSERVER -DMYDATABASE -i/home/sybase/backup.sh

これは、/home/sybase のスクリプト内にクリア テキストで sa のパスワードを保持することを意味します。つまり、sybase アカウントにログインできる人は誰でも sa パスワードを読み取ることができます。これを受け入れる必要がありますか、それともより安全な方法がありますか? 補足質問: ユーザー sybase のパスワードを変更できますか? そうした場合、問題が発生する可能性はありますか?

4

1 に答える 1

1

いいえ、これを受け入れるべきではありません。1 つのオプションは、新しいユーザーを作成し、そのユーザーに「oper」ロールを割り当てることです。「oper」ロールにより、ユーザーはデータベースとトランザクション ログをダンプおよびロードできます。

もう 1 つのオプションは、リダイレクトと共にシェル スクリプトを使用して、プロセス リストからパスワードを保護することです。それは次のようになります。

#/bin/sh

#Set Your Sybase ENV
. $SYBASE/$SYBASE.sh

SAPASSWD=password_of_sa

#Put your .sql code after the password, and before the second ENDSQL
isql -Usa -SMYDATABASE << ENDSQL
${SAPASSWD}

dump database MY_DATABASE to dump....
go

ENDSQL

2番目の質問については、「sa」パスワードを絶対に変更できます。他の場所でハードコードされた参照がない限り。

ちなみに、バックアップ ファイルの名前を backup.sql に変更します。.sh を使用すると、それがシェル スクリプトであることを意味し、混乱を招く可能性があります。

于 2012-12-11T14:54:34.193 に答える