Linuxオペレーティング・システム・コンフィギュレーション・スクリプトの信頼

++++++++++++++++++++++++++++++++++++++++++++++++++
タイトル:Linuxオペレーティングシステムの設定スクリプト相互信頼の
時間:2019年5月28日
++++++++++++++++++++++++++++++++++ ++++++++++++++++
mutual_trust.sh#個人信託の設定設定スクリプト
------------------------- -----------------------
#!は/ usr / binに/のenv bashの
#設定し相互信頼の
ブルースによる#v1.0の
#2019インディアン5越20 Riを

#は、ソフトウェアのインストール期待
のrpm -qaを| grepを期待&>は/ dev / nullの
場合は[$?-ne 0]。その後、
  yumを-y期待&>は/ dev / nullをインストールし
  た場合[$?-ne 0]。その後、
    エコー「期待のインストールに失敗しました...」
    退出
  Fi回線
Fiの

#はmuautl信頼ユーザーを作成
読みuser_informながら
DO
  のawk '{$ 1印刷}' `| root_ip =`エコー$ user_inform
  trust_users = `エコー$ user_inform | awkの'{$ 2印刷}'`
  trust_users_pass = `エコー$ user_inform |のawk「{印刷$ 3} ' `
  root_pass =`ますecho $ user_inform | awkは'{'} $ 4印刷`
  は/ usr / binに/期待<< - CREATEUSER
  スポーンsshのルート@ $のroot_ipは
  {期待
    "はい/いいえ"{送る"はい\ R"; exp_continue}
    "パスワード:" {} "$のroot_passの\ rを"送信
  }
  期待する"#" {
    「のidの$ trust_users &&エコー送信'$ trust_usersをある存在'(useraddの$ trust_users ||; $のtrust_users_passエコー| passwdの--stdin $ trust_users)\ R」
    "退出\ rを"送信
  }
  EOF期待
  CREATEUSER
行わ&>を/ dev / null </tmp/check/inform.txt

#SSH-keygenの作成
#は相互信頼についてのユーザー名を検索するためのローカルシステムIPADDRを見つける
グレップ'INET' | | grepの'ETH' | awkの'{$ 2印刷}' |知的財産`= key_ip "/"「のawk -Fを{$ 1印刷します} `
key_user =` grepの$ key_ip /tmp/check/inform.txt | AWK '{''} $ 2印刷する
ユーザが存在する場合#はkey_user_idにユーザのUIDを割り当て
たIDの$ key_user&>は/ dev / nullの
場合を[$ ?-ne 0]。次いで、
  "....の$ key_userが存在していない"エコー
  出口

  key_user_id = `のIDの$ key_user | AWK -F "(" '{$ 1印刷}' | AWK -F "=" '{$ 2印刷}'`
のfi
# UIDに基づいてユーザのホームディレクトリを決定し
、その後、[$ key_user_id -eq 0]場合を
  HOME_DIR =「/ルート」



#SSHキー作成するためのユーザーを変更
SU - $のkey_user << - EOF
[場合を!-f $ HOME_DIR /の.ssh / id_rsaと]。その後
  のssh-keygenは-P "" -f $ HOME_DIR /の.ssh / id_rsaと&>は/ dev / nullの
  場合は[$?-ne 0]。その後、
    エコー"のssh-keygenのを失敗した...作成"
    の出口
  Fi回線
Fiの
EOFを

#設定は、一方向の信頼関係は、
読み込んだ行が、一方で
ください
#は、ホストのグループについての情報を得る
のgrep 'のinet' | | grepの'ETH' | awkの'{$ 2印刷}' | { "/"」awkの-Fをlocal_ipを= `腹腔$ 1印刷} ' `
local_trust_user =` grepの$ local_ipを/tmp/check/inform.txt | AWK' {} $ 2印刷`
trust_ip =`エコー$行| AWK '{'} $ 1印刷`
trust_user =`エコー$ライン| awkの{$ 2印刷} ' `
trust_password =`エコー$行を|のawk '{$ 3印刷}' `
他のホストへのSSHキーコピーするためのユーザーTHER#変更
suコマンドを- $のlocal_trust_user << - ENDCOMMAND
  は/ usr / binに/期待します< <-EOF
  産卵のssh-コピー-ID $ trust_user @ $ trust_ip
  {期待
    "はい/いいえ" {送る"はい\ R";exp_continue}
    "パスワード:" {} "$のtrust_passwordの\ rを"送信
  }
  EOF期待
  EOF
ENDCOMMAND
>を/ dev / null&行なわ</tmp/check/inform.txt
------------------------------ --------------

 

