オプション 5 - Use Restricted Shell

このセクションでは、 のメイン メニューの[Gateway System Settings]オプションのオプション 5 (Use Restricted Shell)について説明します。
gateway94
このセクションでは、
のメイン メニューの[Gateway System Settings]オプションのオプション
5
(Use Restricted Shell)について説明します。
このオプションでは、オプション 1 ~ 4 を使用して以前に行ったシステム設定を迅速に表示または更新します。 制限付きシェルでは、設定ウィザードを使用せずに、かつ
root
ユーザとしてログインする必要もなく、コマンドを入力して、1 つまたは複数のシステム設定を迅速に更新できます。
制限付きシェルは、root アクセス権を必要とする Linux コマンドを実行するのに使用される特権シェルとは異なります。
廃止された制限付きシェル コマンド
Gateway バージョン 10.0 から、「キーボード」、「ネットワーク」、「インターフェース」の各アイテムを操作する基本サービス関連の制限付きシェル コマンドが廃止されました。 これらのコマンドを実行しようとすると、次のシステム メッセージが表示されます。
This command is no longer supported. Please configure through the SSG Configuration Wizard.
制限付きシェルの機能
制限付きシェルには以下の機能があります。
タブ補完
コマンド名の先頭の数文字を入力した後に Tab キー を押すと、制限付きシェルは、コマンドの補完を試行します。 この機能は、コマンドの正確な名前を思い出せない場合に役立ちます。 コマンドを入力せずに Tab キーを押すと、使用可能なすべてのコマンドが表示されます。 サブシェル内で Tab キーを押すと、そのコマンドの引数およびオプションを補完します(可能な場合)。
サブシェル
制限付きシェルには、選択されたサブシェルに有効なコマンドのみにさらに制限したサブシェル機能があります。 たとえば、「service」サブシェルに切り替えると、サービス関連のサブシェル コマンドのみを受理します。また、Tab キーを押すと、関連するサブシェル コマンド(例: 「disable」、「enable」など)が表示されます。
サブシェルに切り替えるには、制限付きシェルでその名前を入力した後、そのサブシェルの 1 つまたは複数のコマンドを入力します。
サブシェルのコマンドをすぐに実行するには、以下の構文を使用します。
<sub-shell>:<command>
たとえば、現在のバナー メッセージを表示するには、「banner:show」と入力します。
サブシェルが有効であることを表すように、プロンプトが更新されます。以下に例を示します。
説明
  • 「ssgconfig」はログインしているユーザの名前です
  • 「fst」は「Foundation Services」(基本サービス)を意味しています
  • 「<sub>」はサブシェルの名前です
コマンド履歴
以前に実行したコマンドを表示するには、上方向キーまたは下方向キーを押します。 また、「
history
」コマンドを使用して、使用可能なコマンド履歴をすべて表示できます。 コマンドが成功したかどうかに関係なく、実行したすべてのコマンドがリスト表示されることに注意してください。
簡単な方法で履歴リストからコマンドを再度実行できます。 「!<number>」(「<number>」は、履歴リスト内でのコマンドの番号)と入力します。 たとえば、「!499」と入力すると、499 番のコマンドが再度実行されます。
コマンドのヘルプ
制限付きシェルのすべてのコマンドで、以下のヘルプ オプションがサポートされています。
--help
いつでもこのオプションを使用して、コマンドに関する詳細情報を参照できます。
コマンド実行時にエラーが表示される場合は、--help
を追加するだけで、エラーを抑制して、ヘルプ メッセージを表示できます。ヘルプ オプションを単独で入力する必要はありません。
パラメータの理解
コマンド構文で、角かっこ([ ])で囲まれているパラメータはオプションです。 [options] があるコマンドで、必ず指定する必要があるオプションは説明に「(必須)」と明記されています。
コマンド構文は以下の形式です。
[subshell]:command [options] param1 [param2]
説明
  • [subshell]
    は、コマンドが存在するサブシェルの名前です。 たとえば、リビジョン管理コマンドはサブシェル「revision」にあります。
  • command
    は、コマンドの名前です。
  • [options]
    は、コマンドの動作を変更するために指定できる 1 つ以上のオプションです。
    必ず指定する必要があるオプションは、説明に「(
    必須
    )」と明記されています。 すべてのコマンドにオプションがあるとは限りません。
    オプションは、シングル ダッシュ(-)またはダブル ダッシュ(--)のいずれかで表されています。 シングル ダッシュはオプションの省略形(1 文字)で、ダブル ダッシュは詳細バージョンです。 オプションは、コンテキストに応じて、異なる方法で指定されます。
    たとえば、RADIUS 認証のタイムアウト時間を設定するには、以下のコマンドを使用します。
