Администрација Линукс система: Комплетан водич за системске администраторе

Последње ажурирање: КСНУМКС Јануар КСНУМКС
  • Линукс се истиче код сервера због своје стабилности, безбедности и флексибилности, што га чини идеалном основом за критичне инфраструктуре.
  • Ефикасна администрација захтева савладавање корисника, дозвола, мреже, услуга, безбедности, праћења и резервних копија.
  • Алати као што су systemd, Cockpit, Glances, Resti или Lynis олакшавају напредно управљање и јачање система.
  • Специфична обука за системе и мреже отвара могућности за каријеру као Линукс администратор, DevOps или специјалиста за сајбер безбедност.

Администрација система Линук

Администрација Линукс система постала је кључни задатак у сваком модерном ИТ одељењу. Било да је у питању мали VPS сервер или велики дата центар са стотинама машина, увек постоји неко иза кулиса ко обезбеђује стабилност, безбедност и перформансе система.

Ако свакодневно користите терминал или тек почињете да експериментишете са серверима, овај водич ће вам послужити као комплетан водич: од управљања корисницима и групама , конфигурације мреже и сервиса, до праћења, веб конзоле у ​​RHEL-у и концепата које морате савладати да бисте радили као озбиљан системски администратор Линукса. Ако вам је потребно више команди, погледајте наше савете и пречице за савладавање терминала.

Шта је Линукс и шта подразумева његово управљање?

Линукс је оперативни систем отвореног кода чије је језгро креирао Линус Торвалдс 1991. године. Данас је свеприсутан: веб сервери, суперрачунари, рутери, Андроид телефони, cloud контејнери и још много тога. Његова популарност у корпоративним окружењима произилази из његове стабилности, безбедности и флексибилности , што га чини омиљеним избором за критичну инфраструктуру.

Када говоримо о администрацији Линукса, мислимо на све задатке неопходне да би систем функционисао континуирано, брзо и безбедно. То укључује све, од почетне инсталације и партиционисања дискова и фајл система до конфигурисања сервиса, јачања безбедности, праћења ресурса и решавања проблема који се неизбежно јављају.

Системски администратор Линукса је одговоран за обезбеђивање доступности сервера, функционалне резервне копије, несметано корисничко искуство и спречавање да изоловани кварови ескалирају у широко распрострањене прекиде рада. У хостинг компанијама специјализованим за Линукс , ови стручњаци подешавају инфраструктуру, конфигуришу мрежу, управљају хардвером и решавају проблеме који се крећу од једноставних проблема са веб сервисима до сложених миграција виртуелизације.

Кључне функције Линукс администратора

Уобичајени задаци системског администратора Линукса су веома разноврсни, али се обично врте око неколико основних одговорности које би требало да буду јасне од самог почетка.

  • Инсталација и конфигурација системаизбор дистрибуције (Ubuntu, Debian, RHEL, CentOS Stream, Rocky, итд.) — бољи распореди за заштиту ваше безбедностиПартиционисање, инсталација пакета, конфигурација systemd-а и основни сервиси.
  • Управљање корисницима и дозволамакреирање и брисање налога, додељивање групама, контрола дозвола за датотеке, коришћење јаких лозинки и, у великим окружењима, интеграција са сервисима директоријума као што су LDAP или IdM.
  • Управљање услугама и демонимаПокретање, заустављање, поновно покретање и праћење сервиса као што су веб сервери, базе података, DNS, е-пошта, сервиси за датотеке и други, коришћењем алата као што су systemctl.
  • Сигурност системаКонфигурација заштитног зида (фајервола), управљање закрпама, коришћење SELinux-а или AppArmor-а, безбедносне ревизије и примена најбољих пракси заштите безбедности.
  • Праћење и перформансеПраћење коришћења процесора, RAM меморије, диска и мреже, откривање уских грла, праћење процеса и планирање проширења ресурса.
  • Израда резервних копија и опоравак: дизајн политика за прављење резервних копија, коришћење алата за шифровано копирање, тестирање рестаурације и аутоматизација ових задатака.
  • Аутоматизација и скриптовање: креирање шел скрипти и коришћење заказаних задатака са cron или алате за оркестрацију ради смањења ручног рада и грешака.
  • Даљинско управљање: приступ серверима путем SSH-а, веб конзоле као што је Cockpit и друга централизована решења за управљање, често интегрисана у облак.

