当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 怎样才能使一个脚本能被一个用户执行,但脚本的内容不让他读?

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

Unix/Linux 中的 怎样才能使一个脚本能被一个用户执行,但脚本的内容不让他读?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 72 ::
收藏到网摘: n/a


一个数据库备份的脚本,数据库密码写在里面了,需要人手执行它,但不想里面的密码被人看到,chmod 111 不行,因为是脚本,读不了就执行不了了,尝试过使用suid但好象也不行,不知道是我没用对还是根本就没有办法??
pdiunix 回复于:2004-02-27 12:26:28 用vi时候用:X加密码。
camp 回复于:2004-02-27 13:41:57 把密码作为参数转递进去。
q1208c 回复于:2004-02-27 14:21:40 chmod 111 行不行呀?
sakulagi 回复于:2004-02-27 14:26:28 新建用户,名字叫backup
把shell 的owner改成backup,权限700
然后修改/etc/passwd, 把backup的shell改成这个脚本。
这样每次su到backup的时候就可以执行这个脚本然后退出。
fchengkai 回复于:2004-02-27 14:27:54 用vi时候用:X加密码?
把密码作为参数转递进去?
不是太懂,能不能详细讲一下?
sakulagi 回复于:2004-02-27 14:31:19 作为参数传递可以接受,不过每次都要输入密码。那不等于把密码告诉执行这个脚本的用户了么?
至于X加密的话,那样shell就执行不了了!
camp 回复于:2004-02-27 14:32:10 abc
在命令行上输入密码。在脚本文件中引用。可以去参考一下shell编成的书。
zz_008 回复于:2004-02-27 14:35:20 suid应该可以吧,执行此shell的人拥有owner的权限,只要owner可以读密码文件即可
sakulagi 回复于:2004-02-27 14:35:28 楼主的问题是不想让执行这个脚本的用户知道密码。
q1208c 回复于:2004-02-27 14:48:51 还是写成一个C程序吧。保险点。
xiaofeiwdh 回复于:2004-02-27 15:17:49 c 程序中如果用字符串保存数据库用户口令,只要在windows下用ultraedit或者干脆在unix下用strings命令就可以看见。

要么在c程序中把数据库用户的口令加密保存,使用时再解开。
camp 回复于:2004-02-27 15:29:22 编一个小的移位加密函数。
sakulagi 回复于:2004-02-27 15:32:02 [quote:dfd6faf003="sakulagi"]新建用户,名字叫backup
把shell 的owner改成backup,权限700
然后修改/etc/passwd, 把backup的shell改成这个脚本。
这样每次su到backup的时候就可以执行这个脚本然后退出。[/quote:dfd6faf003]这样其他用户是看不到这个文件的任何内容的。
camp 回复于:2004-02-27 15:36:00 good idea
fchengkai 回复于:2004-02-27 16:51:08 不行啊,把shell改成一个脚本后就没有命令解析器了,命令执行就不了了
passwd内容:
backup:x:511:511::/home/backup:/opt/test.sh
错误信息:
[root@ceg-emall opt]# su - backup
su: cannot run /opt/test.sh: Exec format error
fchengkai 回复于:2004-02-27 17:02:27 可以了,漏了最关键的这个
#!/bin/sh
sophialily 回复于:2004-03-02 11:04:09 麻烦怎么才可以写个脚本,把数据库的密码写在这个脚本里?谢谢 :D
platinum 回复于:2004-03-02 12:12:20 [quote:7964b22358="fchengkai"]可以了,漏了最关键的这个 #!/bin/sh[/quote:7964b22358] 晕,哈哈!!