auth-radius:update --timeout=30
しかし、このタイムアウト値を削除するには、以下の構文を使用します。
auth-radius:delete --timeout
値を必要とするオプションは、いくつかの方法で指定できます。たとえば、以下の指定方法はすべて有効です。
network:update --enableIpv6=true network:update --enableIpv6=yes network:update --enableIpv6 true network:update --enableIpv6 yes
  • param1
    は、必須パラメータを表します
  • [param2]
    は、オプションのパラメータを表します
スペース文字をエスケープするには「\」を使用します。
制限付きシェルのコマンドの実行
制限付きシェルのコマンドを実行する方法
  1. Gateway のメイン メニューからオプション
    1
    (Use Restricted Shell)を選択します。
    制限付きシェルが開き、CA のブランド情報およびいくつかのシステム情報が表示されます。
  2. システム設定を行うためのコマンドを入力します。 ヒント:
  • 使用可能なすべてのコマンドのリストを表示するには、Tab キーを押します
  • 任意のコマンドの詳細な説明を表示するには、以下のように入力します。
[shell]
:
[command]
- -help
[shell] の部分は省略できます。 以下に例を示します。
shell:grep --help
grep --help
制限付きシェル コマンドを実行するとすべての変更が失われるため、Gateway 設定ファイルを手動で編集しないでください。
セキュリティのために、制限付きシェルを使用する場合、CAT、HEAD、および TAIL コマンドではバッククォート文字(')の使用は無効にされています。
基本コマンド
すべての基本コマンドには、
shell
サブシェルからアクセスします。
リビジョン管理コマンド
リビジョン管理機能は、以下のディレクトリに格納されている Gateway の設定に加えられた変更を自動的に追跡します。
l7-config/.git
リビジョン マネージャ コマンドには、
revision
サブ シェルからアクセスします。
Command
説明
revision: diff
オブジェクトのバージョン間の変更を表示します。
revision: list
すべての管理対象設定ファイルをリスト表示します。
revision: log
管理対象オブジェクトのすべてのリビジョン履歴をリスト表示します。
revision: restore
管理対象オブジェクトを以前のバージョンに戻します。
revision: show
管理対象オブジェクトの内容を表示します。
システム設定コマンド
システム設定コマンドを使用して、以下のコンポーネントを管理します。
  • システム時刻
    ��(
    /etc/ntp.conf、/etc/sysconfig/clock
    に格納)
  • バナー メッセージ
    /etc/motd
    に格納)
すべての変更は、リビジョン管理機能によって追跡されます。
システム設定コマンドは、それぞれ固有のサブシェル(timezone、banner)に分類されます。
Command
説明
timezone: list
システムで使用可能なタイム ゾーンをリスト表示します。
timezone: show
現在のシステム タイムゾーンを表示します。
timezone:update
システム タイムゾーンを更新します。
banner: show
表示される現在のバナー メッセージを表示します。
banner: update
表示されるバナー メッセージを更新します。
ネットワーク設定コマンド
ネットワーク設定コマンドを使用して、以下のコンポーネントを管理します。
  • ホスト設定
    /etc/hosts
    に格納)
  • DNS 設定
    /etc/dhcp/dhclient.conf、/etc/resolv.conf
    に格納)
  • 静的ルート
    /etc/sysconfig/network-scripts/route-{xxx}
    に格納。{xxx} はインターフェース名)
