rbash - 制限付き Bash シェルを実際の例で説明
Linux シェルは、最も魅力的で強力なGNU/Linuxを利用したツールの 1 つです。 X を含むすべてのアプリケーションはシェル上に構築されており、Linux シェルは非常に強力であるため、これを使用して Linux システム全体を正確に制御できます。 Linux シェルのもう 1 つの側面は、システム コマンドをその結果を知らずに、または無意識のうちに実行すると、潜在的に有害になる可能性があることです。
無知なユーザーです。この目的のために、制限付きシェルを導入しています。制限付きシェルの詳細、実装される制限などについて説明します。
rbashとは何ですか?
制限付きシェルは、bash シェルの機能の一部を制限する Linux シェルであり、その名前から非常に明らかです。この制限は、コマンドおよび制限付きシェルで実行されるスクリプトに対して適切に実装されています。 Linux の bash シェルにセキュリティのための追加レイヤーを提供します。
rbash に実装される制限事項
- cd コマンド (ディレクトリの変更)
- PATH(設定/設定解除)
- ENV 別名 BASH_ENV (環境設定/設定解除)
- インポート機能
- 引数「/」を含むファイル名の指定
- 引数「-」を含むファイル名の指定
- '>'、'>>'、'>|'、'<>' を使用した出力のリダイレクト'&'、'&>'
- 「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
制限付きシェルの長所
- 制限付きシェルは、システム全体へのアクセスをさらに制限するために、chroot ジェイルと組み合わせて使用されます。
制限付きシェルの短所
- 完全に信頼できないソフトウェアの実行を許可するには不十分です。
- シェル スクリプトであることが判明したコマンドが実行されると、rbash は、スクリプトを実行するために生成されたシェル内の制限をオフにします。
- ユーザーが bash または rbash からダッシュを実行すると、無制限のシェルが得られます。
- rbash は、何をしているのかわからない場合を除き、chroot 内でのみ使用してください。
- 制限された bash シェルを突破する方法は数多くありますが、事前に予測するのは簡単ではありません。
結論
rbash は、制限された環境内で作業するのに最適なツールであり、見事に機能します。ぜひ試してみてください。がっかりすることはありません。
それは今のところすべてです。すぐにまたここに来て、皆さんにぜひ読んでいただきたい、興味深く知識豊富なトピックを紹介する予定です。コメントセクションに貴重なフィードバックをお寄せください。