ユーザーを自分のホームディレクトリに制限する

ユーザーを自分のホームディレクトリに制限する

sudoも利用できるユーザーがいます。私は彼が彼のホームディレクトリにのみアクセスすることを制限したいと思います。他にはありません。私は「制限された」グループを作り、彼をそのグループに移しました。何をすべきか?

彼が自分のホームディレクトリにのみアクセスすることをどのように制限できますか?

答え1

特定のアクセスをブロックすることは、基本的にすべてのアクセスをブロックし、各アクセスに特定の例外を追加するよりもはるかに困難です。これには目立つ用語もあります。原則として。したがって、実行できるコマンドを明示的に指定して、ユーザーが絶対に使用sudoできないようにします。rootこれを完了すると、いくつかのオプションがあります。

  • ディレクトリ権限の制限(オプション1)。/システムのルート()ディレクトリ内のすべてのディレクトリに対して実行ビットがオフになっていることを確認してください。許可するグループ。これは通常、次のようなものを実行することを意味します。

    $ chmod o-x <dir>
    

    上記のコマンドを実行しましたが、このユーザーがメンバーであるグループ(少なくともlimited質問にあるグループ)を持つすべてのディレクトリに対して同じことを行います。これは、以下を実行することを意味します。

    $ chmod g-x <dir>
    

    デフォルトの最上位ディレクトリのディレクトリ実行権限に対するこれらの変更は、実用的ではない可能性があります。詳細な権限設定なしでディレクトリ(たとえば、/または)を変更できる必要があるいくつかの重要なプロセスがあります。/varしかし、少なくとも何度もできます。プライベート目次。

  • chroot刑務所を使用する(オプション2)。現実的な選択は、ユーザーがログイン後すぐに制限された環境に関する情報を取得できるようにchroot Jailを使用することです。 chroot環境の設定に加えて、OpenSSHサーバーも適切に構成する必要があります。これは、を通じてのみシステムにアクセスできると仮定しますssh。あるいは、すでに説明したJailkitを使用することもできます。ここ

答え2

Unixで最も基本的なタスクを実行するには、ユーザーはさまざまなリソース(実行ファイル、ライブラリ、設定ファイル、マニュアルページ、例...)にアクセスする必要があります。cp(1)、、、、などの「一般コマンド」と見なされるものでさえ、ユーザーがls(1)実行する一般的なプログラムであるため、ユーザーがアクセスできる必要があります。ユーザー必要システムの大部分へのアクセスがブロックされると、システムは事実上役に立たなくなります。

ユーザーが他のユーザーのファイルを閲覧できないようにするには、ユーザーのホームディレクトリの(現在は従来の)Linux構成を使用してこれを達成できます。ユーザーJoe Sixpackがだとしましょうjoe。名前joeとデフォルトグループを使用して、そのためのアカウント(UID)を作成します。彼の家はそのグループが所有し、同様の権限を持っています(例:読み取り、書き込み、検索が可能です。グループにはJoe自身以外は誰もいません。誰もいません)。そうでなければ何でもできます)。joejoejoedwrx------joejoe

関連情報