美文网首页
在web界面上实现Linux关机、重启的功能

在web界面上实现Linux关机、重启的功能

作者: 苍蝇的梦 | 来源:发表于2019-03-20 19:55 被阅读0次

    2019-03-15 遇到的一点小问题
    公司要给设备增加web管理页面,页面只有关机和重启功能。我一看就一个web加两个按钮,就接下来了,没想到还挺复杂的。
    设备使用的Arch Linux,小型http服务器选用的mini_httpd
    环境搭建好后,就是html和Linux交互。搜索了下,看到这篇通过CGI实现在Web页面上执行shell命令,试了一下,能正常运行。
    .cgi文件不熟的可以参考这几篇文章,博主分了好几篇介绍,就是有点懒,没弄个目录,这里贴一下:1-编写运行第一个脚本2-Shell变量3-Shell特殊变量4-Shell数组5-shell替换 6-与用户交互7-Shell运算符8-shell注释9-shell注释10-printf11-if语句12-case语句13-for语句14-while语句15-until循环16-shell函数17-shell输入输出重定向18-shell文件引用包含

    编写shell命令,在js里执行就可以了。

    #!/bin/sh
    
    echo -e "Content-type: text/plain;charset=utf-8\n"
    result=`shutdown -h now`
    echo "$result"
    

    测试中遇到的问题就是权限问题,试了使用setuid更改脚本文件权限使用sudo命令执行,发现在Arch Linux上都挺麻烦的,先临时把mini_httpd的用户权限改高点,下次再试试别的方法。

    Failed to set wall message, ignoring: The name org.freedesktop.PolicyKit1 was not provided by any .service files
    Failed to reboot system via logind: The name org.freedesktop.PolicyKit1 was not provided by any .service files
    Failed to talk to init daemon.
    
    system management
    2019-03-21 遇到的一点小问题

    今天在测试cgi文件时遇到500 Internal Error错误Something unexpected went wrong running a CGI program.

    500 Internal Error
    找了一阵子原因才发现是我的.cgi文件没有执行权限,
    使用ls -ail命令打印如下:
    14286865 -rw-r--r-- 1 root root 93 Mar 21 09:57 wannoo.cgi
    使用命令增加文件执行权限
    chmod u+x wannoo.cgi
    使用ls -al命令打印如下:
    -rwxr--r-- 1 root root 93 Mar 21 09:57 wannoo.cgi
    再次测试后可以了。

    修改权限chmod u+x wannoo.cgi
    u 代表用户. g 代表用户组. o 代表其他. a 代表所有.
    +增加权限. -减少权限

    相关文章

      网友评论

          本文标题:在web界面上实现Linux关机、重启的功能

          本文链接:https://www.haomeiwen.com/subject/wmalmqtx.html