笔者自己新增的一个xbgj用户用于其他操作员执行关机命令。但现在我想不允许在终端上登录此关机用户进行关机,而只能在主机上也即主控台中运行此用户进行关机,请问该怎样用shell语句实现此限制????
谢谢了!
sdccf 回复于:2004-08-30 08:16:49 |
console=`expr "$1" : '\(....\)'`
if [ $console = tty0 ] then : okay else echo "\n\n\t\t 必需从主控台运行关机程序" exit fi |
-j- 回复于:2004-08-30 08:46:51 |
问个菜鸟问题:如何把vi的text文件转换成shell命令? |
sdccf 回复于:2004-08-30 09:08:06 |
shell本来就是文本,还转换什么? |
-j- 回复于:2004-08-30 09:26:12 |
系统会自动识别并且运行? |
sdccf 回复于:2004-08-30 09:37:21 |
你输入的必须是shell命令才行。 |
simonzhan 回复于:2004-08-30 09:39:40 |
是的,只要语法正确并且赋予的运行权限。在第一行最好用
#!/bin/sh 来明确通知系统这是一个bsh的脚本。建议可到shell版多看看。 |
ddddddeeeeeeffffff 回复于:2004-08-30 14:00:50 |
chmod 777 文件名,以后输入文件名可运行,root用户需用./文件名,
想要在系统启动时运行,进行/etc/rc2.d编辑S打头的文件即可。 |
legendfan 回复于:2004-08-30 21:13:17 |
怎么讨论起与此帖无关的内容来了?删除 |
hsgzr 回复于:2004-08-31 00:58:29 |
将文本文件加执行权即可执行 |
sdccf 回复于:2004-08-31 07:29:37 |
随便一个文本文件是不行的. |
legendfan 回复于:2004-08-31 20:13:41 |
[quote:ec8014cf8d="sdccf"]e = tty0 ]
then : okay else echo "\n\n\t\t 必需从主控台运行关机程序" exit fi[/quote:ec8014cf8d] 这个方法好像不行的,我已经试过了。有谁有更好的办法??? |
sdccf 回复于:2004-08-31 21:18:48 |
这个方法我测试过了,没有问题啊. |
legendfan 回复于:2004-09-01 21:39:37 |
自己解决了!利用case语句加入程序体中进行判断即可,其实也是一个比较笨的方法。现将程序简短贴出,大家一起学习。
console=`tty` case $console in /dev/tty0[1-9]|/dev/tty1[012]) echo "这里写入相应关机程序!" *) echo "这里是不允许在终端进行关机的提示!" esac 简单吧,不过也挺笨的,对吧??^_^ |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/