Chinaunix首页 | 论坛 | 博客
  • 博客访问: 595070
  • 博文数量: 248
  • 博客积分: 52
  • 博客等级: 民兵
  • 技术积分: 1028
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-23 12:05
文章分类

全部博文(248)

文章存档

2016年(7)

2013年(241)

分类: LINUX

2013-04-09 05:02:24

    今天邮箱里面有安徽邮政的一封邮件,比较有意思

你好!
首先谢谢您们及时有力的技术支持!
这次我还想咨询一个简单的问题,
我的系统是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用户登录系统后长时间没有反应。
 
    上述方法原理上讲是肯定可行的。已经测试通过,但是还根起停应用、起停数据库的时间等等有关系。

阅读(780) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~