今天邮箱里面有安徽邮政的一封邮件,比较有意思
你好!
首先谢谢您们及时有力的技术支持!
这次我还想咨询一个简单的问题,
我的系统是DC4.1的
,经常需要重启应用和数据库,操作步骤是这样的:
1,在login:状态输入用户名cpems,密码cpems1001,进入$提示符,
$
再输入
$kemscd
$kmsgcd
$exit
login:
2,在login:状态输入用户名pgsql,密码pgsql1001,进入$提示符,
$
$./pgstop
$./pgstart
$exit
login:
3,在login:状态输入用户名cpems,密码cpems1001,进入$提示符,
$
再输入
$remscd
$rmsgcd
$exit
login:
以上三步大体的作用就是1关闭应用进程2关闭数据库存、开启数据库3,开启应用进程
现在我想再建个用户\\\"chongqi\\\",密码\\\"chongqi\\\",凡是需要重启应用和数据库时,只要输入这个用户名和密码就可以来完成上面的操作.
谢谢^_^
|
概括邮件里面的意思就是:想登录chongqi这个用户即可实现停止应用、数据库,再启动数据库、应用。但是起停数据库和应用是由两个不同的用户来做的,中间涉及到用户的切换。
普通用户切换必须输入密码,而且这个密码是只从键盘获取,不能从文件获取。想解决这个问题,只有一个,就是从root用户向普通用户切换,这样就不需要密码了。
我按我的思路,模拟真实环境测试,当然起停数据库和应用所需要的脚本,我只写了个简单的输出到文件就能验证。最后测试成功。下面是我回的邮件。
对于邮件中的要求,考虑到用户之间切换时密码的输入只能从键盘获取,不能从文件中获取
为了解决上述密码问题,只能用root用户往普通用户切换不需要密码
解决方法如下:
1、用root新建chongqi用户,密码chongqi
2、用root修改passwd文件,将chongqi用户的uid和gid都改为0
3、用root修改/home/chongqi的属主 chown -R root.root /home/chongqi
4、用chongqi用户登录,在其家目录下建一个脚本restart.sh,脚本内容如下 su - cpems -c "kemscd;kmsgcd;exit" su - pgsql -c "pgstop;pgstart;exit" su - cpems -c "remscd;rmsgcd;exit"
5、用chongqi用户给restart.sh脚本赋执行权限 chomod 700 home/chongqi/restart.sh
6、用chongqi用户修改其家目录下的.bash_profile文件,在最后一行添加如下 /home/chongqi/restart.sh
7、可以测试了。当登录chongqi用户时,自动执行restart.sh脚本,此脚本自动执行上面一些操作。只有操作完成,chongqi用户才正常登录系统。
如果上述停应用,停数据库,起数据库,起应用时间比较长,那会感觉chongqi用户登录系统后长时间没有反应。
上述方法原理上讲是肯定可行的。已经测试通过,但是还根起停应用、起停数据库的时间等等有关系。
|
阅读(1799) | 评论(1) | 转发(1) |