Управљање корисницима и групама у Линуксу

Линукс је систем за више корисника у коме сваки налог има добро дефинисану улогу. Камен темељац администрације је разумевање разлике између администраторског корисника и осталих редовних налога, као и улоге група и њихових повезаних конфигурационих датотека.

У сваком Линукс систему наћи ћете привилеговани налог под називом коренСуперкориснички налог има могућност да прави било какве измене: мења конфигурацију језгра, брише системске датотеке, креира или брише кориснике, управља сервисима итд. Управо због ове неограничене моћи, препоручује се коришћење овог налога само када је то апсолутно неопходно, а остатак времена радити са нормалним корисничким налогом. sudo за конкретне задатке.

Стандардни кориснички налози су они који крајњи корисници користе или системске услуге да би функционисале. Ови налози немају администраторске дозволе подразумевано, тако да не могу да мењају глобална подешавања или лако угрозе систем. Да би се доделиле контролисане привилегије, листе овлашћених корисника се користе у /etc/sudoers или у укљученим датотекама, тако да се root лозинка не мора делити са више људи, што би представљало значајан ризик.

Групе у Линуксу се користе за груписање корисника и поједностављивање додељивања дозвола датотекама, директоријумима и ресурсима. Сваки корисник има примарну групу и може припадати једној или више секундарних или додатних група. Типично, примарна група се креира са истим именом као и корисник и подразумевано је повезана са датотекама које корисник креира.

Примарна група одређује којој групи се подразумевано додељују датотеке које је генерисао корисник, док секундарне групе то дозвољавају издати додатне дозволе да приступате дељеним директоријумима, покрећете одређене сервисе или користите уређаје. Систем већ долази са унапред дефинисаним групама за одређене функције (као што су sudo, adm, www-dataитд.), а администратор је тај који одлучује како да их комбинује.

Основне датотеке и команде за кориснике и групе

Главне информације о налогу и групи се чувају у обичним текстуалним датотекама, које систем континуирано консултује. Датотека /etc/passwd дефинише кориснике, њихов UID, примарни GID, почетни директоријум и командну шкољку за покретање, док /etc/group Прикупља групе, њихов GID и листу чланова. Да би се побољшала безбедност лозинки, користи се датотека. /etc/shadow, доступан само root-у, који чува хешеве и податке о истеку.

  Линук 6.14: Шта је ново, безбедносна побољшања и хардверска подршка

За управљање налозима и групама постоје специфични алати које сваки администратор треба да савлада. Најчешће команде за основне задатке су следеће:

Команда Главна функција
useradd Направи нови налог корисника у систему, са њиховим UID-ом, кућним директоријумом и придруженом љуском.
userdel Избришите корисника и, опционо, ваш кућни директоријум и повезане датотеке.
passwd Подесите или промените лозинку постојећег корисника и управљање истеком.
groupadd Направите нову групу и доделите му групни идентификатор (GID).
groupdel Избришите групу када више није потребан или је празан.
whoami Прикажи тренутног корисника са којим сте се пријавили на терминал.

На овим темељима су изграђене напредније конфигурације, као што је употреба LDAP или IdM услуге директоријума централизовати аутентификацију корисника и група путем модула као што су nsswitch и PAM, тако да исти скуп акредитива ради на више Linux сервера унутар организације.

Конфигурација мреже и повезивање у Линуксу

Једна од предности Линукса је то што вам омогућава да лако конфигуришете мрежу из терминала , како да проверите тренутну конфигурацију, тако и да измените ИП адресе, маске, гејтвеје или дијагностикујете проблеме са повезивањем помоћу неколико команди.

Да бисмо видели како је конфигурисана TCP/IP мрежа, можемо користити класични алати као ifconfig (на системима где је још увек доступан) или модерније команде као што су ip addrИзлаз приказује интерфејсе, повезане IP адресе (поље инет), мрежну маску и, у зависности од случаја, параметре као што су емитовање, стање интерфејса и друго.

