Jak napisałem na /unix//a/484626/5132, jest to warte własnych pytań i odpowiedzi.
W systemach operacyjnych Linux…
% getent passwd bin bin: x: 2: 2: bin: / bin: / usr / sbin / nologin %… I na FreeBSD…
% getent passwd bin bin: *: 3: 7: Polecenia binarne i źródło: /: / usr / sbin / nologin %… I na OpenBSD…
$ getent passwd bin bin: *: 3: 7: Polecenia binarne i źródło: /: / sbin / nologin $… Do dziś można znaleźć
bin
konto. Ale jest to prawie nieudokumentowane. Linux Standard Base wersja 5 mówi tylko ...Uwagi:… Bez wyjaśnienia charakteru mechanizmu zgodności. Jak to ujął Joey Hess w 2001 roku :bin
Identyfikator użytkownika / identyfikator grupy został uwzględniony w celu zapewnienia zgodności ze starszymi aplikacjami. Nowe aplikacje nie powinny już używaćbin
identyfikatora użytkownika / identyfikatora grupy.
bin
:POMOC : Żadne pliki w moim systemie nie są własnością użytkownika ani grupybin
. Jakie są dobre? Historycznie byli prawdopodobnie właścicielami plików binarnych/bin
? Nie jest wspomniane w FHS, polityce Debiana ani w dzienniku zmian base-passwd lub base-files.
Pytanie M. Hessa pozostaje bez odpowiedzi w dokumencie Debian dotyczącym pakietu base-passwd do dnia dzisiejszego , 17 lat później.
Więc do czego służy bin
konto?
passwd
non-root-user
JdeBP
źródło
źródło
Odpowiedzi:
bin
przez całe życie Linuksa nie było właściwie na nic.Podobnie jak poziomy uruchomieniowe i
init
spawnowanie zgetty
powodu rekordów/etc/inittab
,bin
konto było przestarzałe w świecie Uniksa, zanim nawet Linux został wynaleziony. Był to pomysł z lat 80., który został złamany przez wynalazek i przyjęcie NFS (Network File System) i jegonobody
użytkownika. Jego ciągła obecność w bazach danych kont użytkowników pod koniec 2010 roku, kiedy ludzie w komercyjnym świecie Uniksa aktywnie zaprzestali ich używania w latach 90., jest świadectwem bezwładności.Pomysł polegał na tym, że
bin
użytkownik posiadał różne katalogi, takie jak/bin
i/usr/bin
(i rzeczywiście niektóre z innych wymienionych na /unix//a/448799/5132, takich jak/usr/mbin
i/usr/5bin
) oraz niezidentyfikowany UID / non- pliki set-GID w nich. Posiadał również pliki i katalogi doco, takie jak strony podręcznika.(W bardziej ekstremalnych przypadkach na niektórych Uniksach był nawet w posiadaniu
/
i/etc
, chociaż ten ostatni był uznanym błędem w tworzeniu obrazu systemu operacyjnego SunOS. Ten pierwszy był po prostu niedorzeczny).Zatem uprawnienie do wprowadzania aktualizacji oprogramowania, działającego jako użytkownik
- Rebecca Thomas i Rik Farrow (1989). UNIX Administration Guide for System V . Prentice Hall. ISBN 9780139428890. str. 452bin
, nie było ogólnym uprawnieniem, działającym jako superużytkownik, do wykonywania jakichkolwiek działań przeciwko systemowi. Aktualizator oprogramowania nie mógł odczytywać / zapisywać prywatnych plików użytkownika, uzyskiwać dostępu do skrzynek pocztowych itp. które oczywiście może aktualizować oprogramowanie jako administrator.NFS został wynaleziony na początku lat 80. i całkowicie złamał ten pomysł.
Było już na niepewnym gruncie, jak wspomniano w przytoczonym cytacie. Stało się tak, ponieważ możliwość aktualizacji plików obrazów programu dla podstawowych narzędzi, które superużytkownik wykonał jako przedmiot oczywisty, takich jak
/bin/ls
na przykład, jest bezpośrednim wektorem do uzyskania uprawnień administratora, a podział dostępu przy korzystaniu zbin
konta po prostu zapobiegał przypadkowemu modyfikowanie niewłaściwych katalogów zamiast uniemożliwiać złoczyńcom uzyskanie dostępu administratora.Nadejście NFS to podkreśliło. Chociaż system plików NFS miał mechanizm mapowania konta administratora na zwykłe konto użytkownika niesystemowego, nie działał tak samo dla kont innych niż root
bin
. Jeśli więc ktoś mógł uzyskaćbin
dostęp do klienta NFS, dał mubin
dostęp do plików systemu operacyjnego na serwerze NFS. W rzeczywistości umożliwił on superużytkownikowi klienta NFS, który w innym przypadku zostałby ponownie przypisany do zwykłego użytkownika niesystemowego na serwerze, aby uzyskać dostęp właściciela do plików i katalogów systemu operacyjnego serwera.To była powszechna wiedza na początku lat 90., a wówczas otrzymywano mądrość od
chown
rzeczy, które należałybin
do administratora, aby zatkać dziurę, która stała się już standardową pozycją raportowania w narzędziach kontroli bezpieczeństwa Unixa i była ostrzegana przed podobnie jak dokument instalacyjny Sendmaila.Jeśli chodzi o pytania M. Hessa, pomysł ten nigdy nie został przyjęty w Debianie, który powstał dopiero po latach, gdy był znany jako zły pomysł w świecie uniksowym, który rzeczywiście wiedział, że jest zły, zanim powstał sam Linux zostało wynalezione. Systemy operacyjne BSD, których historia nie sięgają do 1980 roku już dawno zlikwidowane rzeczywistej własności, ale mimo to zachowują konta użytkownika w bazie danych konta. Na przykład konwertowany z FreeBSD
bin
:bin
własność naroot
:wheel
własność już w 1998 r.Dalsza lektura
/etc/inittab
należy już do przeszłości. . Często udzielane odpowiedzi.źródło
bin
użytkownika i grupy w systemach AIX. Możliwe jest, że IBM używa go z określonego powodu. Jednym z zestawów plików systemu AIX, który przychodzi na myśl, jestjava
. Będę musiał wskoczyć na działające systemy AIX w celu dalszej weryfikacji.bin
.bin
jest jednym z typowych domyślnych identyfikatorów użytkowników, który można usunąć . Ponadto: hasłem jest:bin
bin:!:2:2::/bin:
Są dwa przypadki użycia, których używam bin w 2018 roku. 1: plik wykonywalny - głównie dla plików .exe po stronie serwera WWW używanych do wypełniania funkcji. I 2: logi - czasami umieszczam pliki .log lub .dat w folderze bin.
źródło
/bin
katalogu? Czy użytkownik bin?.exe
plikach.