1. Problemin qoyuluşu
Yaxşı, qarşımızda intensiv praktik iş var ki, burda əvvəlki dərslərdə öyrəndiyiniz bilikləri tətbiq edə biləcəksiniz. İstifadəçilər yaradacağıq, onları qruplara birləşdirəcəyik, unikal giriş hüquqları təyin edəcəyik və sistemin proseslərini idarə edəcəyik. Və əgər belə düşünürsünüzsə: "Bütün bunlar mənə niyə lazımdır?", təsəvvür edin ki, siz sistem administratoru və ya DevOps mühəndisisiniz və komandaya birgə iş üçün server tənzimləmək tələb olunur. Və ya sadəcə öz kompüterinizi xaosdan xilas etmək istəyirsiniz! Real həyatda belə vəziyyətlərlə tez-tez rastlaşılır.
Sizin məqsədiniz — aşağıdakı istifadəçilər və proseslər üçün sistemi tənzimləməkdir:
- İki istifadəçi yaradın:
user1vəuser2. Onlardevelopersqrupunda birgə işləməli olacaqlar. - Bir faylı (məsələn,
project.txt) elə tənzimləyin ki, yalnızdevelopersqrupunun üzvləri onu redaktə edə bilsinlər. - Bəzi proseslər yaradın (məsələn,
sleepəmri ilə) və onları zərurət yaranarsa bitirməyi öyrənin. - Hansı proseslərin daha çox resurs sərf etdiyini müəyyən etmək üçün aktiv proseslərə baxın.
Plan kimi səslənir? Gəlin bunu addım-addım həyata keçirək.
2. Addım 1: İstifadəçilərin yaradılması
1. İstifadəçiləri yaradırıq
Əvvəlcə iki istifadəçi yaradaq:
sudo adduser user1
sudo adduser user2
Bu əmrləri yerinə yetirərkən sistem sizdən hər bir istifadəçi üçün parol təyin etməyi və təsvir daxil etməyi xahiş edəcək. Burada lazımsız məlumatları doldurmayacağıq, sadəcə Enter düyməsini basa bilərsiniz.
Hər bir istifadəçi üçün avtomatik olaraq /home qovluğunda ev qovluğu yaradılır. Bunu yoxlaya bilərsiniz:
ls /home
Əgər lokal olaraq işləyirsinizsə, administrator hüquqlarını əldə etmək üçün sudo istifadə etməyi unutmayın. Əgər WSL-dəsinizsə, orada istifadəçilərlə bağlı bəzi nüanslar ola bilər. Məsələn, WSL-də standart olaraq istifadəçi artıq sistem administratorudur.
3. Addım 2: Qrup yaradılması və istifadəçilərin əlavə edilməsi
1. Qrup yaradırıq
İstifadəçilərin birgə layihələr üzərində işləyə bilməsi üçün onları qrupa əlavə edəcəyik. Əvvəlcə developers adlı bir qrup yaradaq:
sudo groupadd developers
2. İstifadəçiləri qrupa əlavə edirik
İndi user1 və user2 istifadəçilərini developers qrupuna əlavə edək. Bunun üçün usermod komandası istifadə edəcəyik:
sudo usermod -aG developers user1
sudo usermod -aG developers user2
3. Qrup üzvlüyünü yoxlayırıq
İstifadəçilərin qrupa düzgün əlavə edildiyinə əmin olmaq üçün aşağıdakıları icra edin:
groups user1
groups user2
Siz görməlisiniz ki, user1 və user2 developers qrupunun üzvüdürlər.
4. Addım 3: Fayllarla və giriş hüquqları ilə işləmək
1. Layihə üçün fayl yaradırıq
project.txt faylını istifadəçilərdən birinin (məsələn, user1) ev direktoryasında yaradaq:
sudo -u user1 touch /home/user1/project.txt
sudo -u komandası bizə başqa istifadəçinin adından əməliyyatlar yerinə yetirmək imkanı verir.
2. Faylın sahibi və qrupunu dəyişdiririk
Sahibi user1, qrupu isə developers edirik ki, hər iki istifadəçinin bərabər girişi olsun:
sudo chown user1:developers /home/user1/project.txt
3. Giriş hüquqlarını tənzimləyirik
İndi faylın giriş hüquqlarını dəyişdirək. chmod komandasından istifadə edək:
sudo chmod 660 /home/user1/project.txt
Nə etdik? user1 sahibinə və developers qrupuna oxumaq və yazmaq hüquqları verdik rw-, digər hər kəs isə heç bir hüquqa malik deyil.
Giriş hüquqlarını ls komandası ilə yoxlaya bilərsiniz:
ls -l /home/user1/project.txt
Gözlənilən nəticə:
-rw-rw---- 1 user1 developers 0 tarix vaxt /home/user1/project.txt
5. Addım 4: Proseslərin işə salınması
1. Prosesləri başladırıq
Eksperiment üçün sleep komandası ilə bir neçə "uzun ömürlü" proses yaradacağıq:
sleep 300 &
sleep 400 &
sleep 500 &
Hər bir sleep komandası & simvolu sayəsində fon rejimində işə salınır.
Proseslərin siyahısını yoxlamaq üçün ps komandasından istifadə edin:
ps
Daha ətraflı məlumatı ps aux ilə görə bilərsiniz:
ps aux | grep sleep
6. Addım 5: Proseslərin tamamlanması
1. PID ilə prosesi tamamlayırıq
Bir prosesin PID-ni (məsələn, sleep) müəyyən edirik və onu tamamlayırıq:
kill PID
Burada PID — prosesi təyin edən identifikator, bunu ps vasitəsilə tapmaq olar.
2. Prosesin ad ilə tamamlanması
Əgər bütün sleep proseslərini tamamlamaq istəyirsinizsə, killall komandasından istifadə edin:
killall sleep
3. pkill istifadə edirik
Əgər prosesin dəqiq adını xatırlamırsınızsa, pkill adın bir hissəsinə uyğun prosesləri tamamlamaqda kömək edəcək:
pkill slee
7. Addım 6: Proseslərin monitorinqi
Sistemin yükünü izləmək üçün istifadə edin:
top— real vaxtda işləmək üçün:topBurada siz prosessorun, yaddaşın yüklənməsini və aktiv prosesləri müşahidə edə bilərsiniz. Prosesləri birbaşa interfeysdən dayandırmaq üçün
kkombinasiyasını istifadə edin.htop— daha rahat interfeys (əgər bu proqram sizdə quraşdırılıbsa):
Çıxmaq üçünhtopF10düyməsini basın.
8. Yoxlama siyahısı
Bütün addımları bitirdikdən sonra əmin olun ki:
user1vəuser2adlı iki istifadəçi yaradılıb.developersadlı qrup yaradılıb və tənzimlənib, hər iki istifadəçi bu qrupa əlavə edilib.- Yalnız
developersqrupu üçün nəzərdə tutulanproject.txtfaylı yaradılıb. kill,killallvəpkillkomandaları vasitəsilə bir neçə proses yaradılıb və dayandırılıb.ps,topvə yahtopvasitəsilə proseslərin siyahısını uğurla baxdınız.
Əgər hər şey tamamlandıqda — təbriklər! Siz Linux sistemində istifadəçilərin, qrupların, giriş imtiyazlarının və proseslərin idarə edilməsi ilə bağlı bütün əsas mərhələlərdən keçdiniz. Konsol üstünlüyü sizinlə olsun!
GO TO FULL VERSION