クライアントからサーバーに移動し、自動化された方法でサービスを停止するなどのルートレベルの操作を実行できるもの(特にLinuxボックス)はありますか? (サービスとは関係ありません)
例:サーバー側でdnsmasqを実行しているDHCPサーバーからクライアントにアドレスを発行します。クライアントはアドレスを受け取り、何らかの方法でサーバーに「大丈夫です。今、dnsmasqを停止できます」と言います。これは可能ですか?それでは、どうすればいいですか?
これは大きなセキュリティ抜け穴になることを十分に認識し、多くの場合、ある種の認証が必要であると推測しますが、これが可能かどうか疑問に思います。私はこれについてこの例を考えることはできません。
答え1
これを行う安全な方法はSSHを使用することです。クライアントが次のコマンドを実行できるように、サービス固有のユーザー(「dhcpkiller」)と秘密鍵と公開鍵のペアを作成します。
ssh dhcpkiller@dhcpserver pkill dnsmasq
この 1 行スクリプトは dhcp 環境によってトリガーされ、クライアントの DHCP ファミリに応じてさまざまな方法で発生する可能性があります。 dhclient/RHEL マンページ引用:
dhclientはREBOOT / BOUND状態で新しいIPアドレス、サブネットマスク、およびパスをインターフェイスにインポートし、すぐに実行可能ファイルが存在することを確認します
/etc/dhcp/dhclient-up-hooks script
。源泉 見つかった場合。このスクリプトは、環境でデフォルトで処理されないDHCPオプションを処理します。dhclientがクライアント構成スクリプトを呼び出す必要がある場合は、環境で変数セットを定義してから/ sbin / dhclient-scriptを呼び出します。すべての場合において、$reasonはスクリプトを呼び出した理由の名前に設定されます。現在定義されている理由は、MEDIUM、PREINIT、BOUND、RENEW、REBIND、REBOOT、EXPIRE、FAIL、STOP、RELEASE、NBI、およびTIMEOUTです。