Shell脚本对ps命令隐藏参数
我有一个备份的Shell脚本,传入用户名,密码,然后脚本开始备份数据库.
模拟备份的脚本
[lihuilin@lihuilin ~]$ cat backup.sh
#!/bin/bash
echo pwd:$1
sleep 1m
执行脚本
[lihuilin@lihuilin ~]$ ./backup.sh password
pwd:password
但是其他用户使用ps命令,可以直接看到我的密码
[lihuilin@lihuilin ~]$ ps -ef | grep backup
lihuilin 3163 2997 0 21:44 pts/1 00:00:00 /bin/bash ./backup.sh password
lihuilin 3183 3168 0 21:44 pts/2 00:00:00 grep backup
[lihuilin@lihuilin ~]$
这太崩溃了.有两种方式可以避免这种情况
1.按照如下内容修改脚本
[lihuilin@lihuilin ~]$ cat backup.sh
#!/bin/bash
read pwd
echo pwd:${pwd}
sleep 1m
然后使用如下调用方式
[lihuilin@lihuilin ~]$ ./backup.sh < password
EOF
这时,在ps命令中就已经看不到敏感信息了
[lihuilin@lihuilin ~]$ ps -ef | grep backup
lihuilin 3212 2946 0 21:50 pts/0 00:00:00 /bin/bash ./backup.sh
lihuilin 3215 2997 0 21:50 pts/1 00:00:00 grep backup
但是在/proc/pid/fd/下,仍然记录了该参数的值
[lihuilin@lihuilin ~]$ ps -ef | grep backup
lihuilin 3212 2946 0 21:50 pts/0 00:00:00 /bin/bash ./backup.sh
lihuilin 3218 2997 0 21:51 pts/1 00:00:00 grep backup
[lihuilin@lihuilin ~]$ cd /proc/3212/fd
[lihuilin@lihuilin fd]$ cat 0
password
[lihuilin@lihuilin fd]$
2.使用另外一种调用方式
脚本如下,内容同第一种修改方式
[lihuilin@lihuilin ~]$ cat backup.sh
#!/bin/bash
read pwd
echo pwd:${pwd}
sleep 1m
调用方式
[lihuilin@lihuilin ~]$ echo 'password' | ./backup.sh
pwd:password
在另外一个用户,无论是ps命令,还是查看/proc信息,都不能看到敏感信息了
显然,第二种方式比第一种方式更加安全.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29254281/viewspace-1578997/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29254281/viewspace-1578997/
Shell脚本对ps命令隐藏参数相关推荐
- linux脚本外输入参数,shell 脚本中关于用户输入参数的处理
1.命令行参数 向shell脚本传递数据的最基本方式是使用命令行参数. (1) 读取参数 读取输入的参数的变量为位置参数,位置参数通过标准数字表示, 其中$0为程序名称,$1为第一个参数,$2为第二个 ...
- Java 调用Shell脚本执行 SCP命令提示Authorized users only. All activity may be monitored and reported.
近期做了个小项目主要是关于数据处理这方面的. 在Java后端调用服务器上Shell脚本,而Shell脚本执行时一条Scp执行结果的提示报 Authorized users only. All acti ...
- Shell脚本语言常用命令总结~
写目录 一.Shell概述 二.Shell脚本 三.Shell中的变量 3.1 系统变量 3.2 自定义变量 3.3 特殊变量:$n 3.4 特殊变量:$# 3.5 特殊变量:$* . $@ 3.6 ...
- shell脚本中执行命令_如何在Shell脚本中执行命令?
shell脚本中执行命令 Shell is a command-line interpreter that allows the user to interact with the system. I ...
- linux 读取命令行输入参数,shell脚本读取文件+读取命令行参数+读取标准输入+变量赋值+输出到文件...
读取url_list文件批量下载网页 url_list http://www.tianyancha.com/company/2412078287 http://www.4399.com/special ...
- Shell脚本中获取命令运行结果、特殊变量使用、条件判断等常用操作
文章目录 前言 获取命令执行结果 使用反引号 `` ` ``command `` ` ``来执行命令 使用括号组合 $(command) 来执行命令 两种方式的区别 特殊变量使用 $0 $1 $2 . ...
- Linux shell脚本中的命令正确写法
shell脚本中的命令需加反引号``
- [js]windows下通过命令行运行javascript脚本,支持命令行参数
windows下通过命令行运行javascript脚本,支持命令行参数 js作为最受欢迎的语言,以其方便.通用.功能强大的特点,可以给大家在实际使用的过程中带来很大的便利. 下面是本文从实际应用的角度 ...
- 终于要把魔爪伸向shell编程了_命令行参数数量预检测——莫韵乐的小脚印笔记
终于要把魔爪伸向shell编程了_命令行参数数量预检测 有时候我们在时使用shell的时候都需要传入一些参数,但是有时候我们传入的命令行参数数量不正确就很容易发生错误,因此我们需要在需要传入参数的sh ...
最新文章
- 生产者消费者模式 php 【转】
- python医学数据挖掘_GitHub - SSSzhangSSS/Python-Data-mining-Tutorial: Python数据挖掘教程
- bakaxl启动器怎么导入整合包_bakaxl启动器加皮肤光影mod
- linux在VM下分辨率的问题
- Vmware虚拟机全屏
- 74cms php在那个文件夹里面,74cms骑士人才网站系统 v5.0/v5.1后台目录地址修改教程...
- 计算机软件工程自考,自考软件工程试题及答案2021年10月
- 3文聚焦:RNA m6A甲基化修饰在不同农作物中的研究进展(马铃薯+水稻+玉米+小麦)|易基因
- EXCEL单元格内怎么换行?Alt+Enter
- 栈的输出_程序设计做题笔记:计算表达式(一):栈
- js删除数组指定的某个值或元素
- wps底纹去不掉_WPS广告太多,关又关不掉,其实它有无广告的版本
- 青少年CTFmisc 简简单单的题目
- Windows2000高级技巧
- Chrome浏览器及Chrome内核浏览器下载时使用p2p提速
- 喜马拉雅国际版apk下载
- [每天get点新技能]搜商——从A到Z亚马逊A9引擎
- 以至仁伐不仁,如何其血流漂杵也
- 电子书和纸质书有什么区别
- 特洛伊木马服务器源代码
热门文章
- 罗技 android蓝牙键盘,用上罗技K380 Multi-Device蓝牙键盘 我1分钟内就学会了分身术...
- Error processing condition on org.springframework.boot.actuate.autoconfigure.audit.AuditEventsEndpoi
- word 保存时 不能保存
- [46]python画出心形图
- 特斯拉如何驱动顶级客户体验
- SELinux权限问题解决
- m=m++到底发生了什么
- 电脑右键新建,少了office的几个图标,如:excel,word
- Ubuntu18.04安装显卡驱动重启后出现黑屏问题
- 【译】Using the SafetyNet API (使用SafetyNet API)