Sap ase Sybase ASE,备份和密码安全

Sap ase Sybase ASE,备份和密码安全,sap-ase,Sap Ase,我是Linux上Sybase ASE数据库服务器的DBA,每天晚上都需要备份一个数据库。 其想法是编写一个cronjob并从用户“sybase”运行它。但这意味着我将有一个这样的脚本: isql -Usa -Ppassword_of_sa -SMYSERVER -DMYDATABASE -i/home/sybase/backup.sh #/bin/sh #Set Your Sybase ENV . $SYBASE/$SYBASE.sh SAPASSWD=password_of_sa #P

我是Linux上Sybase ASE数据库服务器的DBA,每天晚上都需要备份一个数据库。 其想法是编写一个cronjob并从用户“sybase”运行它。但这意味着我将有一个这样的脚本:

isql -Usa -Ppassword_of_sa -SMYSERVER -DMYDATABASE -i/home/sybase/backup.sh
#/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
这意味着我将在/home/sybase中的脚本中使用sa的明文密码;换句话说,任何可以登录sybase帐户的人都可以读取sa密码。 我应该接受这一点,还是有更安全的方法?
附带问题:我可以更改用户sybase的密码吗?如果我这样做会有问题吗?

不,你不应该接受这一点。一个选项是创建一个新用户,并将“oper”角色分配给该用户。“oper”角色允许用户转储和加载数据库以及事务日志

另一个选项是使用shell脚本和重定向来屏蔽进程列表中的密码。看起来是这样的:

isql -Usa -Ppassword_of_sa -SMYSERVER -DMYDATABASE -i/home/sybase/backup.sh
#/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
#/bin/sh
#设置Sybase环境
. $SYBASE/$SYBASE.sh
SAPASSWD=密码\u of_sa
#将.sql代码放在密码之后,第二个ENDSQL之前
isql-美国-SMYDATABASE