Linux 脚本加密功能(使用gzexe)

在写关于Oracle脚本的时候,有时候会将一些密码写到里面,不太安全。这时候可以使用Linux gzexe命令来加密这些脚本,保证安全性。


简单示例:


[root@dbserver oinsdir]# cat 1.sh
#!/bin/bash
echo "hello"

会生成一个1.sh~的文件

[root@dbserver oinsdir]# ls -l
total 2005992
-rw-r--r-- 1 oracle oinstall  801603584 Jul  8  2012 10201_database_linux_x86_64.cpio
-rwxr--r-- 1 root   root            428 Jul  9 14:34 1.sh
-rwxr--r-- 1 root   root             25 Jul  9 14:32 1.sh~

drwxr-xr-x 6 oracle oinstall       4096 Oct 23  2005 database
drwxr-xr-x 5 oracle oinstall       4096 Apr 29  2010 Disk1
-rw-r--r-- 1 root   root     1249857866 Jun  6 15:18 p8202632_10205_Linux-x86-64.zip
-rwxr-xr-x 1 oracle oinstall     171131 Apr 29  2010 README.htm
-rw-r--r-- 1 oracle oinstall     455240 Jul 22  2011 redis-2.2.12.tar.gz

我们看一下它们的内容


[root@dbserver oinsdir]# strings 1.sh
#!/bin/sh
skip=14
tmpdir=`/bin/mktemp -d ${TMPDIR:-/tmp}/gzexe.XXXXXXXXXX` || exit 1
prog="${tmpdir}/`echo \"$0\" | sed 's|^.*/||'`"
if /usr/bin/tail -n +$skip "$0" | "/bin"/gzip -cd > "$prog"; then
  /bin/chmod 700 "$prog"
  trap '/bin/rm -rf $tmpdir; exit $res' EXIT
  "$prog" ${1+"$@"}; res=$?
else
  echo "Cannot decompress $0"
  /bin/rm -rf $tmpdir
  exit 1
fi; exit $res
1.sh



[root@dbserver oinsdir]# strings 1.sh~
#!/bin/bash
echo "hello"

[root@dbserver oinsdir]# ./1.sh
hello



两个都是可以执行的脚本文件
加密后1.sh为加密后的脚本文件
1.sh~为源文件

你可能感兴趣的:(Linux 脚本加密功能(使用gzexe))