Chinaunix首页 | 论坛 | 博客
  • 博客访问: 110724
  • 博文数量: 27
  • 博客积分: 573
  • 博客等级: 中士
  • 技术积分: 265
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 12:59
文章分类

全部博文(27)

文章存档

2012年(3)

2011年(24)

分类: LINUX

2011-08-20 15:42:59

      其实一直以来都觉得每次都得键入一串命令后等待输入密码才能关机重启挺麻烦的,于是就想到自个写个小脚本,让其实现不用选项也不用密码便可直接关机和重启,这样就方便许多了。当然,实现这种功能的思想很简单,就是让自己写的脚本自动读取密码。
      说到读取密码,总不能去读取/etc/passwd和/etc/shadow文件吧,里面的密码可不是明文的,那就唯有把自己的密码存储在自己写的脚本中,然后修改sudo命令读取密码的方式,因为sudo命令默认是通过终端设备读取密码,这样就需与用户交互,等待用户输入密码,但偏偏我就不想这么麻烦。于是就修改sudo读取命令的方式,有两种方法,一是重定向,二是使用管道。下面我跟大家分享一下具体如何实现:
     首先是重定向,创建文件,命名为guanji(不要命名为shutdown或是与其他已存在命令重名),文件内容如下,功能是实现关机:
  1. #!/bin/bash
  2. sudo -S shutdown -h now <
  3. password
  4. EOF
    其中选项-S(S是大写的)是使sudo命令用标准输入替代终端输入,这样sudo命令就可以通过重定向读取password了。password为你的密码。

     二是管道,创建文件chongqi,内容如下,功能是实现重启:
  1. #!/bin/bash
  2. echo password | sudo -S shutdown -r now
这里的-S选项和password意义同上。

接着我们把他们放入搜索路径中,一般是/bin,然后修改执行权限
  1. cp guanji /bin
  2. cp chongqi /bin
  3. chmod 755 /bin/chongqi
  4. chmod 755 /bin/guanji
这样就大功告成了,以后我们就可以很方便地用guanji和chongqi命令实现关机和重启,不用再输入密码了噢!
不过,这两个脚本可不要随便就给别人知道了,因为你的密码完全暴露,而且别人有权限获得你的密码!

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