GNU/Linux >> Linux の 問題 >  >> Linux

rbash – Linux で制限付きシェルを設定する

rbash は、制限された bash シェルを表します。 UNIX では、ユーザーの作成時に動作するように、デフォルトのシェル (/bin/bash) が割り当てられます。したがって、ユーザーは誰のディレクトリにも移動できるため、この状況を回避するために、制限付きシェルをユーザーに割り当てることができます。制限付きシェルは、監獄のような環境または chroot 環境のようなものです。

なぜ rbash なのか?

bash が rbash という名前で開始された場合、または呼び出し時に -r オプションが指定された場合、シェルは制限されます。制限付きシェルは、標準シェルよりも制御された環境をセットアップするために使用されます。以下が許可されていないか実行されないことを除いて、bash と同じように動作します:

  • cd によるディレクトリの変更
  • SHELL、PATH、ENV、または BASH_ENV の値の設定または設定解除
  • / を含むコマンド名の指定
  • 組み込みコマンドの引数として / を含むファイル名を指定する
  • hash 組み込みコマンドの -p オプションの引数としてスラッシュを含むファイル名を指定する
  • 起動時にシェル環境から関数定義をインポートする
  • 起動時にシェル環境から SHELLOPTS の値を解析する
  • >、>|、<>、>&、&>、および>> リダイレクト演算子を使用した出力のリダイレクト
  • exec 組み込みコマンドを使用してシェルを別のコマンドに置き換える
  • -f および -d オプションを使用して組み込みコマンドを enable 組み込みコマンドに追加または削除する
  • enable builtin コマンドを使用して無効なシェル ビルトインを有効にする
  • コマンド組み込みコマンドに -p オプションを指定する。
  • set +r または set +o limited で制限付きモードをオフにする

制限付きシェルの設定方法

特定のユーザーに必要な環境を設定し、以下に示すように、スタートアップ ファイル:$HOME/.bash_profile を配置できます:

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then 
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
bash -r

ユーザーでログインし、ディレクトリを変更してみてください。

$ cd /etc/
bash: cd: restricted

$ cd /tmp/
bash: cd: restricted

すべてのユーザーに制限付きシェルを設定するには、/bin/bash から /bin/rbash へのシンボリック リンクを作成します。

# cd /bin
# ln -s bash rbash


Linux
  1. Linux で制限付き Bash シェルを構成する方法

  2. Linux OS サービス「lm_sensors」

  3. Linux/Unix で $PATH を永続的に設定するには?

  1. Linuxで$PATH変数を設定する方法

  2. Linuxで環境変数とシェル変数を設定/作成する方法

  3. Linuxでシェルを変更する方法

  1. Linuxでプリンタを設定する方法

  2. LinuxPCにVPNサーバーをセットアップする

  3. Linuxで静的ネットワーク接続を設定する