Nie jestem administratorem systemu, ale mam dobrą znajomość Linuxa, Unixa, Windowsa i sprzętu.
Jakie są najbardziej potrzebne tematy, które administrator systemu Linux musi znać na pamięć (w momencie, gdy jest w stanie naprawić, skonfigurować, opracować go bez konieczności czytania instrukcji na maksa; sprawdzanie stron podręcznika man, które są wspólne dla dowolnej dystrybucji )?
FOCUS Chciałbym ustawić dla tego byłoby z sieci firmowej do administrowania serwerem, które mogą mieć pewne cechy będą równe większość czasu mają kilka różnych te, jak również. Na przykład nie zawsze zobaczysz serwer FTP dla serwera firmowego, ale prawdopodobnie przez większość czasu widzisz Sambę ...
Nie mówię „książka, którą musisz przeczytać” ani podobnych rzeczy, ale miałem na myśli najbardziej niezbędne funkcje, które prawdopodobnie będą potrzebne w codziennym życiu jako administrator Linuksa.
Lubić:
- Jądro, iptables
- Sendmail, Postfix, qmail, exim
- Squid, Samba, NFS, LDAP
- Apache, ngxix, lighthttpd
- vsftpd, proftpd
- wiązać
- Codzienne problemy
- Jakiej funkcji najczęściej używałeś w ciągu dnia
To nie jest lista w kolejności ani najbardziej potrzebna. To tylko nazwa czegoś, co przyszło mi do głowy.
PS: Mam już podstawową wiedzę, ale nie mam codziennego doświadczenia w terenie. Miałem serwery, utworzyłem kilka sieci i tak dalej. Co więcej, mam nawet głęboką wiedzę na temat niektórych jej części. Chciałem po prostu zaktualizować to tutaj, tak jak powiedziałem, że jest to bardziej CODZIENNA LISTA ŻYCIA SYSADMINA LINUXA.
Byłbym wdzięczny, gdybyście mogli wymieniać tematy i na przykład, które pole w nim jest najczęściej używane lub ważne do zapamiętania.
Jeśli uważasz, że moje pytanie jest nieadekwatne, po prostu daj mi znać, a ja je usunę lub jeśli uważasz, że jest ono odpowiednie, ale wymaga dalszej przeróbki, daj mi również znać, a ja postaram się jak najlepiej.
Are you really sure you care about the day-to-day things?
mmmmm, ale problemy inst, które zdarzają się w codziennym życiu jednego z nich? który zaprowadzi cię do funkcji używanych na przykład w sieci ifconfig dhcp, jak powiedziałeś ... debugowanie na jakim poziomie wystąpił problem itp.Wiedz, jakie masz narzędzia
Nigdy nie dowiesz się wszystkiego z wyprzedzeniem. Ale ty możesz wiedzieć, co masz do pracy. Im więcej narzędzi znasz, tym więcej będziesz mógł używać. Jeśli wiesz, czym jest to narzędzie, co robi i gdzie można znaleźć więcej informacji na jego temat, to wystarczy, aby zacząć.
Zapoznaj się naprawdę ze
man
stronami. Nie musisz ich zapamiętywać, ale powinieneś wiedzieć, gdzie znaleźć to, czego szukasz.man
strony są lepsze niż Google pod względem wyszukiwania szczegółów składni, ponieważ strony zainstalowane w danym systemie odzwierciedlają różne dziwactwa lub informacje specyficzne dla wersji, które odpowiadają systemowi, na który patrzysz.Jeśli używasz
apache
dużo, zalecam poznanie składni konfiguracji Apache. Jeśli używasznginx
zamiast tego, naucz się tego zamiast tego. Ale tak czy inaczej, powinieneś wiedzieć, czym są oba i jak się różnią.Narzędzia systemowe
Istnieje kilka narzędzi, które pomogą ci bez względu na rodzaj wykonywanej pracy sysadmin. Zakładając, że znasz podstawy, jak
chmod
,mount
itp, oto kilka bardzo pomocne narzędzia niektórzy administratorzy nie rozumieją wystarczająco dobrze:Linia poleceń Ninja
Powiedziałbym, że solidne zrozumienie skryptów powłoki sprawia, że trudne rzeczy są szybkie i łatwe. Jeśli musisz sprawdzić składnię, istnieje duże prawdopodobieństwo, że w ogóle tego nie zrobisz, więc znajomość z wyprzedzeniem jest niezwykle ważna.
Załóżmy na przykład, że masz katalog pełen
mysqldump
plików „.sql”, z których każdy reprezentuje bazę danych, którą należy zaimportować na serwer. Czy importujesz wszystkie 35 z nich ręcznie? Jeśli jesteś dobrze zaznajomiony ze skryptami powłoki, naprawdę szybko jest po prostu wpisać jedno polecenie, a następnie wziąć kawę:Uwaga: Podzieliłem go na osobne linie dla zapewnienia czytelności; jeśli pozostawisz średniki w środku, możesz umieścić wszystko w jednym wierszu. W przeciwnym razie średniki nie będą potrzebne na końcu każdej linii.
Ponadto zalecam odświeżenie przy użyciu
sed
. Pomyśl o tym jako o sposobie stosowania wyrażeń regularnych w dowolnym miejscu. http://www.grymoire.com/Unix/Sed.htmlZałóżmy, że zmieniłeś numer telefonu i musisz odpowiednio zaktualizować wszystkie strony internetowe (i zapisać kopię zapasową na wypadek, gdybyś się bałagan).
Bardzo pomocna może być również wiedza o tym, jak właściwie połączyć istniejące narzędzia do robienia nowych rzeczy. Powiedz, że musisz zrobić to samo, co powyżej, ale także przeszukać podkatalogi -
Przydaje się również trochę doświadczenia
perl
. Być może nie będziesz musiał pisać z nim żadnych poważnych programów, ale został on zaprojektowany tak, aby robić wiele rzeczy, które robiąsed
iawk
robią, może tylko trochę bardziej elastycznie.Perla można użyć do wykonania magii z wiersza poleceń za pomocą
-e
opcji. Korzystanie z-p
,-n
i-i
można szybko pisać proste filtry, aby zrobić naprawdę przydatnych rzeczy. Na przykład powiedz, że musisz znaleźć adres IP wszystkich osób, które uzyskały dostęp do pliku „/admin.php” we wrześniu:Widzieć? To nie było takie złe. Jako administrator systemu powinieneś wiedzieć, jak to zrobić.
źródło
Jestem administratorem Windows, który trochę zagłębia się w Linuksa, więc nie jestem w stanie bezpośrednio odpowiedzieć na pytanie. Jednak moim zdaniem, kiedy już dobrze zrozumiesz podstawy, jedną najważniejszą rzeczą, którą administrator musi wiedzieć, niezależnie od systemu operacyjnego, jest gdzie i jak znaleźć odpowiedzi.
źródło
Oprócz innych odpowiedzi:
Myślę, że powinieneś także wiedzieć, jak radzisz sobie z procesami:
Myślę, że nie musisz opanować sed (przynajmniej nie wiem), udaje mi się z łatwością poradzić sobie z jednym z greps (grep, egrep, zgrep itp.). Musisz jednak znać podstawową składnię wyrażeń regularnych.
Myślę, że powinieneś znać podstawowe polecenia do manipulowania i / lub monitorowania MTA (postfiks lub exim) i MDA (dovecot, cyrus, kurier), jeśli zarządzasz serwerem pocztowym. Nawet jeśli go nie uruchomisz, będziesz w stanie przeprowadzić podstawowe testy SMTP na MTA, choćby w przypadku problemów z dostawą lokalną.
Powinieneś znać swoją metodę korzystania z systemu uwierzytelniania (PAM, LDAP). Gdzie są przechowywane twoje hasła? używając jakich procedur? Jakie aplikacje używają jakich mechanizmów uwierzytelniania?
źródło
Jest kilka rzeczy, które koniecznie musisz wiedzieć.
Musisz dobrze zrozumieć swoją powłokę (jak analizuje argumenty, jak rozwija symbole wieloznaczne, gdzie są małe, narożne przypadki).
Musisz mieć możliwość edycji plików bez uruchomionego X11.
Musisz mieć możliwość montowania i odmontowywania systemów plików.
Musisz mieć możliwość szybkiego przyswajania nowych informacji. Ponieważ są to umiejętności, których potrzebujesz, gdy załamała się farma serwerów całej firmy, a ty masz dostęp tylko przez piddly serwer konsoli (to „konsola” jak w porcie szeregowym) i / lub bardzo wolne połączenie VPN (tworząc coś w oparciu o X11 bolesny). I tak się stanie, więc zaplanuj to.
źródło
Podane przykłady są świetnymi odpowiedziami związanymi z serwerem .. jednak .. Administracja systemem nigdy nie jest w 100% komputerowa .. Szkoda, że tak nie było!
W naszym przypadku musisz także radzić sobie z ludźmi, co oznacza, że jest to Manglement, Lusers, Kontrahenci i Dostawcy .. arg ^ n
Umiejętność obsługi klienta, umiejętność mówienia o tym, czego potrzebujesz / chcesz / masz do zrobienia, uzyskiwanie informacji dla innych osób, dokumentacja, są niezbędne w utrzymaniu pracy sysadmin.
Jeśli chcesz otrzymać i sfinansować swoje projekty: Nie ma sensu próbować nowego serwera, jeśli nie wiesz, jak poprosić o pieniądze, jeśli nie masz danych liczbowych / alternatyw / planu DR / ofert / planu wdrożenia itd. Polityka biurowa to B ** CH, pieniądze to zawsze: „Tight” .. cokolwiek to znaczy… nie wpływa na samochody służbowe, ale wpłynie na bezpieczeństwo Twojej witryny i możliwość standaryzacji, jeśli możesz nie wyświadczaj im swoich powodów.
Powiedziałbym najważniejszą rzecz do zapamiętania: NIE ZAUFAJ CO MÓWI UŻYTKOWNIK . Miej to na uwadze, odbierając telefon. Bez względu na to, co powiedzą, nadal będziesz musiał sam to zrozumieć, ponieważ to ostatecznie twój tyłek, a nie ich, i na ogół nie mają pojęcia. To, że potrafią ułożyć akapit z modnym hasłem, by oszołomić twojego szefa, nie oznacza, że tak naprawdę wiedzą, co właśnie powiedzieli.
Inne przemyślenia:
Upewnij się, że masz wystarczająco dużo czasu na zasilaczu UPS, aby wyłączyć wszystko, gdy nastąpi awaria zasilania
Monitorowanie, upewnij się, że WIESZ, że spadł .. nie czekaj, aż luser zadzwoni.
BACKUPS BACKUPS BACKUPS .. systemy dla wielu użytkowników są podatne na nadgodziny, jeśli nie masz dobrego systemu tworzenia kopii zapasowych. Nadgodziny są złe (nie dla twojej kieszeni, ale dla twojego budżetu i profesjonalizmu).
NIGDY NIGDY NIE ZMIENIAJ W PIĄTEK, ani w dzień przed wakacjami. W weekend zadzwonisz, będziesz musiał to naprawić, będziesz miał naprawdę kiepski czas…
Standaryzuj i automatyzuj ... jak tylko możesz! Jeśli możesz to napisać, dlaczego nie?
Dowiedz się, jak używać / instalować system pomocy technicznej, aby użytkownicy rejestrowali przez niego połączenia, pozwoli ci to śledzić twoje działania, zapewni wyższym bodźcom motywację do płacenia ci więcej za pracę, którą wykonujesz, i pozwoli ci nagrywać twoje odpowiedzi (defacto KB) .. wszystko podczas informowania użytkownika o postępie. Zapewnia, że zapytania / problemy użytkowników nie gubią się w powodzi. (Spiceworks jest bezpłatny, istnieje wiele innych)
Kupiłem egzemplarz: The Practice of System Administration autorstwa Limoncelli, bardzo go polecam.
źródło
Administrator systemu Linux musi dokładnie zrozumieć uprawnienia do plików , a także korzystanie z narzędzi takich jak su i sudo , chmod i chown itp., Jak dodać użytkownika do grupy lub utworzyć nowych użytkowników, jak nadać uprawnienia SSH niektórym użytkownikom lub grupy.
źródło
Musisz być szybki dzięki edytorowi w wierszu poleceń.
źródło
Dowiedz się
sed
,grep
iawk
: wiele z tego, co robię codziennie jako administrator systemu Linux, zawiera ogromną listę plików / komputerów / użytkowników / itp. i przekształcić dane wejściowe w inny zestaw danych wyjściowych do użycia przez inny program.Konkretnym przykładem tego jest pobieranie listy uszkodzonych komputerów z, powiedzmy, Bugzilli lub RT, zbieranie wszystkich obcych informacji, które szybko skopiowałem i wkleiłem do dokumentu tekstowego za pomocą jednego z tych trzech narzędzi powyżej, a następnie wyprowadzam rozdzielana spacjami lista węzłów, do których muszę włączyć SSH.
Ponadto zdecydowanie musisz znać górne limity używanej powłoki. Częściej niż nie, jeśli musisz usunąć kilka starych plików, prawdopodobnie natkniesz się na folder zawierający ponad 30 000 plików.
rm *
nie będzie działać, ponieważ gwiazdka zostanie rozwinięta do listy zawierającej ponad 30 000 pozycji, a używana powłoka prawdopodobnie nie będzie w stanie przechowywać listy o takim rozmiarze. Sposób rozwiązania tego polega naxargs
: zamiastrm *
, użyjeszls | xargs -i{} rm {}
, co będzie działać.źródło
Jako sysadmin uważam się za lekarza cyfrowego (lub, w zależności od dnia, czasami światowej klasy chirurga mózgu).
Gdy wszystko zadziała, będziesz mieć mnóstwo czasu na doskonalenie swoich umiejętności i administrowanych systemów.
Gdy coś zawiedzie, musisz być w stanie natychmiast zdiagnozować problem i zrozumieć, jak go naprawić.
Musisz więc nauczyć się / zapamiętać podstawy (a także do pewnego stopnia wewnętrznych) serwerów i aplikacji, którymi zarządzasz. Załóżmy, że Twoja firma hostuje witrynę internetową z katalogiem głównym obsługiwanym przez NFS. Nagle wszystkie węzły www zaczynają alarmować, a strona przestaje odpowiadać. Co podejrzewać? Ah-ha! Serwer NFS właśnie przestał działać, a klaster pracy awaryjnej również z jakiegoś powodu nie działał.
Innym ważnym aspektem do nauczenia się jest podstawowe obciążenie administrowanych serwerów. Naucz się zapamiętywać ich średnie obciążenie, użycie procesora, użycie pamięci i tym podobne. OK, nie musisz zapamiętywać tego wszystkiego - wykresy utworzone za pomocą Cacti lub net-snmp + mrtg mogą bardzo pomóc, ale jeśli twój pager alarmuje o dziwnym zachowaniu się serwera X, a jednocześnie helpdesk dzwoni do ciebie mówiąc o innych serwer lub usługa będą mieli problemy, możesz połączyć te dwie rzeczy i przejść do naprawy, nawet zanim przejrzysz dzienniki, historię alarmów lub wykresy.
Przygotuj się także na najgorsze: zastanów się, co byś zrobił, gdyby całe centrum danych uległo awarii z powodu awarii zasilania. Jak byś uruchomił wszystko po ponownym udostępnieniu prądu? Co byś zrobił, gdyby coś się nie uruchomiło? Jak przywrócisz kopie zapasowe? A co byś zrobił, gdyby ktoś ostrzegł cię o włamywaczu, który właśnie włamał się na twoje serwery? (Tego rodzaju rzeczy powinny być udokumentowane jako lista kontrolna, ale dobrze też mieć intuicję)
I, jak wspominają inni, kontynuuj pisanie skryptów rzeczy, które powinny działać (częściowo) automatycznie. Ucz się i baw się z powłoką / Perlem, naprawdę są twoimi najlepszymi przyjaciółmi i bardzo często potrafią rozwiązać bardzo złożone problemy za pomocą tylko kilku poleceń.
źródło