İstifadəçilər və qruplar yaratmaq, giriş icazələrini tənzimləmək, proseslərlə idarəetmə
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:
user1
vəuser2
. Onlardevelopers
qrupunda birgə işləməli olacaqlar. - Bir faylı (məsələn,
project.txt
) elə tənzimləyin ki, yalnızdevelopers
qrupunun ü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:top
Burada 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
k
kombinasiyasını istifadə edin.htop
— daha rahat interfeys (əgər bu proqram sizdə quraşdırılıbsa):
Çıxmaq üçünhtop
F10
düyməsini basın.
8. Yoxlama siyahısı
Bütün addımları bitirdikdən sonra əmin olun ki:
user1
vəuser2
adlı iki istifadəçi yaradılıb.developers
adlı qrup yaradılıb və tənzimlənib, hər iki istifadəçi bu qrupa əlavə edilib.- Yalnız
developers
qrupu üçün nəzərdə tutulanproject.txt
faylı yaradılıb. kill
,killall
vəpkill
komandaları vasitəsilə bir neçə proses yaradılıb və dayandırılıb.ps
,top
və yahtop
vasitə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