BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

rbash –実用的な例で説明された制限付きBashシェル

Linuxシェル 最も魅力的で強力なGNUの1つです / Linux 電動工具。 Xを含むすべてのアプリケーション はシェル上に構築されており、Linuxシェルは非常に強力であるため、それを使用してLinuxシステム全体を正確に制御できます。 Linuxシェルのもう1つの側面は、システムコマンドを実行すると、その結果を知らずに、または無意識のうちに、潜在的に有害になる可能性があることです。

rbash –実用的な例で説明された制限付きBashシェル rbash –実用的な例で説明された制限付きBashシェル

無知なユーザーであること。この目的のために、制限付きシェルを導入しています。制限付きシェルの詳細、実装されている制限などについて説明します。

rbashとは何ですか?

制限付きシェル は、bashシェルの機能の一部を制限するLinuxシェルであり、名前から非常に明確です。制限は、制限付きシェルで実行されるコマンドとスクリプトに対して適切に実装されています。 Linuxでシェルをbashするためのセキュリティのための追加のレイヤーを提供します。

rbashに実装されている制限

  1. cdコマンド(ディレクトリの変更)
  2. パス(設定/設定解除)
  3. ENV別名BASH_ENV(環境設定/設定解除)
  4. インポート機能
  5. 引数「/」を含むファイル名を指定する
  6. 引数‘-‘を含むファイル名を指定する
  7. >」を使用して出力をリダイレクトする ‘、‘ >> ‘、‘ > | ‘、‘ <> ‘、‘ >& ‘、‘ &>
  8. set+ rを使用して制限をオフにする ‘または‘ set + o

注 :スタートアップファイルが読み取られた後、rbashの制限が適用されます。

制限付きシェルの有効化

GNUの一部のバージョン / Linux つまり、 Red Hat / CentOS 、rbashは直接実装できない場合があり、シンボリックリンクを作成する必要があります。

# cd /bin

# ln -s bash rbash

今日のほとんどのGNU / Linux 標準のディストリビューションでは、デフォルトでrbashを使用できます。そうでない場合は、ソースtarballをダウンロードして、システムのソースからインストールできます。

rbashの開始

Linuxでrbash制限付きシェルを起動するには、次のコマンドを実行します。

# bash -r

OR

# rbash

注 :rbashが正常に開始されると、0が返されます。

いくつかの制限のテスト

ここでは、制限を確認するためにrbashシェルでいくつかのコマンドを実行します。

# cd

rbash: cd: restricted
# pwd > a.txt

bash: a.txt: restricted: cannot redirect output
制限付きシェルの長所<​​/h5>
  1. 制限付きシェルは、システム全体へのアクセスをさらに制限するために、chrootjailと組み合わせて使用​​されます。
制限付きシェルの短所
  1. 完全に信頼できないソフトウェアの実行を許可するには不十分です。
  2. シェルスクリプトであることが判明したコマンドが実行されると、rbashは、スクリプトを実行するために生成されたシェルの制限をすべてオフにします。
  3. ユーザーがrbashからbashまたはdashを実行すると、無制限のシェルが取得されます。
  4. rbashは、自分が何をしているのかわからない限り、chroot内でのみ使用する必要があります。
  5. 事前に予測するのが簡単ではない制限されたbashシェルを破る方法はたくさんあります。

結論

rbashは、制限された環境内で作業するための素晴らしいツールであり、見事に機能します。試してみる必要があります。失望することはありません。

それは今のところすべてです。すぐにまたここに来て、皆さんが読みたいと思うもう1つの興味深く知識豊富なトピックを紹介します。コメントセクションで貴重なフィードバックをお寄せください。


  1. 6 つの実用的な例を含む Bash シェル関数のチュートリアル

    Bash シェル関数は、グループに単一の名前を使用して、後で実行するために複数の UNIX / Linux コマンドをグループ化する方法です。 . Bash シェル関数は、通常の Unix コマンドと同じように実行できます。シェル関数は、それらを解釈するための新しいプロセスを作成することなく、現在のシェル コンテキストで実行されます。bash エイリアスと関数の両方を使用すると、より長い、またはより複雑なコマンドのショートカットを定義できます。ただし、エイリアスは、このチュートリアルで説明されているように、これらの関数が許可する制御フロー、引数、およびその他の巧妙なものを許可しません。 この

  2. 5 つの実用的な例を含む Bash スクリプト入門チュートリアル

    進行中の Unix Sed および Unix Awk シリーズと同様に、Bash スクリプトに関するいくつかの記事を投稿します。実用的な例ですべての bash スクリプト テクニックをカバーします。 シェルは、ユーザー コマンドを解釈するプログラムです。コマンドは、ユーザーが直接入力するか、シェル スクリプトと呼ばれるファイルから読み取るかのいずれかです。ユーザーからの入力を直接読み取る場合、シェルは対話型シェルとして呼び出されます。 シェルは、ファイルからコマンドを読み取って実行するときに、非対話型シェルとして呼び出されます。この場合、シェルはスクリプト ファイルの各行を上から下に読み取