ifconfig eth0 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255

У овом примеру, eth0 То је мрежни интерфејс на основу којих делујемо; успостављамо IP адресу, /24 маску подмреже и адресу за емитовање. У новијим системима, тенденција је да се користе ip за овај задатак, али концепт је исти: статички доделити адресу одговарајућем интерфејсу.

Да бисте проверили повезаност са другом машином, основни алат у Линуксу је коришћење команде ping , која шаље ICMP пакете на одредиште и приказује време одзива. Типичан пример би био:

ping 127.0.0.1

Резултат показује да ли постоји одговор, величину пакета и латенцију. Поље TTL (Time To Live - време трајања) одражава максимални животни век пакета: што је TTL нижи, то је више скокова прешао. Типичне почетне вредности као што су 64 или 128 су уобичајене у модерним системима.

За анализу веза и портова постоје алати као што су netstat (све више замењује се са ss), што омогућава Погледајте активне везе, статистику и руте мреже. Са различитим опцијама, администратор може да види портове за слушање, успостављене везе, саобраћај по интерфејсу или табеле рутирања.

опција нетстат опис
netstat -a Приказује све везе и портове.без обзира да ли су активни или у стању приправности.
netstat -e Предајте статистику долазних и одлазних пакета интерфејса.
netstat -f Приказује потпуно квалификована имена домена уместо само IP адреса.
netstat -n Приказује нумеричке адресе и портове, без решавања имена.
netstat -o Укључите идентификатор процеса повезан са сваком везом.
netstat -p X Филтрирај по протоколу специфични (TCP, UDP, tcpv6, tcpv4, итд.).
netstat -q Листа портова који слушају и не слушају повезан са системом.
netstat -s Групише статистику по протоколу ради детаљније анализе.
netstat -r Приказује табелу рутирања тренутни систем.
netstat -t Филтрирајте TCP везе, корисно за проверу преузимања или активних сесија.
netstat -x Пружа информације о NetworkDirect везама., у окружењима која их користе.

У оквиру ширег оквира мрежне администрације, Линукс администратор мора да разуме концепте као што су подмреже, мрежне маске, рутирање и разрешавање имена , као и да управља услугама као што су DNS, DHCP или прокси сервери када су део инфраструктуре.

Праћење ресурса и процеса

Кад год сервер успори или почне чудно да се понаша, прва ствар која вам је потребна је увид у то шта се дешава . Линукс нуди скуп услужних програма за праћење коришћења процесора, меморије, диска и мреже у реалном времену, као и за идентификацију процеса који троше највише ресурса.

Класични алати као што су top и његова побољшана алтернатива htop показати а динамички поглед на системпросечно оптерећење, укупна и слободна меморија, коришћење swap-а, листа процеса поређаних по потрошњи CPU-а или RAM-а итд. Са ових интерфејса, сигнали се могу слати процесима (на пример, да би се завршио процес који је замрзнут) или им се може променити приоритет.

За још свеобухватнији преглед, услужни програми попут Glances приказују статус процесора, меморије, диска, мреже, процеса и сервиса на једном екрану, па чак вам омогућавају и даљинско праћење више сервера путем веб интерфејса. Лако се инсталира помоћу пакета као што је:

sudo apt install glances

Када је потребан специјализованији приступ, користе се алати као што су ps, који дозвољавају листа активних процеса са детаљним информацијама: ПИД, корисник, коришћење процесора и меморије, време извршавања, комплетна команда итд. Уобичајени образац је комбиновање ps са grep да филтрирате по одређеном процесу и брзо га пронађете међу свима које систем покреће.

У производним и високо-перформансним окружењима, могу доћи до изражаја напреднија решења за праћење, способна да прикупљају историјске метрике , генеришу графиконе и шаљу упозорења: системи као што су Прометеус, Графана или интеграције које пружају централизоване контролне табле омогућавају вам да пратите еволуцију перформанси током времена и предвидите проблеме пре него што их корисници примете.

