私の友人の中には、ユーザーアカウントを作成して自分のコンピュータにアクセスできることを願っています。彼らは主にsftpとsshを介して自分のコンピュータにアクセスしますが、時には私の家からもアクセスできます。しかし、私は彼らが私のすべてのファイルを見ることを望んでいません(私のホームディレクトリのプライベートファイルではなく、etc、libなどのユーザーディレクトリの外にあるファイルを意味します...)。
私は最近次の質問をしました。
OpenSSH、chrootユーザー:rootにはユーザーディレクトリが必要です。結果はありますか?
私に与えられた要件は、ユーザーをchrootする場合は、ユーザーごとに完全な環境を作成する必要があることです。
実際には、ユーザーがホームディレクトリの外に出ることを防ぎ、このようにホームcp
ディレクトリの外側を指すプログラムに引数を渡すのを防ぐ方法はありますか?それとも実際に私のシステムをプライベートに保つ方法はありますか?最良の解決策は何ですか?私は彼らが私のすべてのプログラムを完全に使用できるようにしたいのですが、ファイルをコピーまたは読み取ることができないか、プログラムを使用してホームディレクトリ外のファイルを読み取ったりコピーしたりすることはできません。
答え1
彼らはあなたのすべてのプログラムへのフルアクセスを許可できるかどうか疑問に思う。しかし、家の外ではファイルを読むことはできません。必要なのは、構成ファイルを使用してそれを破るプログラムだけです。
仮想マシンを作成し、仮想マシンへのユーザー(またはルート)アクセス権を付与できます。
いくつかの一般的な仮想マシンソリューションは次のとおりです。
- 禅
- 仮想ボックス
- キーボード仮想マシン
- オープンVZ
答え2
ホームディレクトリ(またはその一部)を無制限にするいくつかのオプションがあります。
を使用してホームディレクトリを所有者専用アクセスに変更します
chmod 700 ~
。これにより、ユーザーとルートのみがそのディレクトリにアクセスできます。ホームディレクトリを暗号化されたファイルシステムに移動します。 (これにより、暗号化されていないファイルシステムへのアクセスを防ぐことができます。ファイルシステムが暗号化されていない場合にアクセスできる場合は、上記の方法でこの方法を使用してください。)
ファイル暗号化ツールを使用して個々のファイルへのアクセスを防止します。
隠しディレクトリに個人ファイルを隠します。
.private
プライベートコンテンツを非表示にするには、同様の名前を使用してください。あいまいな安全だけです。安全にするには、上記のオプションの1つ以上と組み合わせる必要があります。
友達にrootアクセスを許可すると、セキュリティ設定をバイパスする権限が大きくなることに注意してください。 (共有したくないファイルやシステムへのアクセスを共有すると危険です。)
答え3
「私のすべてのプログラムへのフルアクセス」が意味するように、オプションは次のとおりです。
標準のUnixファイル権限を使用してファイルを保護します。。これの利点は、保護するファイルを決定し、そのファイルに対する適切な権限を設定するのと同じくらい簡単にインストールすることです。欠点は、友人がrootアクセス権を持っていないため、システムですべての操作を実行できないことです。
FreeBSD刑務所の実行。 FreeBSDには、この目的のために特別に設計された刑務所があります。これを設定するには少し努力が必要ですが、友達が望むように使用できる完全なファイルシステムを提供するだけです。http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html
物理仮想マシンの実行。 XenまたはVirtualboxを実行して、友達に完全に機能するサーバーを提供できます。これは、メモリ、CPU、およびディスクの面ではかなりリソースが集中する可能性がありますが、ファイルから最も分離されています。