根据项目需求,需要实现为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 执行权限,然后指定
实现分为两步: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
分享个360wifi驱动,https://page68.ctfile.com/fs/14253468-201549140