start.sh#信託は、スタートアップスクリプトを設定します
------------------------------------------ - #
は/ usr / binに/のenv !bashの
#リモートのconfigureその他ワンウェイ相互信頼の
ブルースによる#v1.0の
#2019インディアン5越20 Riを

#コールスクリプトmutual_trust.shの
バッシュ/tmp/check/mutual_trust.sh

#セパレーターを再定義し
IFS_OLD = $ IFS
IFS =」
"

#コンフィギュレーション相互信頼とexec mutual_trust.shについてリモートいくつかのファイル
の猫を/ tmp /チェック/ inform.txt` `に知らせるため
です
#が$知らせるエコー
#は相互信頼についてのユーザー名を検索するためのローカルシステムIPADDR見つける
グレップ| = key_ip`を腹腔'INET' |はgrep 'ETH' | AWK 'は、{$ 2印刷}' | AWK -F "/" '{$ 1印刷}' `
key_user =` grepの$ key_ip /tmp/check/inform.txt | AWK「{$ 2印刷} `
` {} $ 1印刷| AWKエコー$ hosts_ip = `知らせる'
エコー$ hosts_user =`知らせる| AWK' {} $ 2印刷`
エコー$ hosts_root_pass =`知らせる| AWKは'{''} $ 4印刷する
場合[ "$のhosts_ip" = "$のkey_ip"]!;その後、
  1寝

  継続
Fi回線
#リモートいくつかのファイル変換
の$ key_user << - - START suと
  SSH $ hosts_user @ $ hosts_ip << - EOF
  ます。mkdir / tmpに/チェック
  EOF
  のscp -r /tmp/check/mutual_trust.sh $ hosts_user @ $ hosts_ip:/tmp/check/mutual_trust.sh
  のscp -rを/ tmp /お知らせ/チェック.txtの$ hosts_user @ $ hosts_ip:/tmp/check/inform.txt
START
#幹部nutual_trust.sh
は/ usr / binに/期待<< - SSHROOT
  スポーンsshのルート@ $のhosts_ipは
  {期待
    "はい/いいえ" {\ yes」を送りますR ";} exp_continue
    "パスワード:$のhosts_root_passの\ rを"{送信は""}
  }
  期待する"#"{
    / CDを/ tmp /小切手を送る"; SH /tmp/check/mutual_trust.sh\r"
    RM -rfを送ります" / tmp /チェック/ \ r」が
    終了する\ rを送信""
  }は、
  EOF期待
SSHROOT
行わ&>を/ dev / null </tmp/check/inform.txt

#セパレーター復元
IFS = $ IFS_OLDを
-----------------------------------------


#サーバー情報inform.txt
-----------------------------------------
192.168。トムトムwxsec.com 44.100
192.168.44.150トムトムのwxsec.com
192.168.44.200トムトムwxsec.com
---------------------------- -------------

 

README.TXT#スクリプトは、ガイダンス文書を使用しています
-----------------------------------------
1 :スクリプトファイルには、次のものが含まれてい
start.sh#相互信頼をし、起動スクリプトの設定
mutual_trust.sh#-way信託設定スクリプトを
#configureコントラスト設定ファイルinform.txt
のreadme.txt#スクリプトは、ガイダンス文書を使用しています

2.概要説明:
設定内容は4つの列に分かれています。
最初の列:ホストのホスト名またはIPアドレス、ホスト名ならば、あなたは手動でアドレス解決hostsIPに設定する必要がある
2列目:usernameは、相互の信頼関係を設定する必要がありますが、スクリプト相互信頼を作成し、ユーザーのに基づいてユーザーに提供するために
3列目:必要な相互信頼とユーザーパスワードを設定し、スクリプトが自動的にアカウントのパスワードに追加された
ユーザのホストのrootパスワード、実行のルートを使用する必要の一部を操作しやすい:4列目

3.スクリプトはメソッド使用します:
#タールzxvf mutual_trust.tar.gz
##のvim inform.txt編集をし、プロファイルの設定
#1のsh start.shを

4.注:
信頼を完了した後、スクリプトは自動的にそのディレクトリ内の/ tmp /チェックファイルやスクリプトの設定によって作成された足自体がクリアされます。
しかし、ローカルスクリプトの実行サーバーは自動的に、情報漏洩を防止するために、サーバーを削除し、相互信頼とディレクトリにローカルの/ tmp /チェックとファイルを削除し、手動での設定に従っていません。
中級スクリプトは、情報がそのようなすべての情報を処理する必要があるとして、中ヌルヌルデバイス/ dev /にリダイレクトされている出力、あなたは.SHスクリプトファイルを開くことができますリダイレクトを削除することができます。
------------------------------------------

おすすめ

転載: www.cnblogs.com/lv1572407/p/10939171.html