我有个程序,之前是这么做的:
1.账户信息放入配置文件中,程序运行时自动读取
2.在linux中使用nohup命令让程序后台运行
现在觉得账户信息写入配置文件不安全,想实现如下:
1.在程序启动时让控制台提示并输入账户信息(但nohup用不了了)
2.linux下,程序在获取到用户输入的账户信息后能转入后台运行
哪位能提供一些这方面的经验?在此非常感谢
我有个程序,之前是这么做的:
1.账户信息放入配置文件中,程序运行时自动读取
2.在linux中使用nohup命令让程序后台运行
现在觉得账户信息写入配置文件不安全,想实现如下:
1.在程序启动时让控制台提示并输入账户信息(但nohup用不了了)
2.linux下,程序在获取到用户输入的账户信息后能转入后台运行
哪位能提供一些这方面的经验?在此非常感谢
把程序放到专用的账户下,除了root访问不了就行了,程序也不用上密码
引用来自“乌龟壳”的评论
把程序放到专用的账户下,除了root访问不了就行了,程序也不用上密码
我的账户信息是程序用来远程登陆另一个系统,然后执行一些任务。
你的意思是:远程登陆的相关账密信息,仍然用文件存放,与程序一起放到专用的一个linux系统用户下,并用这个用户启动程序。是这个意思吗?
引用来自“乌龟壳”的评论
把程序放到专用的账户下,除了root访问不了就行了,程序也不用上密码
引用来自“hy86”的评论
我的账户信息是程序用来远程登陆另一个系统,然后执行一些任务。
你的意思是:远程登陆的相关账密信息,仍然用文件存放,与程序一起放到专用的一个linux系统用户下,并用这个用户启动程序。是这个意思吗?
所以我不想放文件中,想直接在程序启动时提示用户输入,然后转为后台进程。
把账户信息加密写到配置文件里,程序使用参数时解密,或者启动时启动两个进程,一个以daemon方式启动,另外一个终端方式,二者可以通信,终端方式进程获取到账户信息后传递给守护进程方式启动的进程后自己就可以关掉了
引用来自“渠富林”的评论
把账户信息加密写到配置文件里,程序使用参数时解密,或者启动时启动两个进程,一个以daemon方式启动,另外一个终端方式,二者可以通信,终端方式进程获取到账户信息后传递给守护进程方式启动的进程后自己就可以关掉了
好的,用你的方式替代吧,谢了
在shell中读取用户输入,输入后再以nohup启动对应程序传入相应的值,这样可以不?
引用来自“beyondforever68”的评论
在shell中读取用户输入,输入后再以nohup启动对应程序传入相应的值,这样可以不?
这种方式可以实现,但传进去的用户名和密码会显示在进程信息中,比如shell:
${JAVA_HOME}/bin/java com.xxx.Startup $1 $2
其中$1为用户名,$2为密码,则此时如果执行命令ps -ef|grep java
会显示当前java进程信息为:
/user/java/jdk1.7/bin java com.xxx.Startup username password
所以还不如明文存放在配置文件中。
作者,有答案了吗。
程序A启动时让控制台提示并输入账户信息 整成一个加密字符串str
将加密字符串str 作为参数以nohup方式启动程序B, 格式:nohup B str &
楼主现在有答案没,也遇到这种问题了.