当前位置: 首页 > news >正文

贵州中小型营销型网站建设公司做家乡网站代码

贵州中小型营销型网站建设公司,做家乡网站代码,dede网站模版,网站建设的创意1.可行的Reboot方法 1.1 修改/etc/sudoers 假定当前用户是mimi#xff0c;增补这一行#xff1a; mimi ALL(ALL) NOPASSWD: ALL 这是为了免输指令。 sudoers文件尽量在覆盖前把它的权限改回去#xff1a; 原始权限 mimidebian-vm:~/test_app$ ls -l /tmp/sudoers -r--r-…1.可行的Reboot方法 1.1 修改/etc/sudoers 假定当前用户是mimi增补这一行 mimi ALL(ALL) NOPASSWD: ALL 这是为了免输指令。 sudoers文件尽量在覆盖前把它的权限改回去 原始权限 mimidebian-vm:~/test_app$ ls -l /tmp/sudoers  -r--r----- 1 root root 755 5月  30 16:04 /tmp/sudoers  赋权 sudo chmod 777 /tmp/sudoers 权限还原 sudo chmod 640 /tmp/sudoers 1.2 将用户加入sudo,root组 sudo usermod -aG sudo mimi sudo usermod -aG root mimi 1.3 python执行设备复位 subprocess.run(fsudo reboot, shellTrue)  #sudo -E reboot 2.进阶执行一个外部脚本 此时需要考虑相对路径的问题脚本里用得到.py所在目录进而得到.py主目录的方法实现也就是那个project_path 在示例代码中该.py位于python工程的一个下级目录。 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # 获取当前脚本文件所在目录的父目录并构建相对路径 import os import sys current_dir os.path.dirname(os.path.abspath(__file__)) project_path os.path.join(current_dir, ..) sys.path.append(project_path) sys.path.append(current_dir) import json import subprocess import shutil#推荐的执行外部指令的方法 def CMD_DOWNLOAD_APP(client:mqtt, fn, request_params):# 执行系统命令downloadapp_sh ./ext_ep/on_mqtt_message_download_app.shInvoke_Script(downloadapp_sh)def Invoke_Script(script_releated_path):sh_path os.path.join(project_path, script_releated_path)if(os.path.exists(sh_path)):subprocess.run(fsudo {sh_path}, shellTrue, checkFalse)return Truereturn Falsedef Get_Invoke_Environment(script_releated_path):subprocess.run(fsudo printenv feng.txt, shellTrue) #sudo -E rebootreturn True2.1 示例一个可用的远程升级.sh 这里包含了如下操作 脚本相对路径处理json配置读取ftp自动登陆下载过程免交互的处理tar升级过程。 #!/bin/bash echo this modle should download app from fix ftpserver, then tar zxvf, then reboot# 获取脚本所在的目录 script_dir$(dirname $0)# 切换至应用程序所在的目录 cd $script_dir/.. || exit# JSON文件路径 json_filecfg/device_private.json # 使用jq解析JSON文件 ftp_server$(jq -r .ota_ftp.ip $json_file) ftp_user$(jq -r .ota_ftp.user $json_file) ftp_pass$(jq -r .ota_ftp.pass $json_file) upload_dir$(jq -r .ota_ftp.upload_dir $json_file) # 本地保存路径 local_incoming_dir$(jq -r .ota_ftp.local_incoming_dir $json_file) app_root$(jq -r .ota_ftp.app_root $json_file) mkdir -p $local_incoming_dir mkdir -p $app_root# 登录FTP服务器 ftp -i -n $ftp_server END_SCRIPT quote USER $ftp_user quote PASS $ftp_pass lcd $local_incoming_dir cd $upload_dir bin mget *.tar.gz quit END_SCRIPT echo ftp download...# 获取最新的.tar.gz文件名 latest_file_local$(ls -t $local_incoming_dir/*.tar.gz | head -n 1) tar -xzf $latest_file_local -C $app_root echo extected!exit 0 注意那个jq这是一个sh用的json文件读取工具它支持全路径名 “.ota_ftp.ip”相当于 json[ota_ftp][ip] sudo apt-get install jq  3.未解决的问题 1.我无法把用户加入比如operator的某个支持交互式登陆的组让这个用户仅仅具备开关机权限。2.应用程序的执行用户可能是mimi但是subprocess的缺省用户是root...?然后这个确认用户root居然无法直接具备开关机权限。。。 附录A 调试方法 1.可以利用类似的语句刺探调用环境的信息 #subprocess.run(fsudo -u {exec_user} printenv  reboot_log.txt, shellTrue)
http://www.hkea.cn/news/14491245/

相关文章:

  • 建设网站有什么法律么网络广告营销的案例
  • 购物网站开发需求文档七牛云wordpress+代码
  • 中国建设培训网站查询系统江苏省建设工程管理局网站
  • 域名备案时网站名称兴安盟seo
  • 建设网站必须要服务器吗甘肃路桥建设集团公司网站
  • 网站设计要求有哪些音乐网站开发代码
  • php网站识别手机许昌永诚网络科技有限公司
  • 杭州网站建设q479185700棒网站设计协议
  • 域名注册网站那个好工业部网站备案
  • 建企业网站一般多少钱微网站开发技术
  • 网站搭建需要什么阳朔到桂林北
  • 做百度网站排安全联盟网站认证
  • 上海松江做网站多少钱怎么做网站加盟
  • 网站建设外包平台免费公司网站制作
  • 建好网站是不是每年都要交钱网站由哪些部分组成部分组成
  • 自己建网站要什么crm公司
  • 网站模板建设教程网站建设公司咨询电话
  • 南阳网站建设赛科企业展示型网站建设
  • 介绍一学一做视频网站吗网站开发工程师的职责
  • 网站建设实训报告心得体会网站建设要用到编程吗
  • 廊坊seo建站手机版网站建设合同
  • 长春网易网站建设网站参数设定
  • 数字营销技术应用网站深圳网站建设制作优化
  • 服装高端网站建设vue 做pc网站
  • 排名优化seo公司长沙百度推广排名优化
  • 售房网站模板做铝材哪些网站招聘
  • 白云区建材网站建设海口关键词优化报价
  • 网站设计与开发专家html网站建设方案
  • 丰金网络 做网站WordPress网站图片预加载
  • qq上网站做我女朋友网站建设网络营销平台 云搜系统