Sudoも使用できるユーザーがいます。彼のホームディレクトリへのアクセスのみを制限したい。他には何もありません。私は 'limited'グループを作成し、彼をこのグループに移動しました。それで?
彼のホームディレクトリへのアクセスのみをどのように制限しますか?
特定のアクセスを防ぐのは、デフォルトですべてのアクセスをブロックし、アクセスの種類ごとに特定の例外を追加するよりもはるかに困難です。 原理 にはキャッチーな用語もあります。したがって、Sudo
を介して実行できるコマンドが明示的に指定されていることを確認し、ユーザーがそれを使用してroot
にならないようにします。これが行われた後、いくつかの選択肢があります。
ディレクトリのアクセス許可を制限します(option1)。ルート内のすべてのディレクトリ(/
)システム上のディレクトリで、他の実行ビットがオフになっている permission グループ。これは通常、次のようなものを実行することを意味します。
$ chmod o-x <dir>
上記がすでに実行されているが、このユーザーがメンバーであるグループ(質問ごとに少なくともlimited
グループ)があるすべてのディレクトリについても同じようにします。これは実行することを意味します:
$ chmod g-x <dir>
主要な最上位ディレクトリのディレクトリ実行許可を変更するこの変更は実用的ではない可能性があります。ディレクトリを変更できるかどうかに依存する重要なプロセスが存在する可能性があります(例:/
または/var
)複雑な権限設定なし。しかし、少なくともいくつかのprivateディレクトリに対してこれを行うことができます。
chroot jailを使用します(オプション2)。私は現実的なオプションは、ユーザーがログイン直後に制限された環境で情報を取得できるようにchroot jailを使用することです。 chroot環境のセットアップとは別に、OpenSSHサーバーも適切に構成する必要があります。これは、システムへのアクセスがssh
経由でのみ利用可能であることを前提としています。あるいは、議論されたJailkit here を使用することもできます。
Unixでは、最も基本的なことを行うためにも、さまざまなリソース(実行可能ファイル、ライブラリ、構成ファイル、マニュアルページ、例など)にアクセスする必要があります。 cp(1)
、ls(1)
のような「通常のコマンド」と見なされるものでさえ、それらにアクセスできる必要があるユーザーによって実行される通常のプログラムです。ユーザー必要多くのシステムへのアクセス。システムを役に立たない状態にすることなしに遮断することはできません。
ユーザーが他のユーザーのファイルをあちこち見られないようにしたい場合は、ユーザーホームの(現在は従来の)Linux構成で対応できます。JoeSixpackのユーザーはjoe
です。名前joe
とプライマリグループjoe
のアカウント(UID)が彼のために作成され、彼の家はjoe
とグループjoe
によって所有され、権限が付与されますお気に入り dwrx------
(つまり、joe
は読み取り、書き込み、検索ができます。グループjoe
には、Joe以外は誰もいません。他の誰も何もできません)。