大型企业 Unix 服务器的自动化运维ITeye - 威尼斯人

大型企业 Unix 服务器的自动化运维ITeye

2019年03月04日09时42分14秒 | 作者: 澄邈 | 标签: 程序,一个,脚本 | 浏览: 1666

 

考虑如下事例状况:有一批客户服务器需求做一个改变,将 sudoer 配置文件从 /etc/sudoer 目录搬移备份到 /usr/local/etc/sudoer 目录,由于该配置文件比较重要,需求 root 权限才干履行搬移操作,该客户服务器也选用 SSHD 协议,不允许 ftp/telnet 等的登录。

 

该状况下上文所说到的第二种方法 Java 开源包已不适用,因在 shell 进程下当切换用户尤其是 sudo 到 root 时,会 fork 一个新的进程,sudo 到 root 的会话在新的进程中进行,而 Java 开源包是限定在一个会话中的,履行 sudo 操作后,新的进程现已脱离了 Java 开源包的操控,这时候再试图用 Java 开源来履行后续指令,将会报错。

 

此类需求切换用户的状况下咱们选用 Expect 脚原本进行模仿交互。

 

在这里将 Expect 脚本简介如下:

 

Expect 运用 Tcl 作为言语中心。不仅如此,不论程序是交互和还对错交互的,Expect 都能运用。这是一个小言语和 Unix 的其他东西配合起来发生强壮功用的经典比如。Expect 是一个操控交互式程序的东西。它处理了上述需求用户人物转化的问题,用非交互的方法完成了一切交互式的功用。关于 Tcl 言语的内容超出了本文的领域,有爱好的读者请拜见参阅资源。

 

Expect 被规划成专门针和交互式程序的交互。一个 Expect 程序员能够写一个脚原本描绘程序和用户的对话。接着 Expect 程序能够非交互的运转“交互式”的程序。写交互式程序的脚本和写非交互式程序的脚本相同简略。Expect 还能够用于对对话的一部分进行自动化,由于程序的操控能够在键盘和脚本之间进行切换。

 

简略的说,Expect 脚本是用一种解释性言语写的。( 也有 C 和 C++ 的 Expect 库可供运用,但这超出了本文的规模 ).Expect 供给了创立交互式进程和读写它们的输入和输出的指令。它是在 Tcl 基础上创立起来的,并供给了一些 Tcl 所没有的指令。

 

关于 Expect 脚本的具体介绍,有爱好的读者能够参阅 文章。

 

编写 Expect 脚本的根本方法如下:


 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表威尼斯人立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章