Shell script expect pdc
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

利用 shell script 與 expect 製作 PDC 新增帳號腳本 PowerPoint PPT Presentation


  • 64 Views
  • Uploaded on
  • Presentation posted in: General

利用 shell script 與 expect 製作 PDC 新增帳號腳本. 指導老師 : 蔡德明 組員 : 徐啟閎 李 平 李承鴻 林啟哲. 前言. 由於專題需要撰寫新增使用者的自動化腳本,但是新增帳號與同步資料庫的過程中有許多需要管理者手動輸入的地方 (EX. 輸入密碼 ) 這些部分如果單純的使用 SHELL SCRIPT 的話能達到的效果有限,於是經由老師建議便使用 EXPECT 來繼續撰寫腳本。. EXPECT.

Download Presentation

利用 shell script 與 expect 製作 PDC 新增帳號腳本

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Shell script expect pdc

利用shell script與expect製作PDC新增帳號腳本

指導老師:蔡德明

組員:徐啟閎

李 平

李承鴻

林啟哲


Shell script expect pdc

前言

由於專題需要撰寫新增使用者的自動化腳本,但是新增帳號與同步資料庫的過程中有許多需要管理者手動輸入的地方(EX.輸入密碼)這些部分如果單純的使用SHELL SCRIPT的話能達到的效果有限,於是經由老師建議便使用EXPECT來繼續撰寫腳本。


Expect

EXPECT

  • 用來進行自動化控制的工具軟體,常應用在需要進行交談的程序中例如sshscpftppasswd等…..,用來自動輸入原本需要操作者手動keyin的部分。


Shell script expect pdc

安裝

  • yum install expect


Expect1

EXPECT基本語法

  • spawn- 啟動expect監聽

  • expect-尋找關鍵字串

  • send-傳遞指定訊息

  • expect oef-關閉expect

  • Interact-結束expect後並轉交控制權


Shell script expect pdc

使用範例

  • #!/usr/bin/expect

  • spawn ssh 127.0.0.1-對ssh啟動expect

  • expect “password:”-尋找password:字串

  • send “123456“-做出回應

  • expect eof-關閉expect


Shell script expect pdc

實做於本專題-分析需求

  • 在巨無霸中新增使用者並且刷新nis資料庫使各教室server同步使用者帳號

  • 各教室server需個別將該使用者加入smaba中


Shell script expect pdc

實做於本專題-分析

  • 以下為此次腳本中需要進行交談的軟體程序

    • ssh

    • scp

    • sudo

    • passwd

    • smbpasswd

    • /usr/lib64/yp/ypinit -m


Shell script expect pdc

實做於本專題-解決方案

  • 針對各程序找出像應解決方案

    • ssh製作公私金鑰

    • scp製作公私金鑰

    • sudo從visudo中取消輸入密碼

    • passwd使用echo與|指令

    • smbpasswd使用expect

    • /usr/lib64/yp/ypinit –m到/var/yp中執行make指令

      (make –C /var/yp)


Shell script expect pdc

撰寫腳本-巨無霸

  • 巨無霸

    • #!/bin/bash

    • echo "$1" > newuser.txt

    • scp newuser.txt [email protected]:~

    • useradd -d /sbam/pdc_home/$1 $1

    • echo "${1}" | passwd --stdin $1

    • /usr/sbin/edquota -p pdcsample -u $1

    • cd /var/yp

    • make

    • cd ~

    • ssh -f [email protected] "sh smbadd.sh"


Server

撰寫腳本-教室SERVER

  • I2511SERVER-smbadd.sh

    • #!/bin/bash

    • for i in $(cat newuser.txt)

    • do

    • expect useradd.exp $i

    • done

  • I2511SERVER-useradd.exp

    • #!/usr/bin/expect

    • set username [lindex $argv 0]

    • spawn sudosmbpasswd -a $username

    • expect "New SMB password:"

    • send "$username\r"

    • expect "Retype new SMB password:"

    • send "$username\r"

    • expect eof


Shell script expect pdc

測試


Shell script expect pdc

測試-續

  • 新增meeting帳號


Shell script expect pdc

測試-結果


Shell script expect pdc

參考資料

  • http://phorum.study-area.org/index.php?topic=25948.0

  • http://zh.wikipedia.org/wiki/Expect#.E5.BC.8A

  • http://linux.chinaitlab.com/c/809655.html

  • http://linux.vbird.org/(NISsamba sshsudopasswd)


  • Login