web-dev-qa-db-ja.com

このフォルダー/ run / user / 1000は何ですか?

このフォルダとは何ですか:Fedoraシステムの/run/user/1000とは何ですか?

~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.2G   20K  1.2G   1% /run/user/1000

編集:2019年6月7日

私の2つの答えは、この場所に保存されているファイルがどこのディレクトリまたはどこにあるかについて同意しません。

パトリック

systemdより前のバージョンでは、これらのアプリケーションは通常、/tmpにファイルを保存していました。

そして再びここに:

/tmpは、FHSによって指定されたローカルな唯一の場所であり、すべてのユーザーが書き込み可能です。

ブライアム

このディレクトリの目的は、かつて/var/runによって提供されていました。一般に、プログラムは/var/runを引き続き使用して、下位互換性のために/runに設定された要件を満たすことができます。

そして再びここに:

/runを使用するように移行したプログラムは、/var/runのセクションに記載されている場合を除き、/var/runの使用を中止する必要があります。

では、どちらが/run/user/1000の親であるのか、どちらの回答にも/run/userの前に使用されていたディレクトリについて他の人が何を言っているのか、なぜ言及されていないのでしょうか。

93

/run/user/$uidpam_systemd によって作成され、そのユーザーの実行中のプロセスが使用するファイルを格納するために使用されます。これらは、キーリングデーモン、pulseaudioなどです。

systemd 以前は、これらのアプリケーションは通常、ファイルを/tmpに保存していました。ホームディレクトリはネットワークファイルシステムを介してマウントされることが多く、これらのファイルをホスト間で共有してはならないため、/home/$userの場所を使用できませんでした。 /tmp[〜#〜] fhs [〜#〜] によって指定された唯一の場所であり、ローカルであり、すべてのユーザーが書き込み可能です。

ただし、/tmpは誰でも書き込み可能であるため、これらすべてのファイルを/tmpに保存すると問題が発生します。作成中のファイルの所有権とモードを変更することはできますが、操作が難しくなります。

Systemdが登場し、/run/user/$uidが作成されました。このディレクトリはシステムに対してローカルであり、ターゲットユーザーのみがアクセスできます。そのため、ファイルをローカルに保存しようとするアプリケーションは、アクセス制御について心配する必要がなくなります。
また、物事をすばらしく整理します。ユーザーがログアウトし、アクティブなセッションが残っていない場合、pam_systemd/run/user/$uidディレクトリを消去します。 /tmpにはさまざまなファイルが散在しているため、これを行うことはできません。

108
Patrick

FHS(File Hierarchy Standard)の最新のドラフトに準拠 、/ run:

このディレクトリには、システムが起動されてからのシステム情報データが含まれています。このディレクトリの下にあるファイルは、起動プロセスの最初にクリア(必要に応じて削除または切り捨て)する必要があります。

このディレクトリの目的は、かつて/ var/runによって提供されていました。一般に、プログラムは/ var/runを引き続き使用して、下位互換性のために/ runに設定された要件を満たすことができます。/runを使用するように移行したプログラムは、/ var/runのセクションに記載されている場合を除き、/ var/runの使用を中止する必要があります。

プログラムには/ runのサブディレクトリがある場合があります。これは、複数のランタイムファイルを使用するプログラムに推奨されます。ユーザーは/ runのサブディレクトリを持つこともできますが、/ run自体と他のサブディレクトリの不正使用を防ぐためにアクセス権を適切に制限するように注意する必要があります。

/run/userディレクトリの場合、dconf、Pulse、systemdなど、ロックファイルとソケット用の場所を必要とするさまざまなユーザーサービスによって使用されます。異なるユーザーUIDがシステムにログインしているのと同じ数のディレクトリがあります。

12
Braiam