Сервиси, системд и администрација у Линуксу

Велики део магије Линукс сервера лежи у његовим позадинским сервисима (такође названим демонима ) . Ови програми не приказују графички интерфејс и обично не интерагују директно са корисником, али пружају функције као што су сервирање веб страница, управљање базама података, руковање е-поштом и дељење датотека преко мреже.

  Подршка за Picolibc у GCC 16 за уграђене системе

У већини модерних дистрибуција, покретање и управљање сервисима обавља systemd . Овај систем за покретање контролише које се услуге покрећу када се сервер покрене, како се управља њиховим зависностима и како се прате како би се осигурало да остану активне или да се поново покрећу ако дође до отказа.

Л битне команде у вези са systemctl које сваки администратор треба да зна су:

  • Покрените услугу: systemctl start nombre_servicioНа пример, да покренете веб сервер.
  • Зауставите услугу: systemctl stop nombre_servicio, ако је потребно да га зауставимо због одржавања или због откривеног проблема.
  • Поново покрените услугу: systemctl restart nombre_servicioкорисно након промена конфигурације.
  • Проверите статус: systemctl status nombre_servicio, што приказује да ли је активно, недавне грешке и релевантне логове.
  • Омогући при покретању: systemctl enable nombre_servicioтако да се демон аутоматски покреће са системом.
  • Онемогући при покретању: systemctl disable nombre_servicio, ако више не желимо да се аутоматски покреће.

Приликом дијагностиковања које портове користи одређена услуга, можете прибећи ssшто је модерна алтернатива netstatТипична команда би била:

ss -tulpn | grep nombre_servicio

Ово даје листу TCP и UDP сокета који слушају повезане са дотичном услугом и ID процеса (PID). Ово брзо потврђује да, на пример, веб сервер заиста слуша на порту 80 или 443 и да нема сукоба са другим процесима.

Безбедност Линукса: Принципи и алати

Озбиљна системска администрација Линукса не сме занемарити безбедност . Сваки слој система – корисници, сервиси, мрежа, апликације – мора бити конфигурисан по принципу најмањих привилегија како би се минимизирала површина напада.

На основном нивоу, ово подразумева коришћење јаких лозинки , пажљиво управљање дозволама за датотеке (читање, писање и извршавање за корисника, групу и друге) и ограничавање удаљеног приступа помоћу SSH-а са кључевима, онемогућавање директног пријављивања root-а и ограничавање одакле су везе дозвољене.

Поред тога, механизми као што су фиреваллс (на пример, са firewalld o iptables) за контролу отворених портова, системе за детекцију упада, шифровање осетљивих података и, у многим пословним окружењима, коришћење SELinux-а или AppArmor-а за спровођење обавезних контрола приступа које отежавају искоришћавање рањивости.

Да бисте периодично проверавали безбедност, алати попут Lynis-а вам омогућавају да скенирате систем и генеришете извештаје са конкретним препорукама за побољшање конфигурације. Након инсталације обично покрећете нешто попут:

sudo apt install lynis
sudo lynis audit system

Са сваким ажурирањем и закрпом , систем исправља недостатке и слабости које би могле постати улазне тачке за нападаче. Игнорисање чак и наизглед мањих рањивости је лоша идеја: многи озбиљни инциденти почињу непажљивим детаљем који се превиди.

Резервне копије и континуитет услуге

Ниједан администратор не може бити миран без добро осмишљене стратегије прављења резервних копија . Резервне копије служе за заштиту критичних података од кварова хардвера, људских грешака, напада ransomware-а или разних катастрофа.

Осмишљавање доброг плана прављења резервних копија значи одлучивање које податке треба резервно копирати, колико често, где их чувати и како проверити њихов интегритет . Уобичајено је комбиновање локалних резервних копија са екстерним или облачним складиштем, користећи шифровање за заштиту информација током преноса и у стању мировања.

Модерни алати попут Restic-а нуде моћно решење за креирање шифрованих, компресованих и ефикасних резервних копија, са подршком за више дестинација: од локалног диска до S3-типа сервиса или складиштења код екстерних провајдера. Инсталација је обично једноставна као:

