用shell脚本为ubuntu自动添加用户,并限定通过ssh连接该用户只能执行特定某个(或某几个)程序

来源:互联网 发布:日本皇族知乎 编辑:程序博客网 时间:2024/05/21 11:48
         根据项目需求,需要实现为ubuntu的SSH添加一个用户,并且该用户只具有reboot功能。(实现环境为ubuntu 10.10)
         实现分为两步:1.shell脚本自动添加用户 ;2.限定用SSH连接该用户只能执行重启功能。
        1.shell脚本自动添加用户
         由于该操作需要对大量机器进行,不能手动去一个个的添加用户,需要调用脚本自动添加,经过综合网上资料添加用户脚本如下:
         
#! /bin/bash
$USER=yourusername             //用户名
useradd $USER
passwd $USER <<eof
yourpasswd                    //第一次输入密码
yourpasswd                    //再次输入确认密码
eof


       通过用程序调用该脚本,可以自动创建用户,并自动输入密码。若需批量添加,在此之上循环拓展即可。
       2.限定用SSH连接该用户只能执行重启功能。
       打开 
   gedit /etc/passwd
 
   具体对该文件的描述可见http://wade6.iteye.com/blog/1965579
   从而可以指定某用户的启动程序为自己想要的程序,例如
   abc:x:1002:1004::/home/abc:/sbin/reboot


      则用户abc启动的时候将会执行reboot命令。
      由于reboot只能由root用户执行,需要将reboot的执行权限拓展   :chmod u+s /sbin/reboot  (增加权限)    若需回复chmod u-x /sbin/reboot
     以上能实现登陆abc用户时,系统自动重启。
 
     若是用户不需要直接重启,需要在自己输入reboot的情况下重启,则可以用脚本实现test.sh:
 
#!/bin/bash  
  
REBOOT_CONDITION=reboot  
until [ "$var1" = "$REBOOT_CONDITION" ]  
do  
 echo -n "(just for reboot)$/ "  
 read var1   
done
reboot    
exit 0
给予test.h 执行权限,然后指定

abc:x:1002:1004::/home/abc:/bin/test.sh   



www.jiayifangshui.com

0 0
原创粉丝点击