OS

「Linux」でユーザーが実行できることを「rbash」で制限するには

「rbash」を使用すれば、「Linux」システムでユーザーが実行できることを制限することができる。

 「Linux」システムにログインしているユーザーがいる。これらのユーザーはsudo権限を持っていないかもしれないが、おそらくシステムディレクトリーツリーのほとんどを自由に閲覧できるはずだ。そうした状況は避けた方がいい。それはなぜか。それらのユーザーは、ほとんどの設定ファイルを編集できないかもしれないが、彼らに設定ファイルを閲覧されるのは決して望ましいことではないからだ。クライアントデータについても同じことが言える。そうしたデータはロックダウンした方がいい。

 しかし、システム上のすべてのファイルとフォルダのアクセス許可を調整することなく(これをやると、さまざまなことを大幅に複雑化させてしまうおそれがある)、ユーザーがディレクトリー階層にアクセスできないようにするには、どうすればいいのだろうか。

 1つの方法は、「Restricted Bash」(「rbash」)と呼ばれるツールを使用することだ。rbashを使用すれば、ユーザーが以下のことを実行するのを阻止できる。

  • cdコマンドを使用する。
  • $PATH、$SHELL、$BASH_ENV、$ENVの値を変更する。
  • /を含むプログラムを実行する。
  • >、>|、<>、>&、&>、>>を使用して出力をリダイレクトする。
  • スクリプト内で制限モードから離脱する。
  • 制限モードを解除する。

必要なもの

  • 実行中のLinuxインスタンス。
  • sudo権限を持つユーザー。

テストユーザーを作成する方法

 システム上にテストユーザーを作成して、そのユーザーを「vega」と呼ぶことにしよう。そして、vegaのシェルをrbashにする。これは、以下のコマンドで実行可能だ。

sudo useradd -m vega -s /bin/rbash

 次に、以下のコマンドで新しいユーザーにパスワードを割り当てる必要がある。

sudo passwd vega

 プロンプトが表示されたら、新しいユーザーのパスワードを入力して確認する。

ディレクトリーを作成する方法

 次に、新しいユーザー用のディレクトリーを作成する。このディレクトリーには、ユーザーが実行を許可されているコマンドだけが格納される。例えば、ユーザーがmkdir、ls、およびsshコマンドを実行することを許可したいとしよう。まず、以下のコマンドでディレクトリーを作成する。

sudo mkdir /home/vega/bin

「OS」で読まれている記事

TechRepublic Japanで人気の記事

編集部オススメ

トレンドまるわかり![PR]

財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
PC・モバイル
新興技術
ITインフラ
クラウドサービス
OS・ミドルウェア
OS
ミドルウェア
アプリケーションサーバー
開発
データベース
運用
セキュリティ

ホワイトペーパーランキング

  1. マンガでわかる「ルール駆動開発」レガシーモダナイズを成功させる開発手法を基礎から理解する
  2. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  3. APIエコシステムを狙うサイバー攻撃が急増、Webアプリにおける最新のAPIセキュリティ対策とは?
  4. クラウドやコンテナ利用が増える中、世界の企業が利用するAPI経由の安全なアプリ構築手法とは?
  5. ウェビナーによる営業活動が本格化、顧客接点が増加する一方で見えてきたハードルと解決策とは?

Follow TechRepublic Japan

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]