社区编辑申请
注册/登录
让UNIX普通用户具备关机权限
系统 其他OS
在UNIX系统中的某些情况下,我们非常希望普通用户也能执行关机命令,而不具备其它的超级权限,本文就是来教用户如何实现上述功能。

UNIX系统中,超级用户掌握着系统的所有权限,关机命令也是其中非常重要的一项权限。但在某些情况下,我们非常希望普通用户也能执行关机命令,而不具备其它的超级权限。

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

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

halt:x:0:1:/etc:/etc/halt

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

 

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

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

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

【编辑推荐】

  1. Unix系统安全中作为root运行的程式
  2. Linux/Unix操作系统处于内网的桌面控制
  3. Nagios监控Linux和Unix服务器-安装步骤
  4. 英特尔下一代安腾亮相 Unix市场竞争惨烈
  5. 热门:IBM DB2 for Linux, UNIX, and Windows

 

责任编辑:冯宇 来源: 博客园
相关推荐

2022-05-25 10:04:43

Go编程

2022-05-23 09:18:55

RocketMQ存储中间件

2022-04-05 11:29:40

Linux安装操作系统

2022-05-16 15:35:00

漏洞黑客

2022-04-29 09:10:25

MobaXterm软件Linux

2022-05-16 08:33:54

漏洞微软安全补丁

2022-05-06 11:56:27

元宇宙大会

2022-05-20 11:25:59

中台计算数据

2022-05-09 16:33:03

EDR终端安全

2022-04-26 08:41:54

JDK动态代理方法

2022-05-08 23:13:43

零信任网络安全

2022-04-29 08:00:36

web3区块链比特币

2022-04-11 07:34:46

OAuth2UAA节点

2022-03-29 15:17:51

数据安全网络安全

2022-05-02 18:15:04

KubernetesLinux开源

2022-04-14 10:22:30

NginxLinux

2022-04-21 09:26:41

FastDFS开源分布式文件系统

2022-04-12 15:09:27

数据安全电子邮件安全

2022-04-24 12:46:59

网络安全威胁事件安全运营

2022-04-26 07:49:23

Nagios开源监控

同话题下的热门内容

谷歌为 Chrome OS 和浏览器推出新的 IT 安全集成

编辑推荐

软件卸载不干净怎么办?智能卸载轻松搞定!苹果凌晨1点最新推送iOS 11正式版 如何使用 printf 来格式化输出CentOS Linux 已死—Red Hat 称 Stream 不是替代品BIO、NIO 到多路复用的演进路径,你明白了吗?
我收藏的内容
点赞
收藏

51CTO技术栈公众号