Ubuntu Linux のユーザーと仮想環境

Ubuntu Linux のユーザーと仮想環境

こんにちは。私は Linux 初心者で、現在 Linux ディストリビューションとして Ubuntu を使用しています。現在、Ubuntu のユーザーについて混乱しており、オンラインで検索しています。Digital Ocean で「これは機能上の権限を分離するために行われます。こうすることで、アカウントが侵害されたり不正使用されたりしても、影響は隔離されます」という記事を見つけました。

少し前に仮想環境について聞き、それが隔離された環境であると理解しました。そのため、その仮想環境内で起こることは外部とは何の関係もありません。

私の理解によれば、Linux (特に Ubuntu) のユーザーは仮想環境と同じ機能を持っていると言えますか?

答え1

ベンヴPythonプログラミング言語の概念です。この概念が解決する問題は依存関係に関係しています。Pythonプログラムは通常、他のプログラムに依存しており、そのプログラムは図書館Python プログラムが動作するには、必要なライブラリをコンピューターにインストールする必要があります。インストールされたライブラリは、すべての Python プログラムで共有されます。

一部の Python プログラムでは、ライブラリだけでなく、それらのライブラリの特定のバージョンも必要です。これにより、バージョンの衝突が発生する可能性があります。プログラム 1 にはライブラリ xyz のバージョン 10 が必要で、プログラム 2 には同じライブラリのバージョン 11 が必要です。このような衝突を回避するには、仮想環境または venv を設定します。これは、プログラムに必要なライブラリを含むファイルシステム ディレクトリ ツリーです。

ユーザー一方、Pythonやライブラリ、ライブラリのバージョンとは関係ありません。ユーザーはシステム内の特定のファイルにしかアクセスできないため、ユーザーが引き起こす損害は限定されます。例外はスーパーユーザーで、ほとんどの場合、、あらゆるものにアクセスできます。

ユーザーと venvs の間には関係があります。非ルート ユーザーは、すべてのユーザー間で共有されている Python ライブラリを上書きすることはできません。ただし、ユーザーは venv を作成できます。venv にはすべてのファイルへの完全な読み取りおよび書き込みアクセス権があり、Python ライブラリを作成および更新できます。

関連情報