sudo apt install restic

Поред креирања резервних копија, подједнако је важно периодично тестирати процес враћања података како би се осигурало да се, уколико дође до проблема, подаци могу опоравити без изненађења. Многи администратори заказују делимична пробна враћања података као део својих рутинских задатака одржавања.

Веб конзола у RHEL 8: графичка администрација са Cockpit-ом

Иако се практично сви задаци након инсталације у Линуксу могу обавити путем терминала, системи попут Red Hat Enterprise Linux 8 такође имају веб-базирану административну конзолу засновану на Cockpit-у, дизајнирану да олакша управљање и праћење локалног система и других сервера унутар мреже.

Ова веб конзола користи исте системске API-је као и командна линија, тако да се све промене направљене у терминалу одмах одражавају на веб интерфејсу и обрнуто. Задаци који се могу обављати укључују управљање услугама, праћење дневника , преглед графикона перформанси и основну конфигурацију мреже, корисника и складишта.

Да бисте га користили, потребно је омогућите услугу cockpit.socketкоји покреће веб сервер. Долази унапред инсталиран у многим RHEL 8 Cockpit инсталацијама, али ако није, једноставно инсталирајте пакет. cockpit а затим омогућите сокет. Ако користите прилагођени заштитни зид са firewalld, услуга мора бити додата cockpit да отворите порт 9090 и омогућите приступ са других рачунара.

Приступ конзоли је преко веб прегледача, уносом адресе сервера и одговарајућег порта. За аутентификацију можете користити исти системски кориснички акредитиви, захваљујући специфичном PAM стеку који се налази у /etc/pam.d/cockpitАко ваш корисник има привилегије sudoМогуће је одабрати опцију поновне употребе лозинке за привилеговане задатке, што вам омогућава да инсталирате софтвер или конфигуришете SELinux из интерфејса.

У окружењима интегрисаним са доменима за управљање идентитетом (IdM) , конзола такође може да прихвати једнократне лозинке (OTP) као други фактор аутентификације, под условом да је домен конфигурисан за то. Ово јача веб приступ администрацији сервера.

Поред основних задатака као што су поновно покретање или искључивање система, конфигурисање временске зоне или синхронизација времена са NTP серверима, веб конзола вам омогућава да придружите сервер IdM домену, пратите перформансе и прегледате системске логове. Могуће је онемогућити хардверске функције као што је симултано вишенитно обрада (SMT) како би се ублажиле одређене рањивости процесора (L1TF, MDS), имајући у виду да то може довести до губитка перформанси.

  Windows Task Manager: Комплетан и практичан водич

Напредна подешавања конзоле се управљају из /etc/cockpit/cockpit.confУређивање ове датотеке вам омогућава, на пример, да омогућите правни банер пре пријаве (веома често у организацијама и компанијама које упозоравају на овлашћено коришћење система) или подесити време истека сесије тако да се интерфејс аутоматски затвара након периода неактивности. Након измене ове датотеке, потребно је поново покренути услугу веб конзоле да би промене ступиле на снагу.

Врсте Линукс сервера и случајеви употребе

Када говоримо о Линукс серверима, не мислимо само на машину физички инсталирану у дата центру; ово такође укључује клауд сервере, VPS-ове, контејнере и виртуелизована окружења. Сви они деле заједнички образац: покрећу варијанту оперативног система засновану на Линукс језгру и дизајнирани су да подрже захтевне апликације на нивоу предузећа.

У стварном свету налазимо веб сервере (за хостовање веб локација и апликација), сервере база података, имејл сервере, фајл сервере, сервере за аутентификацију и многе друге. Избор правог типа Linux сервера зависиће од његове предвиђене улоге , захтева за перформансама, потреба за скалабилношћу и расположивог буџета.

Међу најчешћим опцијама су клауд сервери , који нуде велику флексибилност, плаћање по употреби и приступ са било ког места са интернет конекцијом. Посебно су популарни за пројекте којима је потребно динамички повећавање или смањење ресурса.

