Unix系统中知识讲解

系统 其他OS
我们在Unix系统中正常建立一halt用户,在建立时我们可以设置该用户为无口令用户。然后,用 vi 编辑器修改 /etc/passwd 文件。

在使用了很久的Unix系统后,我们应该知道在Unix系统中,超级用户掌握着系统的所有权限。但在某些情况下,我们希望普通用户也能执行关机命令,而不具备其它的超级权限。

为了使普通用户具备关机权限,我们需要创建一个专门进行关机的用户,将它的sh修改为我们指定的关机程序。具体操作如下:

首先,我们在Unix系统中正常建立一halt用户,在建立时我们可以设置该用户为无口令用户。然后,用 vi 编辑器修改 /etc/passwd 文件。将我们刚建立的 halt 用户一行的内容修改为:
halt:0:1:/etc:/etc/halt

即该用户具有超级用户权限,但是它的启动目录为/etc,执行的sh为我们指定的可执行程序/etc/halt,该执行文件的内容如下:
 

HALT_TERMINAL=`tty`  
case "$HALT_TERMINAL"   
in  
/dev/tty0[1-9]|/dev/tty1[012])  
w-h | fgrep -v halt >; /dev/null   
if [ $? = 0 ]  
then  
clear  
echo "\n\n\n\n\n\n"  
setcolor red black  
echo " [ 普通用户关机程序 ] ** 警告** "  
setcolor yellow black  
echo "以下用户未退出Unix系统无法自动关机。请选择关机方式:\n"  
echo " 注册用户注册终端号"  
w -h | fgrep -v halt | awk '{print " " $1 " " $2}'   
echo " \n\n "  
echo " 1: 中断关机程序。"  
echo " 2: 系统强行关闭计算机。(可能会造成数据丢失)\n\n"  
while true  
do  
echo -n " 请选择:"  
read select  
if test"$select"= 1  
then  
setcolor white black  
clear  
exit 1  
else  
if test "$select"=2  
then  
setcolor white black  
/etc/haltsys  
fi  
fi  
done  
else  
cd /usr/tmp  
rm -f *  
cd  
/etc/haltsys  
fi  
echo "\n\n 普通用户关机程序不能在终端上运行!!"  
esac  
exit 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.

将以上内容用vi编辑器编辑保存为 /etc/halt,并将该文件的权限修改为一般用户可读可执行即可。

这样,一般用户只需在“Login:”状态下输入halt 用户名,即可实现系统的自动关闭。当然,若此时系统中有其它用户尚未退出,则会给出提示信息,而不会自动强行关闭Unix系统。另外该关机用户在终端上不能关闭系统,这也提高了Unix系统的安全性。

【编辑推荐】

  1. Unix系统管理命令解析
  2. 文件和目录Unix命令讲解
  3. Unix操作系统增加新员
  4. 自动增加Unix网关方法讲解
  5. Unix操作系统重定向讲解
责任编辑:小霞
相关推荐

2010-05-04 09:45:28

Unix系统

2010-04-30 18:20:23

Unix系统

2010-05-05 15:02:39

Unix系统

2010-04-29 18:01:42

Unix服务器

2010-03-24 16:57:07

CentOS shel

2010-04-30 01:28:59

Unix系统

2010-05-06 09:26:44

Unix系统

2010-04-29 13:30:20

Unix操作系统

2010-04-20 11:34:26

Unix操作系统

2010-05-05 17:46:32

Unix文件系统

2010-05-06 14:24:56

Unix系统交换区

2010-05-11 18:03:28

2010-05-04 17:17:46

Unix类

2010-04-30 14:51:23

Unix系统

2010-05-05 13:13:55

Unix内核

2010-05-07 17:41:36

BSD Unix

2010-05-07 16:12:01

Unix系统

2010-04-19 17:34:02

Unix操作系统

2010-04-20 10:12:40

Unix操作系统

2010-04-19 17:47:59

Unix操作系统
点赞
收藏

51CTO技术栈公众号