すべての変更は、リビジョン管理機能によって追跡されます。
ネットワーク設定コマンドは、それぞれ固有のサブシェル(host、dns、route)に分類されます。
Command
説明
host: add
ホストを追加します。
host: delete
ホストを削除します。
host: show
現在のホストを表示します。
host: update
ホストを更新します。
dns: add
DNS サーバを追加します。
dns: delete
DNS 設定を削除します。
dns: show
現在の DNS 設定を表示します。
dns: update
DNS 設定を更新します。
route: add
静的ルート設定を追加します。
route: delete
静的ルートを削除します。
route: show
現在の静的ルート設定を表示します。
route: update
静的ルートを更新します。
認証設定コマンド
認証設定コマンドを使用して、マシンでのユーザの認証方式を設定します。 これらのコマンドでは以下のシステム ファイルが更新されます。
/etc/openldap/ldap.conf
/etc/nslcd.conf
/etc/nsswitch.conf
/etc/pam_radius.conf
/etc/pam.d/sshd
/etc/pam.d/login
/etc/sysconfig/authconfig
LDAP または LDAP_RADIUS が選択されていて、グループ ID が入力されている場合は、
/etc/sudoers
ファイルも更新されることに注意してください。
すべての変更は、リビジョン管理機能によって追跡されます。
認証設定コマンドは、それぞれ固有のサブシェル(authentication、auth-radius (RADIUS 方式の場合のみ)、および auth-ldap (LDAP または LDAP-RADIUS 方式の場合のみ))に分類されます。
RADIUS および(または) LDAP を使用して認証する際、RADIUS または LDAP と通信できない場合や認証が失敗した場合は、ローカル認証が使用されます。
Command
説明
authentication: show
現在の認証設定を表示します。
auth-radius: delete
Radius の認証設定フィールドを削除します。
auth-radius: update
Radius の認証設定フィールドを設定します。
auth-ldap: delete
LDAP の認証設定フィールドを削除します。
auth-ldap: update
LDAP の認証設定フィールドを更新します。
制限
制限付きサービス機能を使用して、
initd
サービスおよび
upstart
サービスを管理します。
すべての制限付きサービス コマンドには、
service
サブシェルからアクセスします。
Command
説明
service: disable
システム起動からシステム サービスを無効にします。
service: enable
システム起動時にシステム サービスを有効にします。
service: list
使用可能なシステム サービスをリスト表示します
service: restart
システム サービスを再起動します
service: start
システム サービスを起動します
service: status
システム サービスのステータスを取得します。
service: stop
システム サービスを停止します
設定インポート/エクスポート コマンド
設定インポート/エクスポート サブシステムでは、JSON ドキュメントで定義される管理対象の設定をインポートおよびエクスポートする機能を提供します。 エクスポートした設定を使用して、別のシステムにインポートするか、または変更した後に元のシステムにインポートすることができます。 インポートおよびエクスポートできるフィールドは、管理対象の設定に依存します。
nonImportableFields
プロパティで指定されていない場合、デフォルトでは、すべてのフィールドがインポートされます。 このプロパティが指定されていないかまたは空である場合は、すべてのフィールドがインポートされ、そうでない場合は、このプロパティで指定されているフィールド名を除外してインポートされます。
以下の例は、
hardwareAddress
dhcpHostname
の 2 つのフィールドが
nonImportableFields
リストに追加されているインポート対象のオブジェクトのペイロードを示しています。
"com.l7tech.platform.network.dto.NetworkInterfaces" : { "interfaces" : { "ssg_eth0" : { "nonImportableFields" : ["hardwareAddress", "dhcpHostname"], "protocol" : "DHCP", "device" : "ssg_eth0", "name" : null, "dhcpHostname" : "myapp ", "hardwareAddress" : "00:0C:29:6D:75:56", "onBoot" : true, "ipv4" : null, "ipv6" : null }
インポート/エクスポート設定コマンドには、
configuration
サブ シェルからアクセスします。
制限付きシェルとメニュー オプションの違い
制限付きシェルのコマンドを実行する場合
  • export コマンドは、エクスポートする設定を表示するだけで、実際にエクスポートを実行するわけではありません。 このコマンドを使用して、実際にエクスポートする前に、エクスポート設定を確認します。
  • import コマンドは、JSON テキストのバンドルをシステムに個別にインポートします。
    注:
    "Import" コマンドでは、すべての特殊文字をエスケープする必要があるため、このコマンドの使用は推奨されていません。 代わりに、オプション
    7
    (Import configuration)を使用してください。
メニュー オプションを使用する場合
  • export オプションは、管理対象の設定が含まれるペイロード ファイルを作成します。
  • import オプションは、ペイロード ファイルから内容をインポートします。 特殊文字のエスケープは必要ありません。