Co to jest ten folder / run / user / 1000?


84

Co to jest ten folder: /run/user/1000w moim systemie Fedora i co on robi?

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

EDYCJA: 7 czerwca 2019 r.

Moje dwie odpowiedzi nie zgadzają się co do tego, który katalog lub gdzie były pliki przechowywane w tym miejscu:

Patrick :

Wcześniej systemdaplikacje te zwykle zapisywały swoje pliki /tmp.

I znowu tutaj:

/tmpbyła jedyną lokalizacją określoną przez FHSktóra jest lokalna i możliwa do zapisu przez wszystkich użytkowników.

Braiam :

Cele tego katalogu były kiedyś obsługiwane przez /var/run. Zasadniczo programy mogą nadal używać /var/rundo spełnienia wymagań określonych /rundla celów zgodności z poprzednimi wersjami.

I znowu tutaj:

Programy, które zostały migrowane w celu użycia, /runpowinny przestać używać /var/run, z wyjątkiem przypadków opisanych w sekcji /var/run.

Który to jest ojciec /run/user/1000, dlaczego nie ma żadnej wzmianki w żadnej odpowiedzi na to, co druga mówi o używanym katalogu /run/user.


W żadnej odpowiedzi nie ma wzmianki o tym, co druga mówi o katalogu używanym przed / run / user, ponieważ tylko jeden z nich faktycznie to omawia. Odpowiedź Braiam omawia katalog używany przed / run zamiast / run / user.
David Yockey

1
Odpowiedź na pytanie „ojciec / run / user / 1000” została przedstawiona przez Patryka jako uzasadnione, ale nieuzasadnione oświadczenie. Braiam nie odpowiada na to pytanie. Jest prawdopodobne, że miejsce przechowywania plików używanych przez uruchomione procesy, tj. Pliki tymczasowe, w przeszłości było po prostu zakładane jako standardowy katalog / tmp. Jeśli tak, trudno to uzasadnić, ponieważ niewiele osób przedstawia pisemne zapisy tego, co konwencjonalne lub oczywiste. Udzielenie uzasadnionej odpowiedzi prawdopodobnie wymagałoby pewnej wspólnej analizy historii komputerów.
David Yockey

Dziękuję za wkład
coś

Odpowiedzi:


94

/run/user/$uidjest tworzony pam_systemdi używany do przechowywania plików używanych przez uruchamianie procesów dla tego użytkownika. Mogą to być np. Demon kluczy, pulseaudio itp.

Przed systemdem aplikacje te zwykle zapisywały swoje pliki /tmp. Nie mogli użyć lokalizacji w, /home/$userponieważ katalogi domowe są często montowane w sieciowych systemach plików i pliki te nie powinny być udostępniane między hostami. /tmpbyła jedyną lokalizacją określoną przez FHS, która jest lokalna i możliwa do zapisu przez wszystkich użytkowników.

Jednak przechowywanie wszystkich tych plików /tmpjest problematyczne, ponieważ /tmpkażdy może je zapisać i chociaż możesz zmienić własność i tryb tworzonych plików, trudniej jest z nimi pracować.

Więc systemd przyszedł i stworzył /run/user/$uid. Ten katalog jest lokalny dla systemu i dostępny tylko dla użytkownika docelowego. Dzięki temu aplikacje, które chcą przechowywać swoje pliki lokalnie, nie muszą się już martwić kontrolą dostępu.
Utrzymuje również porządek i porządek. Gdy użytkownik wyloguje się i nie pozostaną aktywne sesje, pam_systemdwyczyści /run/user/$uidkatalog. Przy rozrzuconych różnych plikach /tmpnie można tego zrobić.


18
Należy wspomnieć, że nazywa się $ XDG_RUNTIME_DIR, udokumentowany na standardach.freedesktop.org/basedir-spec/basedir-spec-latest.html
o11c

Co jeśli: Rozpocząłem proces obliczania „w tle” nohupi zapisuje on swoje wyniki pośrednie / dane w pliku tymczasowym. Czy mogę liczyć na to, że nie zostanie wyczyszczony podczas działania procesu, czy też zostanie wyczyszczony, a rozpoczęty proces nohuputraci dane?
imz - Ivan Zachharyaschev

Prawdopodobnie nie zostanie wyczyszczony, ale / run / user jest systemem plików tmpfs w Fedorze, więc będzie ograniczony do ilości przydzielonego mu miejsca. Zobacz wyjście df powyżej.
jsbillings

Co jeśli plik pidfile jest usługą działającą pod rootem. Czy PID powinien być pod / var / run lub / var / run / user / 0? Jeśli skoro nie ma aktywnych sesji, zostanie usunięty?
TSG,

11

Zgodnie z najnowszą wersją FHS (File Hierarchy Standard) , / run:

Ten katalog zawiera dane informacji o systemie opisujące system od momentu jego uruchomienia. Pliki w tym katalogu muszą zostać wyczyszczone (odpowiednio usunięte lub obcięte) na początku procesu rozruchu.

Cele tego katalogu były kiedyś obsługiwane przez / var / run. Zasadniczo programy mogą nadal używać / var / run do spełnienia wymagań określonych dla / run do celów zgodności z poprzednimi wersjami. Programy, które przeprowadziły migrację do używania / run, powinny zaprzestać używania / var / run, z wyjątkiem przypadków opisanych w sekcji na temat / var / run.

Programy mogą mieć podkatalog / run; jest to zalecane w przypadku programów, które używają więcej niż jednego pliku wykonawczego. Użytkownicy mogą również mieć podkatalog / run, chociaż należy zachować ostrożność, aby odpowiednio ograniczyć prawa dostępu, aby zapobiec nieautoryzowanemu użyciu samego / run i innych podkatalogów.

W przypadku /run/userkatalogu jest używany przez różne usługi użytkownika, takie jak dconf, puls, systemd itp., Które potrzebują miejsca na pliki blokad i gniazda. Istnieje tyle katalogów, ile różnych identyfikatorów UID użytkowników jest zalogowanych w systemie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.