国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種Linux命令行的封裝方法

      文檔序號:10534559閱讀:1944來源:國知局
      一種Linux命令行的封裝方法
      【專利摘要】本發(fā)明涉及一種Linux命令行的封裝方法。本發(fā)明的基本步驟是:1:設(shè)置無密碼啟動(dòng)命令行封裝工具;2:命令行解析;3:讀取解析配置文件;4:加載過濾器文件的過濾對象;5:匹配命令行過濾對象;6:封裝命令行;7:執(zhí)行命令行。本發(fā)明解決了應(yīng)用程序根據(jù)不同的使用場景需要對Linux命令行進(jìn)行封裝的問題,提供一種通用的Linux命令行封裝工具,避免重復(fù)開發(fā)這些組件的成本;可應(yīng)用于由多種計(jì)算機(jī)編程語言開發(fā)的應(yīng)用程序?qū)γ钚械姆庋b。
      【專利說明】
      一種L i nux命令行的封裝方法
      技術(shù)領(lǐng)域
      [0001] 本發(fā)明涉及系統(tǒng)命令處理技術(shù)領(lǐng)域,特別是一種Linux命令行的封裝方法。
      【背景技術(shù)】
      [0002] -般的云計(jì)算平臺一般有可能多種語言開發(fā)而成,而基于Linux操作系統(tǒng)的云計(jì) 算平臺組件通常是調(diào)用不同的命令行,為了支持多個(gè)不同版本的Linux,并以非特權(quán)身份啟 動(dòng)這些組件進(jìn)一步保證資源隔離。而云平臺的組件調(diào)用命令行存在以下的問題:
      [0003] -是部分Linux命令在不同的版本所在的路徑不是完全一樣,有些命令支持在任 何路徑都可以執(zhí)行,有些卻不支持。
      [0004]二是以非特權(quán)身份啟動(dòng)的組件調(diào)用命令行的時(shí)候,有時(shí)候也需要root用戶執(zhí)行。
      [0005] 三是這樣做不容易維護(hù),而且不能進(jìn)行復(fù)雜的參數(shù)處理
      [0006] 四是命令行調(diào)用的時(shí)候都需要輸入密碼
      [0007] 五是各種計(jì)算機(jī)編程語言開發(fā)的應(yīng)用程序重復(fù)開發(fā)封裝工具的問題。

      【發(fā)明內(nèi)容】

      [0008] 本發(fā)明解決的技術(shù)問題在于提供一種Linux命令行的封裝方法,解決了重復(fù)開發(fā) 多種封裝Linux命令行工具、不支持調(diào)用多個(gè)版本的Linux操作系統(tǒng)命令行、非特權(quán)身份啟 動(dòng)的組件調(diào)用命令行的時(shí)候不能支持root用戶執(zhí)行、命令行調(diào)用的時(shí)候都需要輸入密碼等 問題。
      [0009] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:
      [0010] 所述的方法包括如下步驟:
      [0011] 步驟1:設(shè)置無密碼啟動(dòng)命令行封裝工具;
      [0012] 步驟2:命令行解析;
      [0013] 步驟3:讀取解析配置文件;
      [0014] 步驟4:加載過濾器文件的過濾對象;
      [0015] 步驟5:匹配命令行過濾對象;
      [0016] 步驟6:封裝命令行;
      [0017] 步驟7:執(zhí)行命令行。
      [0018] 所述的步驟1是在Linux的/etc/sudoers . d/目錄下新增一個(gè)或多個(gè)文件,用來允 許一個(gè)或多個(gè)用戶以root用戶免輸入密碼情況下執(zhí)行命令行封裝工具;
      [0019] 所述的步驟2是調(diào)用命令行封裝工具,參數(shù)是用戶本來想調(diào)用的Linux命令行,其 格式為:封裝工具的名稱+空格+封裝工具的配置文件路徑+空格+Linux命令+空格+參數(shù);根 據(jù)格式解釋其中的內(nèi)容;
      [0020] 所述的步驟3是解釋命令行封裝工具所用到的配置文件,獲取過濾器文件所在的 目錄;
      [0021] 所述的步驟4是過濾器文件所在的目錄下所有過濾器文件,解釋并加載其包含的 過濾對象;
      [0022] 所述的步驟5是根據(jù)命令行解析的Linux命令名稱需找其對應(yīng)的過濾對象,若找不 到就默認(rèn)root用戶名執(zhí)行;
      [0023] 所述的步驟6是根據(jù)用戶調(diào)用提供的參數(shù)以及配置文件提供的參數(shù)整合新的參 數(shù),命令行最終為sudo-u用戶名Linux命令新的參數(shù);
      [0024] 所述的步驟7是創(chuàng)建一個(gè)新的子進(jìn)程來執(zhí)行封裝后的命令行,并等待其運(yùn)行結(jié)束, 當(dāng)獲取到命令行執(zhí)行返回結(jié)果后退出這個(gè)子進(jìn)程。
      [0025] 所述的過濾器文件上有一行或多行描述過濾對象的語句,每行記錄包括Linux命 令名稱、過濾對象的名稱、Linux命令執(zhí)行路徑、用戶名、過濾對象參數(shù);
      [0026] 所述的過濾對象,包括常規(guī)命令行、正則表達(dá)式、文件路徑、殺掉進(jìn)程、讀取文件、 IP相關(guān)等多種常用的過濾對象;每個(gè)過濾對象的匹配方式不一樣。
      [0027] 本發(fā)明將命令行封裝成一個(gè)工具,其他應(yīng)用程序調(diào)用命令行封裝工具就能使用, 區(qū)別其他Linux命令行封裝只適用于自身組件或同一種計(jì)算機(jī)編程語言開發(fā)的組件;可以 支持多種常用的過濾對象,區(qū)別于一般的Linux命令行封裝工具。通過本發(fā)明適用于Linux 命令行封裝的方法,解決了重復(fù)開發(fā)多種封裝Linux命令行工具、不支持調(diào)用多個(gè)版本的 Linux操作系統(tǒng)命令行、非特權(quán)身份啟動(dòng)的組件調(diào)用命令行的時(shí)候不支持root用戶執(zhí)行、命 令行調(diào)用的時(shí)候都需要輸入密碼等問題。
      【附圖說明】
      [0028] 下面結(jié)合附圖對本發(fā)明進(jìn)一步說明:
      [0029] 圖1為流程圖。
      【具體實(shí)施方式】
      [0030] 本發(fā)明的實(shí)施方式有多種,這里以云平臺為例說明其中一種實(shí)現(xiàn)方法,流程圖如 圖1所示,具體實(shí)施過程如下:
      [0031 ] 1、首先在Linux的/etc/sudoers. d/目錄下新增一個(gè)或多個(gè)文件,用來允許一個(gè)或 多個(gè)用戶以root用戶免輸入密碼情況下執(zhí)行命令行封裝工具 [0032] 2、命令行解析; r 1 t.
      [0034] 3、讀取解析配置文件;
      【主權(quán)項(xiàng)】
      1. 一種Linux命令行的封裝方法,其特征在于:所述的方法包括如下步驟: 步驟1:設(shè)置無密碼啟動(dòng)命令行封裝工具; 步驟2:命令行解析; 步驟3:讀取解析配置文件; 步驟4:加載過濾器文件的過濾對象; 步驟5:匹配命令行過濾對象; 步驟6:封裝命令行; 步驟7:執(zhí)行命令行。2. 根據(jù)權(quán)利要求1所述的Linux命令行的封裝方法,其特征在于: 所述的步驟1是在Linux的/etc/sudoers . d/目錄下新增一個(gè)或多個(gè)文件,用來允許一 個(gè)或多個(gè)用戶以root用戶免輸入密碼情況下執(zhí)行命令行封裝工具; 所述的步驟2是調(diào)用命令行封裝工具,參數(shù)是用戶本來想調(diào)用的Linux命令行,其格式 為:封裝工具的名稱+空格+封裝工具的配置文件路徑+空格+Linux命令+空格+參數(shù);根據(jù)格 式解釋其中的內(nèi)容; 所述的步驟3是解釋命令行封裝工具所用到的配置文件,獲取過濾器文件所在的目錄; 所述的步驟4是過濾器文件所在的目錄下所有過濾器文件,解釋并加載其包含的過濾 對象; 所述的步驟5是根據(jù)命令行解析的Linux命令名稱需找其對應(yīng)的過濾對象,若找不到就 默認(rèn)root用戶名執(zhí)行; 所述的步驟6是根據(jù)用戶調(diào)用提供的參數(shù)以及配置文件提供的參數(shù)整合新的參數(shù),命 令行最終為sudo-u用戶名Linux命令新的參數(shù); 所述的步驟7是創(chuàng)建一個(gè)新的子進(jìn)程來執(zhí)行封裝后的命令行,并等待其運(yùn)行結(jié)束,當(dāng)獲 取到命令行執(zhí)行返回結(jié)果后退出這個(gè)子進(jìn)程。3. 根據(jù)權(quán)利要求2所述的Linux命令行的封裝方法,其特征在于: 所述的過濾器文件上有一行或多行描述過濾對象的語句,每行記錄包括Linux命令名 稱、過濾對象的名稱、Linux命令執(zhí)行路徑、用戶名、過濾對象參數(shù); 所述的過濾對象,包括常規(guī)命令行、正則表達(dá)式、文件路徑、殺掉進(jìn)程、讀取文件、IP相 關(guān)等多種常用的過濾對象;每個(gè)過濾對象的匹配方式不一樣。
      【文檔編號】G06F9/445GK105893089SQ201610196624
      【公開日】2016年8月24日
      【申請日】2016年3月30日
      【發(fā)明人】馬桂成, 楊松, 季統(tǒng)凱
      【申請人】國云科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1