3月 18

Linux系统下shell用telnet通过smtp发邮件

之前shell中都是使用mail命令发邮件,但是出现一个问题,服务器在内网,必须使用smtp
服务。实现发邮件有两种方法。一、修改sendmail的配置,然后还是用mail命令,二、使用telnet
方式来发邮件。我将第二种方法记录下来。
我的smtp不需要认证服务,调用函数需要传入的参数依次为:发送人的邮件地址、收件人的
邮件地址、邮件主题、邮件内容、smtp的IP地址、smtp的端口

send_mail()
{
    (for i in "ehlo localhost.localdomain" "mail FROM:<${1}>" "rcpt TO:<${2}>" "data";
     do 
         sleep 1
         echo ${i}
         sleep 2
     done 
     echo "from:<${1}>"
     echo "subject:${3}"
     echo "to:<${2}>"
      echo ""
     echo "${4}"
     echo "."
     sleep 2 
     echo "QUIT")|telnet ${5} ${6}
}

#调用并传入参数
send_mail “simon-zzm@163.com” “test@test.com” “test” “ok!” “192.168.11.1” “25”

3月 29

linux shell 加密

经常使用脚本,但是在脚本中写入密码明文很不安全,所以考虑加密问题。当前比较普遍、简单的方法为使用shc程序
把脚本使用RC4加密算法再编译一次。

shc的主页
http://www.datsi.fi.upm.es/%7Efrosal/
当前最新为http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz

具体操作如下
# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz
# tar zxvf shc-3.8.7.tgz
# cd shc-3.8.7
# make test
# make strings
到此,目录下已经有了shc的程序,可以直接使用,如果希望使用方便也可以在安装一下。
# make install

安装完成,非常简单。使用也非常简单。
# ./shc -v -f myshell.sh
编译完成后会产生两个myshell.sh.x和myshell.sh.x.c。myshell.sh.x为二进制文件,
myshell.sh.x.c为C源码文件。