免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: GM
打印 上一主题 下一主题

红袖添香:续问.......!!!!! [复制链接]

论坛徽章:
0
51 [报告]
发表于 2003-03-02 13:52 |只看该作者

红袖添香:续问.......!!!!!

原帖由 "红袖添香" 发表:
...

原来问题出在第 108 行,在拷贝的过程中 EOF 后面会产生一个空格!因为这个空格,造成了和前面的语句不配对了,除掉这个多余的空格就好了。

红袖好!!!
是这儿的问题,我怎么不好好查一下呢,呵呵,以前我也碰到过在EOF下有空格,程序老是出现错,我比你还晕,以为在其它的地方,什么条件用错了,循环语句用的不对啊等等,换了再试,试了再换,最后还是不好,气得后来把一条条语句删下去再试,你说后来怎不着。。。。!,呵,等到只剩下空壳了,但其中还包括有EOF一些简单的语句,你想到我会怎么样了,呵,要吐血了!等到第二天,我养足精神再试,还是老办法再删,哈哈到后来,程序中只有一句,echo "吐血”之后,总算通过,别提有多好高兴了,有人会说我程序中只有一句了还这么高兴,是啊高兴之后很是很费解......!!!于是,我一点点加上去之后,总算找到原因之所在,可把我累坏了,为了EOF后面的一个空格,把我整的够呛!!!!
所以,一个人不能老犯同一个错误,而这次我犯了,就觉得不该了。这次我跟本没有好好地查,总以为我们两个系统不同的原因,该,给你添麻烦了,谢了!!!

我用了一下,我的系统中还缺在/usr/bin/gzip这个压缩程序,其实说破了,这个脚本是把shell压缩之后,等应用时再还原的一个过程。。。。
所以说,要把shell加密还没有最好办法,这个办法是针对还不会用gzip压缩或没用过的gzip的初级用户。
我认为还是用一种把shell加密,(最好用DES加密法,呵呵,可惜我不会这个)应用时再还原的方法,做成象你给我的gzexec脚本中的原理一样,红袖认为我的想法如何呢???

论坛徽章:
0
52 [报告]
发表于 2003-03-03 08:29 |只看该作者

红袖添香:续问.......!!!!!

[quote]原帖由 "GM"]我认为还是用一种把shell加密,(最好用DES加密法,呵呵,可惜我不会这个)应用时再还原的方法,做成象你给我的 gzexec脚本中的原理一样,红袖认为我的想法如何呢???[/quote 发表:


呵呵,可是解密的方法都写在文件的头部了,用了DES也没什么效果呀~

论坛徽章:
0
53 [报告]
发表于 2003-03-03 08:33 |只看该作者

红袖添香:续问.......!!!!!

红袖好:
我是认为用C写加密的部分,然后用脚本写运行的过程,呵呵!!!

论坛徽章:
0
54 [报告]
发表于 2003-03-03 08:54 |只看该作者

红袖添香:续问.......!!!!!

原帖由 "GM" 发表:
红袖好:
我是认为用C写加密的部分,然后用脚本写运行的过程,呵呵!!!


问题的症结在于SHELL必须是可读的,所以很容易倒推回去,你能读的文件,别人也能读。你要不让他读,他就执行不了。在运行的 C 程序中,如果没有口令保护,那他也能还原回来。所以有两大难题,

1。如果是用 SHELL 执行,容易倒推回去,
2。如果是用 C 的二进制方式执行,它运行 SHELL CODE 很容易在进程中暴露源码,就象你上次的帖子中说的一样。

不过你的想法还是不错,我会想想看有没有可能。

论坛徽章:
0
55 [报告]
发表于 2003-03-04 19:48 |只看该作者

红袖添香:续问.......!!!!!

红袖好:
我现在有一个新问题,我用命令查用户aaa下,运行的进程:ps -u aaa列出:
UID        PID         TTY       TIME       CMD
122     23456        -          0:02      sdfrp
122     38759      pts/0      0:00       isql
122     43223      pts/2      0:20       ksh
122     43245      pts/10    21:12     lookit
122     53211      pts/6      0:00       iny
...........
122     56789      pts/1       0:00      ps
我要求如下:
要是有isql,it,iny等进程占用,不能执行下面的程序,也就是在一个程序中放入一段代码判断没这些进程,就向后运行,否则在屏幕上提示有谁进程占用,不能继续运行,中断,退出。
我把要求判断的进程放在这个文件中:jc.txt
isql        数 据庫
iny       统计
lookit        对公查帐
....         .......

谢谢,希望得到你的帮助!!!

论坛徽章:
0
56 [报告]
发表于 2003-03-04 20:07 |只看该作者

红袖添香:续问.......!!!!!

ps -u aaa|grep "isql|iny|lookit"
if [ $? -eq 0 ];then
exit
fi

论坛徽章:
0
57 [报告]
发表于 2003-03-04 23:12 |只看该作者

红袖添香:续问.......!!!!!

红袖好:
我根据nkliyong的一位朋友的ps -u aaa|grep "isql|iny|lookit"的方法改写了以下程序:

  1. cat jc.sh
  2. ps -u aaa >jc.log
  3. while read jc; do
  4.    cmd=`echo $jc|awk '{print $1}'`
  5.    gn=`echo $jc|awk '{print $2}'`
  6.    cat jc.log|grep $cmd 2>&1 >/dev/null
  7.    if [ $? -ne 1 ]; then
  8.       echo "$cmd $gn 此进程占用,程序不能继续......."
  9.       exit
  10.    fi
  11. done <jc.txt
  12. echo "kkkkkkkkkkkkkkk"

复制代码


但是这儿有一个小问题,假如有isql类同的名称的进程号:如pppisql eisql aisql
即此程序也会exit。这是grep的问题你说是不是,它同样会找到。


请问,要如何才好呢,你有何高见,请帮我写一个其它的方式的代码,谢了.......


[/quote]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
58 [报告]
发表于 2003-03-05 03:24 |只看该作者

红袖添香:续问.......!!!!!

grep  -w   "isql"  filename


Solaris 9

论坛徽章:
0
59 [报告]
发表于 2003-03-05 03:31 |只看该作者

红袖添香:续问.......!!!!!

原帖由 "laoxia" 发表:
grep  -w   "isql"  filename


Solaris 9


我还在琢磨着怎么用 REGEXP 表达呢,没想到 laoxia 一记漂亮出击就搞掂了,呵呵,,,

BTW,现在用 Solaris 9 啦?跳级了的说~~~

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
60 [报告]
发表于 2003-03-05 03:41 |只看该作者

红袖添香:续问.......!!!!!

雕虫小技,何足挂齿耳

俺刚升完家里机器的级, 9 X86
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP