Po przeczytaniu Wyświetl listę wszystkich użytkowników zauważyłem, że w moim systemie Ubuntu istnieje konto użytkownika o nazwie „nobody”.
Zauważyłem też, że mogę zalogować się na to konto z terminala za pomocą następującego polecenia i mojego hasła:
sudo su nobody
Wcale mi to nie przeszkadza, ale chcę wiedzieć, jaki jest cel tego użytkownika? Czy jest on domyślnie tworzony podczas nowej instalacji Ubuntu, czy jest tworzony przez instalację konkretnego pakietu?
users
username
switch-user
Radu Rădeanu
źródło
źródło
sudo su nobody
powrót To konto jest obecnie niedostępne. ponieważ powłoka dla użytkownikanobody
jest ustawiona na/usr/sbin/nologin
(getent passwd nobody
).root_squash
temu mapuje roota do nikogo na zdalnych systemach. Jest to mniej więcej dokładnie odwrotność tego, co stwierdza ta odpowiedźOdpowiedzi:
Służy do uruchamiania rzeczy, które nie wymagają żadnych specjalnych uprawnień. Zazwyczaj jest zarezerwowany dla wrażliwych usług (httpd, itp.), Aby w przypadku włamania się do niego wyrządziły minimalne szkody pozostałej części systemu.
Porównaj to z uruchomieniem czegoś jako prawdziwego użytkownika, gdyby ta usługa została naruszona (serwery WWW są czasami wykorzystywane do uruchamiania dowolnego kodu), działałaby ona jako ten użytkownik i miałaby dostęp do wszystkiego, co ten użytkownik miał. W większości przypadków jest to tak złe, jak rootowanie.
Możesz przeczytać trochę więcej na temat użytkownika nobody na Ubuntu Wiki:
Aby odpowiedzieć na swoje działania następcze:
Dlaczego nie mogę uzyskać dostępu do tego konta
su nobody
?sudo grep nobody /etc/shadow
pokaże Ci, że nikt nie ma hasła i nie możeszsu
bez hasła do konta. Najczystszym sposobem jestsudo su nobody
zamiast tego. To pozostawi cię w dość opustoszałejsh
skorupie.Czy możesz podać konkretny przykład, kiedy wskazane jest korzystanie z tego konta?
Gdy uprawnienia nie są wymagane do działania programu. Jest to najbardziej zauważalne, gdy nigdy nie będzie żadnej aktywności dysku.
Prawdziwy świat Przykładem tego jest
memcached
(klucz-wartość w pamięci cache / database / rzecz), siedząc na moim komputerze i mój serwer działa pod uwagę nikt. Dlaczego? Ponieważ po prostu nie potrzebuje żadnych uprawnień, a przyznanie mu konta z dostępem do zapisu do plików byłoby niepotrzebnym ryzykiem.źródło
su nobody
i 2) czy możesz podać konkretny przykład, kiedy wskazane jest korzystanie z tego konta?su
zwykłym użytkownikiem, musisz podać hasło użytkownika docelowego. Spróbujsudo -i
następniesu nobody
z poziomu powłoki głównej (która nie będzie wymagać hasła).Network File System
mapujeroot
na,nobody
aby lokalny root nie miał dostępu do wszystkiego, co może zdalny root.nobody
jest właściwie / przede wszystkim używany przez NFS jako stany bazowe Linuksa .Informacje pochodzą z http://en.wikipedia.org/wiki/Nobody_(nazwa użytkownika) .
źródło
nobody
jest przeznaczony wyłącznie dla NFS i nie powinien być używany przez inne usługi, a na pewno nie przez administratorów systemu. Dzięki.Użytkownik nikt nie jest zarezerwowany tylko dla NFS.
Powyższe odpowiedzi są raczej błędne, ponieważ zakładają, że
nobody
jest to „ogólny” identyfikator użytkownika w stylu anonimowym / gościa.W modelu kontroli dostępu w systemie UNIX / Linux identyfikatory anonimowe / gości w stylu gościa nie istnieją i są to złe sugestie:
nobody
, zwłaszcza serwerów, w celu ograniczenia szkód, jakie może wyrządzić złośliwy użytkownik, który przejął nad nimi kontrolę. ” z tego powodu: „ Jednak użyteczność tej techniki jest zmniejszona, jeśli więcej niż jeden demon działa w ten sposób, ponieważ wówczas przejęcie kontroli nad jednym demonem zapewniłoby kontrolę nad wszystkimi ".memcached
(pamięć podręczna / baza danych / rzecz w pamięci klucz-wartość), siedząc na moim komputerze i na serwerze działającym podnobody
kontem. Dlaczego? Ponieważ po prostu nie potrzebuje żadnych uprawnień i nie daje tego konto, które miało dostęp do zapisu do plików, byłoby niepotrzebnym ryzykiem ”.Nazwa
nobody
użytkownika o identyfikatorze użytkownika 65534 została utworzona i zarezerwowana do określonego celu i powinna być używana tylko w tym celu: jako symbol zastępczy dla „niezmapowanych” użytkowników i identyfikatorów użytkowników w eksporcie drzewa NFS.Oznacza to, że jeśli nie skonfigurowano mapowania użytkownika / identyfikatora dla eksportu drzewa NFS, wszystkie pliki w eksporcie będą własnością
nobody
. Ma to na celu uniemożliwienie wszystkim użytkownikom systemu importującego dostępu do tych plików (chyba że mają oni „inne” uprawnienia), ponieważ żaden z nich (opróczroot
) nie może zostać / stać sięnobody
.Dlatego bardzo złym pomysłem jest używanie go
nobody
w jakimkolwiek innym celu, ponieważ jego celem jest bycie nazwą użytkownika / identyfikatorem użytkownika dla plików, które nie mogą być dostępne dla nikogo.Wpis na Wiki też jest bardzo zły.
Praktyka UNIX / Linux polega na utworzeniu nowego konta dla każdej „aplikacji” lub obszaru aplikacji, które wymagają oddzielnej domeny kontroli dostępu, i nigdy nie będzie ponownie
nobody
używana poza NFS .źródło
root_squash
onroot
jest mapowane na użytkownikanobody
, więc pliki posiadające właścicielanobody
nie mają absolutnie żadnego sensu. Ponadto stwierdzenie, że pliki należące do nikogo nie mają być dostępne dla nikogo, nie ma sensu, ponieważ uprawnienia do plików są odrębne od własności w systemie UNIX. Nie twierdzę, że wszystko w odpowiedzi jest złe, po prostu to, że jej elementy nie mają dla mnie żadnego sensu lub nie mają go wcale :)nobody
. Mówi ci, żenobody
NFS ma korzystać z uprawnień do mapowania, i to jest dla mnie najważniejszy punkt. Jak NFSnobody
jest mniej interesujący niż fakt, że nie wykorzystaćnobody
. Dzięki.man exports
, może być bardzo zdezorientowany.nobody
Użytkownik jest tworzony domyślnie na nową instalację (zaznaczone na pulpicie Ubuntu 13.04).źródło
nikt nie jest specjalnym kontem użytkownika i grupy. Ponieważ jest to rzeczywista nazwa użytkownika (i nazwa grupy) i może być używana przez procesy, a nawet użytkowników, nie jest dosłownie nikim . Na przykład niektóre konfiguracje Apache nie mają nikogo jako użytkownika / grupy, która jest właścicielem plików i katalogów serwisu WWW. Problem pojawia się, gdy wiele procesów może korzystać z użytkownika nobody, takich jak katalogi NFS i serwer WWW.
źródło
Drobne poprawki do „ Użytkownik nikt nie jest zarezerwowany tylko dla NFS. ' odpowiedź. W
nobody
tym momencie użytkownik jest również używany do nieuprzywilejowanych kontenerów z mocowaniami powiązań.Jest to pobierane z systemd-nspawn, w szczególności opcji --bind mount:
systemd-nspawn
źródło