笔者自己新增的一个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 简单吧,但是也挺笨的,对吧??^_^ |
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