С друге стране, наменски физички сервери захтевају већа улагања, али вам омогућавају да максимизирате снагу хардвера и имате потпуну контролу над системом. Они су чест избор за веома интензивна радна оптерећења или када је потребна строга изолација одређених сервиса.

Између њих су VPS-ови или виртуелни сервери , који пружају занимљив баланс између цене, перформанси и флексибилности, што је уобичајена опција за компаније и пројекте који праве прве кораке са напреднијом инфраструктуром.

Корисни алати за подизање Линукса на виши ниво

Поред класичних команди које сваки администратор зна, Линукс екосистем нуди добар број мање популарних алата који могу значајно поједноставити живот системског администратора и побољшати безбедност, перформансе и аутоматизацију.

Већ смо поменули Glances за компактно праћење различитих системских ресурса и Restic за шифроване резервне копије. Поред тога, алат Cockpit вам омогућава управљање серверима путем интуитивног веб интерфејса, са подршком за више машина и доступношћу на дистрибуцијама као што су Red Hat, Debian и Ubuntu. Инсталира се и омогућава командама као што су:

sudo apt install cockpit
sudo systemctl enable --now cockpit

У области дубинске анализе, бпфтраце Користи BPF инфраструктуру језгра за обављање напредно отклањање грешака и анализа перформанси: прегледајте системске позиве, проучите процесе или мрежни саобраћај без високих трошкова старијих алата као што су strace o tcpdumpПосебно је корисно за администраторе и програмере којима је потребно да виде тачно шта се дешава унутар језгра у реалном времену.

Поред тога, за оне који тек почињу, топло се препоручује коришћење структурираних материјала за обуку , као што су књиге намењене преласку са основног корисника на напредног администратора, где је објашњено све, од команди за управљање датотекама и процесима до интегрисаног заштитног зида, конфигурације локалне мреже, па чак и форензичких и офанзивних безбедносних алата.

Обука за администраторе Линукса и могућности за каријеру

Ако вам је циљ да професионално радите као системски администратор Линукса , један од најдиректнијих путева је обука у циклусима стручног оспособљавања везаним за рачунарство и мреже.

Програми попут стручног оспособљавања ( FP) за администрацију умрежених рачунарских система (ASIR) или стручног оспособљавања (FP) за развој вишеплатформских апликација (DAM) пружају солидну основу: оперативне системе, мреже, услуге, безбедност и програмирање. То су вештине које многе компаније траже када траже системске или DevOps стручњаке са фокусом на Linux.

Могућности за каријеру за Линукс администратора укључују позиције у технолошким компанијама, провајдерима хостинга, телекомуникацијама, банкарству, ИТ консалтингу, јавном сектору и стартап компанијама . Најчешће улоге укључују систем администратора, мрежног инжењера, специјалисту за сајбер безбедност, DevOps инжењера и менаџера облачне инфраструктуре.

У секторима као што је управљани хостинг, искусни системски тимови су одговорни за подешавање и управљање комплетним инфраструктурама: од планирања мреже и избора провајдера повезивања до решавања проблема са хардвером и софтвером, миграције између платформи за виртуелизацију (на пример, са VMware на Proxmox) и свакодневног рада десетина или стотина Linux сервера.

Како искуство расте, многи администратори на крају воде сложене пројекте који укључују виртуелизацију, масовну аутоматизацију, распоређивање контејнера или дизајн архитектура високе доступности, увек са Линуксом као централним делом слагалице.

Савладавање системске администрације Линукса подразумева разумевање и основа система (корисници, процеси, дозволе, мрежа, фајл систем) и виших слојева услуга, безбедности, праћења, резервних копија и оркестрације. Уз праве алате, добро осмишљену безбедносну стратегију и солидну обуку, могуће је управљати било чиме, од једноставног сервера до сложене дистрибуиране инфраструктуре, одржавајући контролу, смањујући ризике и осигуравајући да све настави да ради чак и када нешто крене наопако.

Како уредити датотеку hosts-7
Повезани чланак:
Како уредити датотеку Hosts: Комплетан водич за Windows, Mac и Linux