Linux Tips

bashの機能を制限するには

北浦訓行
2002/10/31

 Linux(bash)の操作に詳しくない人や部外者などにアプリケーションの操作を依頼する場合などは、シェルの機能を制限しておくと安心だ。

 bashの起動時に-rオプションを指定すると、bashの機能が制限された状態になる。

$ bash -r

 この状態では、以下のような作業ができなくなる(ここに挙げている制限は一部。詳細はbashのmanページを参照)。

  • cdコマンドでディレクトリを変更すること
  • SHELL、PATH、ENV、BASH_ENVなどの環境変数の変更や削除
  • 「/」を含んだコマンド名の実行
  • 「>」や「<」などを使用したリダイレクト

 制限モードでは、以下のようにcdコマンドなどを実行してもエラーになる。

$ cd ..
bash: cd: restricted

 ただし、この方法だとexitコマンドは実行可能であるし、PATHなどもデフォルトの設定を引き継いでいるので、あまり適切とはいえない。例えば、

$ cat /etc/passwd

といったコマンドも実行できてしまう。より完ぺきを期すなら、専用のユーザーIDを設けて特別な環境を構築した方がいいだろう(特定のコマンドしか実行できないユーザーIDを作成するには参照)。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間