/run/user/1000 이 폴더는 무엇입니까?

/run/user/1000 이 폴더는 무엇입니까?

이 폴더는 무엇이며, /run/user/1000Fedora 시스템에서 어떤 역할을 합니까?

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

수정됨: 2019년 6월 7일.

내 두 가지 답변은 파일이 이 위치에 저장되는 디렉터리나 위치에 대해 동의하지 않습니다.

패트릭:

이전에는 systemd이러한 응용 프로그램이 일반적으로 파일을 /tmp.

다시 여기 군:

/tmpFHS모든 사용자가 쓸 수 있고 로컬로 지정된 고유한 위치입니다 .

브라이언:

이 디렉토리의 목적은 한때 에 의해 유지되었습니다 . 일반적으로 프로그램은 /var/run이전 버전과의 호환성을 위해 /var/run설정된 요구 사항을 충족하기 위해 계속 사용할 수 있습니다./run

다시 여기 군:

사용하도록 이동된 프로그램은 해당 항목에 별도로 명시되지 않는 한 /run중단되어야 합니다 ./var/run/var/run

그렇다면 어느 쪽이 아버지이고 /run/user/1000다른 쪽이 이전에 사용한 디렉토리에 대해 말한 내용에 대한 답변이 왜 언급되지 않습니까 /run/user?

답변1

/run/user/$uid에 의해 만들어졌습니다pam_systemd그리고 사용자가 프로세스를 실행하는 데 사용하는 파일을 저장하는 데 사용됩니다. 이는 키링 데몬, pulseaudio 등이 될 수 있습니다.

전에체계, 이러한 응용 프로그램은 일반적으로 홈 디렉터리가 네트워크 파일 시스템을 통해 마운트되고 이러한 파일이 호스트 간에 공유되어서는 안 되기 때문에 /tmp사용할 수 없는 위치 에 파일을 저장합니다 . 지정된 유일한 위치입니다/home/$user/tmpFHS이는 로컬이며 모든 사용자가 쓸 수 있습니다.

그러나 이러한 파일을 모두 저장하는 것은 누구나 파일에 쓸 수 있고 생성되는 파일의 소유권과 모드를 변경할 수 있지만 사용하기가 더 어렵기 /tmp때문에 문제가 됩니다 ./tmp

그래서 systemd가 와서 그것을 생성합니다 /run/user/$uid. 디렉토리는 시스템에 로컬이며 대상 사용자만 액세스할 수 있습니다. 따라서 파일을 로컬에 저장하려는 애플리케이션은 더 이상 액세스 제어에 대해 걱정할 필요가 없습니다.
또한 일을 멋지고 체계적으로 유지합니다. 사용자가 로그오프하고 활성 세션이 남아 있지 않으면 pam_systemd디렉터리가 지워집니다 /run/user/$uid. 각종 파일들이 여기저기 흩어져 있기 때문에 /tmp그렇게 할 수는 없습니다 .

답변2

~에 따르면FHS(파일 계층 표준) 최신 초안, /달리기:

이 디렉토리에는 시스템이 시작된 이후 시스템을 설명하는 시스템 정보 데이터가 포함되어 있습니다. 시작 프로세스가 시작될 때 이 디렉터리의 파일을 지워야 합니다(필요에 따라 제거하거나 잘라냄).

이 디렉토리의 목적은 한때 /var/run에 의해 제공되었습니다. 일반적으로 프로그램은 /var/run을 계속 사용하여 이전 버전과의 호환성을 위해 /run에 설정된 요구 사항을 충족할 수 있습니다. /run을 사용하도록 마이그레이션된 프로그램은 /var/run 섹션에 달리 명시되지 않는 한 /var/run 사용을 중지해야 합니다.

프로그램에는 /run 하위 디렉터리가 있을 수 있습니다. 이는 여러 런타임 파일을 사용하는 프로그램에 권장됩니다. 사용자는 /run 하위 디렉터리를 소유할 수도 있지만 /run 자체 및 기타 하위 디렉터리의 무단 사용을 방지하기 위해 액세스 권한을 적절하게 제한하도록 주의를 기울여야 합니다.

dconf, pulse, systemd 등과 같은 다양한 사용자 서비스에서 사용되는 디렉토리 측면에서는 /run/user잠금 파일과 소켓을 저장할 장소가 필요합니다. 시스템에 기록된 다양한 사용자 UID에 대한 디렉터리 수는 동일합니다.

관련 정보