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.