Ochiq
Yopish

Linux foydalanuvchi qaysi guruhda. Linuxda foydalanuvchini guruhga (yoki ikkinchi darajali guruhga) qanday qo'shish mumkin. Linux guruhlarini boshqarish

Asl nusxasi: Linux asoslari
Muallif: Pol Kobbo
Nashr qilingan sana: 2014 yil 16 oktyabr
Tarjimasi: A. Panin
Tarjima sanasi: 2014 yil 23 dekabr

29-bob. Foydalanuvchilar guruhlari

Tizim foydalanuvchilari hisoblari guruhlar ichida birlashtirilishi mumkin. Foydalanuvchi guruhlari kontseptsiyasi har bir foydalanuvchi uchun bir xil kirish huquqlarini o'rnatish o'rniga foydalanuvchilar guruhi darajasida kirish huquqlarini o'rnatish imkonini beradi.

Har bir Unix yoki Linux tarqatishda foydalanuvchilar guruhlarini boshqarish uchun GUI vositasi mavjud. Ushbu tizimlar bilan tajribaga ega bo'lmagan foydalanuvchilarga ushbu vositalardan foydalanish tavsiya etiladi. Ko'proq tajribali foydalanuvchilar foydalanuvchi hisoblarini boshqarish uchun buyruq qatori vositalaridan foydalanishlari mumkin, ammo ehtiyot bo'ling: ba'zi tarqatishlar GUI va buyruq qatori foydalanuvchi guruhini boshqarish vositalaridan foydalanishga ruxsat bermaydi (masalan, Novellning YaST vositasi). Tajribali tizim ma'murlari to'g'ridan-to'g'ri vi matn muharriri yoki vigr yordam dasturi yordamida mos keladigan fayllarni tahrirlashlari mumkin.

groupadd yordam dasturi

Foydalanuvchi guruhlari groupadd yordam dasturi yordamida yaratilishi mumkin. Quyidagi misol beshta guruhni qanday yaratishni ko'rsatadi (ularga foydalanuvchilarni qo'shmasdan). root@laika:~# groupadd tennis root@laika:~# groupadd futbol root@laika:~# groupadd snooker root@laika:~# groupadd formula1 root@laika:~# groupadd salsa

guruh fayli

Foydalanuvchilar bir nechta guruhlarga kirishlari mumkin. Foydalanuvchi guruhi a'zoligi /etc/group faylida aniqlanadi. root@laika:~# tail -5 /etc/group tennis:x:1006: futbol:x:1007: snooker:x:1008: formula1:x:1009: salsa:x:1010: root@laika:~#

Foydalanuvchilar guruhi tavsifi satridagi birinchi maydon guruh nomidir. Ikkinchi maydonda (shifrlangan) guruh paroli mavjud (bu maydon bo'sh bo'lishi mumkin). Uchinchi maydonda guruh identifikatori yoki GID qiymati mavjud. To'rtinchi maydon - bu guruh a'zolarining ro'yxati, bu holda guruhlarda foydalanuvchilar yo'qligi sababli bo'sh.

guruhlar buyrug'i

Foydalanuvchi o'zi tegishli bo'lgan guruhlar ro'yxatini ko'rish uchun guruhlar buyrug'ini ishga tushirishi mumkin. $guruhlar garri sportlari$

usermod yordam dasturi

Foydalanuvchining guruh a'zoligini useradd yoki usermod yordam dasturi yordamida o'zgartirish mumkin. root@laika:~# usermod -a -G tennis inge root@laika:~# usermod -a -G tennis katrien root@laika:~# usermod -a -G salsa katrien root@laika:~# usermod -a -G snooker sandra root@laika:~# usermod -a -G formula1 annelies root@laika:~# tail -5 /etc/group tennis:x:1006:inge,katrien football:x:1007: snooker:x:1008:sandra formula1:x:1009:annelies salsa:x:1010:katrien root@laika:~#

Foydalanuvchilarni guruhlarga qo'shish uchun usermod yordam dasturidan foydalanganda ehtiyot bo'ling. Odatiy bo'lib, usermod yordam dasturi foydalanuvchini u a'zo bo'lgan barcha guruhlardan olib tashlaydi, agar ushbu guruhlarning nomlari buyruqning bir qismi sifatida berilmagan bo'lsa! -a (qo'shish) opsiyasidan foydalanish bu xatti-harakatni oldini oladi.

groupmod yordam dasturi

Siz groupmod yordam dasturidan foydalanib, foydalanuvchi guruhi nomini o'zgartirishingiz mumkin. root@laika:~# groupmod -n darts snooker root@laika:~# tail -5 /etc/group tennis:x:1006:inge,katrien football:x:1007: formula1:x:1009:annelies salsa:x: 1010: katrien darts: x: 1008: sandra

groupdel yordam dasturi

Siz groupdel yordam dasturidan foydalanib, foydalanuvchi guruhini butunlay oʻchirib tashlashingiz mumkin. root@laika:~# groupdel tennis root@laika:~#

gpasswd yordam dasturi

Shuningdek, siz gpasswd yordam dasturidan foydalanib, ma'lum bir foydalanuvchi guruhiga a'zolik ustidan nazoratni boshqa foydalanuvchiga topshirishingiz mumkin. Quyidagi misolda biz sport guruhiga foydalanuvchilarni qo'shish va o'chirish huquqlarini serenaga topshiramiz. Keyin biz su buyrug'idan harry foydalanuvchisini serena foydalanuvchisi nomidan sport guruhiga qo'shish uchun foydalanamiz. # gpasswd -A serena sport # su - serena $ id garry uid=516(garry) gid=520(garry) groups=520(garry) $ gpasswd -a harry sports Harry foydalanuvchisini sport guruhiga qo'shish $ id garry uid=516 ( garri) gid=520(garri) guruhlari=520(garri),522(sport) $ tail -1 /etc/guruh sportlari:x:522:serena,venera,garry $

Foydalanuvchilar guruhi ma'murlari ushbu guruhlarga a'zo bo'lishlari shart emas. Ular o'z hisoblarini o'zlari boshqaradigan foydalanuvchilar guruhlaridan olib tashlashlari mumkin va bu ularning ushbu guruhlarga foydalanuvchi qo'shish yoki o'chirish qobiliyatiga ta'sir qilmaydi. $ gpasswd -d serena sports Foydalanuvchi serenani sport guruhidan $ chiqishdan olib tashlang

Foydalanuvchi guruhi ma'murlari haqidagi ma'lumotlar /etc/gshadow faylida saqlanadi. # dum -1 /etc/gshadow sport :!:serena:venera,garry #

Foydalanuvchilar guruhidan barcha administrator hisoblarini oʻchirish uchun administratorlarning boʻsh roʻyxatini belgilash imkoniyatlari bilan gpasswd yordam dasturidan foydalaning. # gpasswd -A "" sport

newgrp yordam dasturi

Siz newgrp buyrug'i yordamida yangi vaqtinchalik asosiy foydalanuvchi guruhi bilan bolalar qobig'ini boshlashingiz mumkin. root@rhel65:~# mkdir prigroup root@rhel65:~# cd prigroup/ root@rhel65:~/prigroup# touch standard.txt root@rhel65:~/prigroup# ls -l jami 0 -rw-r--r- -. 1 ildiz ildizi 0 13 aprel 17:49 standard.txt root@rhel65:~/prigroup# echo $SHLVL 1 root@rhel65:~/prigroup# newgrp tennis root@rhel65:~/prigroup# echo $SHLVL 2 root@rhel65: ~/prigroup# touch newgrp.txt root@rhel65:~/prigroup# ls -l jami 0 -rw-r--r--. 1 ildiz tennis 0 13 aprel 17:49 newgrp.txt -rw-r--r--. 1 ildiz ildizi 0 13 aprel 17:49 standard.txt root@rhel65:~/prigroup# exit exit root@rhel65:~/prigroup#

vigr yordam dasturi

Vipw yordam dasturiga o'xshab, vigr yordam dasturi /etc/group faylini qo'lda tahrirlash uchun ishlatilishi mumkin, chunki u tahrirlash jarayonida ushbu faylni to'g'ri bloklaydi. Matn muharriri vi yoki vigr yordam dasturidan faqat tajribali tizim ma'murlari foydalanuvchi guruhlarini boshqarish uchun foydalanishlari mumkin.

Amaliy vazifa: foydalanuvchilar guruhlari

Amaliy topshiriqni bajarishning to'g'ri tartibi: foydalanuvchi guruhlari

1. Tennis, futbol va sport foydalanuvchi guruhlarini yarating.

Guruh tennisi; guruhli futbol; sport turlarini qo'shish

2. Bitta buyruq yordamida venus foydalanuvchisini tennis va sport guruhlari a'zosiga aylantiring.

Usermod -a -G tennis, sport venerasi

3. Foydalanuvchilar guruhi nomini futbol to'pi deb o'zgartiring.

Groupmod -n oyoq futboli

4. Serena foydalanuvchisini tennis foydalanuvchilari guruhiga qo'shish uchun vi matn muharriridan foydalaning.

5. Serena foydalanuvchisi tennis foydalanuvchilari guruhi a'zosi ekanligiga ishonch hosil qilish uchun id buyrug'idan foydalaning.

Id (chiqish va tizimga kirgandan so'ng foydalanuvchi serena guruh a'zosi bo'lishi kerak)

6. Foydalanuvchilardan birini oyoq va sport guruhlarida foydalanuvchi a'zoligini boshqarish uchun mas'ul qiling. Amaldagi mexanizmning funksionalligini tekshiring.

Gpasswd -A (foydalanuvchini foydalanuvchilar guruhi a'zoligini boshqarish uchun mas'ul qilish uchun) gpasswd -a (foydalanuvchini foydalanuvchilar guruhi a'zosi qilish uchun)

Tizimda yangi guruh yaratish
Ushbu buyruq yordamida siz yangi foydalanuvchilar guruhini (keyingi o'rinlarda guruh deb yuritiladi) yaratishingiz mumkin. guruh tizimda:

Tizimga yangi foydalanuvchi qo'shish
Yangi foydalanuvchi foydalanuvchi buyrug'i bilan qo'shilishi mumkin:


U avtomatik ravishda uning nomi bilan atalgan maxsus guruhga joylashtiriladi.
Foydalanuvchi qo'shish uchun foydalanuvchi mavjud guruhga guruh yozamiz:

Ushbu buyruq yordamida siz bir vaqtning o'zida bir nechta guruhlarga foydalanuvchi qo'shishingiz mumkin. Buning uchun guruh nomlarini vergul bilan ajratamiz.

Foydalanuvchi nomidan boshqa nom bilan yangi guruhga foydalanuvchi qo‘shish uchun quyidagilarni bajaring:

useradd -g guruh nomi foydalanuvchi

Ushbu guruh foydalanuvchi uchun asosiy bo'ladi.

Foydalanuvchi parolini o'rnatish
Foydalanuvchi paroli foydalanuvchi buyruq bilan beriladi:


Ushbu buyruq sizdan parolingizni ikki marta kiritishingizni so'raydi. Hech qachon foydalanuvchini parolsiz qoldirmang!
Ba'zan foydalanuvchining tizimga kirishiga yo'l qo'ymaslik kerak. Misol uchun, agar sizga faqat tarmoq ulushiga kirish kerak bo'lsa. (Bu haqda ko'proq.) Buning uchun faylni o'zgartirishingiz kerak passwd quyidagi buyruq bilan:

Parol maydoniga parolning o'zidan oldin yulduzcha "*" qo'shaman (bu fayl maqolaning oxirida batafsil tavsiflangan). O'zgarishlarni saqlang va tugmalar bilan chiqing Ctrl+X, kalit Y Biz tanlovimizni tasdiqlaymiz vipw. O'zgarishlarni saqlash paytida muharrirdan chiqish uchun siz ishga tushirishingiz kerak :wq. O'zgarishlarni saqlamasdan chiqish uchun yozing :q yoki :q! agar biron bir o'zgartirish kiritilgan bo'lsa.

Foydalanuvchi ma'lumotlari fayllari
Tizim foydalanuvchisini yaratish va nozik sozlashni yaxshiroq tushunish uchun quyidagi ma'lumotlar taqdim etiladi. Foydalanuvchilarni tahrirlash uchun ko'p hollarda buyruqni ishlatish osonroq bo'ladi usermod. Ishlash orqali ushbu buyruq haqida ko'proq bilib olishingiz mumkin

. Odatda, yuqoridagi buyruqlar foydalanuvchini qo'shish va tahrirlash uchun etarli.
Tizim foydalanuvchilari va guruhlari haqidagi barcha ma'lumotlar quyidagi fayllarda saqlanadi:
- /etc/passwd bu fayl tizimga ma'lum bo'lgan foydalanuvchilar ro'yxatini o'z ichiga oladi. Ushbu faylning har bir satri foydalanuvchini tavsiflaydi va foydalanuvchi ma'lumotlarini o'z ichiga olgan ettita maydonni o'z ichiga oladi. Maydonlar ikki nuqta bilan ajratilgan.
1.
2. Shifrlangan foydalanuvchi paroli (hech qachon bu maydonni bo'sh qoldirmang);
3. Foydalanuvchi identifikatori (UID);
4. Guruh identifikatori (GID);
5. GECOS maydoni, unda siz foydalanuvchining to'liq ismini, ish uyi telefon raqamini, ish joyini va boshqalarni belgilashingiz mumkin;
6. Uy katalogiga yo'l;
7. Ro'yxatga olish qobig'i.

- /etc/shadow Parollar bu yerda shifrlangan shaklda saqlanadi. Bu fayl superfoydalanuvchi uchun faqat o'qish uchun mo'ljallangan. Har bir qator bitta foydalanuvchiga mos keladi. U ikkita nuqta bilan ajratilgan to'qqizta maydonni o'z ichiga oladi:
1. Foydalanuvchi ro'yxatdan o'tish nomi;
2. Shifrlangan foydalanuvchi paroli;
3. Parol oxirgi marta o'zgartirilgan sana;
4. Parolni o'zgartirish orasidagi minimal kunlar soni;
5. Parolni o'zgartirish orasidagi maksimal kunlar soni;
6. Parolning amal qilish muddati tugashi haqida ogohlantirishdan oldingi kunlar soni;
7. Parolning amal qilish muddati tugaguncha kunlar soni;
8. Hisobning amal qilish muddati;
9. Foydalanilmayotgan zahiradagi boʻsh maydon.
Ushbu fayldagi sana maydonlari 1970 yil 1 yanvardan boshlab o'tgan kunlar soni bilan to'ldiriladi. Birinchi ikkita maydon to'ldirilishi kerak!

- /etc/group guruhlar ro'yxati va ushbu guruhlarga kiritilgan foydalanuvchilarning nomlarini o'z ichiga oladi. Oldingi fayllarga o'xshab, har bir satr bitta guruhga to'g'ri keladi va ikkita nuqta bilan ajratilgan to'rtta maydonga ega:
1. Guruh nomi;
2. Shifrlangan parol yoki belgi x fayldan foydalanishni bildiradi gshadow(foydalanuvchini yordamchi dastur yordamida guruhga qachon ulash kerak newgrp parolni kiritishingiz kerak);
3. Guruh identifikatori (GID);
4. Vergul bilan ajratilgan ushbu guruh a'zolari ro'yxati.

Vaqti-vaqti bilan Linux operatsion tizimida qaysi foydalanuvchilar ro'yxatdan o'tganligini aniqlash kerak bo'ladi. Bu ortiqcha foydalanuvchilar bor-yo'qligini yoki biron bir aniq foydalanuvchi yoki ularning butun guruhi shaxsiy ma'lumotlarini o'zgartirishi kerakligini aniqlash uchun zarur bo'lishi mumkin.

Ushbu tizimni muntazam ravishda ishlatadigan odamlar buni bir qancha usullar yordamida amalga oshirishlari mumkin, ammo yangi boshlanuvchilar uchun bu juda muammoli. Shuning uchun, quyida tavsiflangan ko'rsatmalar tajribasiz foydalanuvchiga vazifani engishga yordam beradi. Buni o'rnatilgan qurilma yordamida amalga oshirish mumkin Terminal yoki grafik interfeysli bir qator dasturlar.

1-usul: Dasturlar

Linux/Ubuntu-da siz tizimda ro'yxatdan o'tgan foydalanuvchilarni parametrlar yordamida boshqarishingiz mumkin, ularning ishlashi maxsus dastur tomonidan ta'minlanadi.

Afsuski, Gnome va Unity grafik ish stoli qobig'i uchun dasturlar boshqacha. Biroq, ularning ikkalasi ham Linux distributivlarida foydalanuvchi guruhlarini tekshirish va tahrirlash uchun bir qator imkoniyatlar va vositalarni taqdim etishga qodir.

Gnome-dagi hisoblar

Avval siz tizim sozlamalarini ochishingiz va chaqirilgan bo'limni tanlashingiz kerak "Hisoblar". Iltimos, tizim foydalanuvchilari endi bu erda ko'rsatilmasligini unutmang. Ro'yxatdan o'tgan foydalanuvchilar ro'yxati chap tomonda joylashgan panelda ularning har birining sozlamalari va ma'lumotlarini o'zgartirish uchun bo'lim mavjud;

Gnome grafik qobig'i bilan tarqatishdagi "Foydalanuvchilar va guruhlar" dasturi har doim sukut bo'yicha o'rnatiladi, lekin agar siz uni tizimda topmasangiz, buyruqni ishga tushirish orqali uni avtomatik ravishda yuklab olishingiz va o'rnatishingiz mumkin. "Terminal":

sudo apt-get install unity-control-center

KDE da KUser

KDE platformasi uchun bitta yordamchi dastur mavjud bo'lib, undan foydalanish yanada qulayroq. U KUser deb ataladi.

Dastur interfeysi barcha ro'yxatdan o'tgan foydalanuvchilarni ko'rsatadi, agar kerak bo'lsa, siz tizim foydalanuvchilarini ham ko'rishingiz mumkin. Ushbu dastur foydalanuvchi parollarini o'zgartirishi, ularni bir guruhdan ikkinchisiga o'tkazishi, kerak bo'lganda ularni o'chirishi va shunga o'xshash narsalarni amalga oshirishi mumkin.

Gnome-da bo'lgani kabi, KDE sukut bo'yicha o'rnatilgan KUser bilan birga keladi, ammo uni o'chirib tashlash mumkin. Ilovani o'rnatish uchun buyruqni ishga tushiring "Terminal":

sudo apt-get install kuser

2-usul: Terminal

Ushbu usul Linux operatsion tizimi asosida ishlab chiqilgan ko'pgina tarqatishlar uchun universaldir. Gap shundaki, uning dasturiy ta'minotida har bir foydalanuvchi haqidagi ma'lumotlar joylashgan maxsus fayl mavjud. Ushbu hujjat quyidagi manzilda joylashgan:

Undagi barcha yozuvlar quyidagi shaklda keltirilgan:

  • har bir foydalanuvchining nomi;
  • noyob identifikatsiya raqami;
  • ID paroli;
  • Guruh identifikatori;
  • guruh nomi;
  • uy katalogini o'rash;
  • uy katalog raqami.

Xavfsizlikni oshirish uchun har bir foydalanuvchining paroli hujjatda saqlanadi, lekin u ko'rsatilmaydi. Ushbu operatsion tizimning boshqa modifikatsiyalarida parollar hatto alohida hujjatlarda saqlanadi.

Foydalanuvchilarning to'liq ro'yxati

Siz saqlangan foydalanuvchi ma'lumotlari bilan faylga yo'naltirishingiz mumkin "Terminal" unga quyidagi buyruqni kiritish orqali:

Agar foydalanuvchi identifikatorida to'rttadan kam raqam bo'lsa, bu tizim ma'lumotlari bo'lib, unga o'zgartirish kiritish juda istalmagan. Haqiqat shundaki, ular ko'pgina xizmatlarning eng xavfsiz ishlashini ta'minlash uchun o'rnatish jarayonida OS tomonidan yaratilgan.

Foydalanuvchilar ro'yxatidagi ismlar

Shuni ta'kidlash kerakki, ushbu fayl siz uchun qiziq bo'lmagan juda ko'p ma'lumotlarni o'z ichiga olishi mumkin. Agar siz faqat foydalanuvchilarning nomlari va asosiy ma'lumotlarini bilishingiz kerak bo'lsa, quyidagi buyruqni kiritish orqali hujjatdagi ma'lumotlarni filtrlashingiz mumkin:

sed "s/:.*//" /etc/passwd

Faol foydalanuvchilarni ko'rish

Linux-ga asoslangan OTda siz nafaqat ro'yxatdan o'tgan foydalanuvchilarni, balki hozirda OTda faol bo'lgan foydalanuvchilarni ham ko'rishingiz va shu bilan birga ular qanday jarayonlardan foydalanayotganini ko'rishingiz mumkin. Bunday operatsiyani bajarish uchun buyruq bilan chaqiriladigan maxsus yordamchi dastur ishlatiladi:

Ushbu yordamchi dastur foydalanuvchilar tomonidan bajariladigan barcha buyruqlarni chiqaradi. Agar u bir vaqtning o'zida ikki yoki undan ortiq buyruqlardan foydalansa, ular chiqish ro'yxatida ham ko'rsatiladi.

Koʻrish tarixi

Agar kerak bo'lsa, foydalanuvchi faoliyatini tahlil qilish mumkin: ularning oxirgi kirish sanasini bilib oling. U jurnalga asoslangan holda ishlatilishi mumkin /var/wtmp. Buyruqlar satriga quyidagi buyruqni kiritish orqali chaqiriladi:

Oxirgi faoliyat sanasi

Bundan tashqari, Linux operatsion tizimida ro'yxatdan o'tgan foydalanuvchilarning har biri oxirgi marta qachon faol bo'lganligini bilib olishingiz mumkin - bu buyruq bilan amalga oshiriladi. oxirgi jurnal, xuddi shu nomdagi so'rov yordamida bajarilgan:

Ushbu jurnal, shuningdek, hech qachon faol bo'lmagan foydalanuvchilar haqidagi ma'lumotlarni ko'rsatadi.

Xulosa

Ko'rib turganingizdek, ichida "Terminal" har bir foydalanuvchi haqida batafsil ma'lumot beradi. Bu sizga tizimga kim va qachon kirganligini aniqlash, ruxsatsiz odamlar undan foydalanganligini aniqlash va boshqa ko'p narsalarni qilish imkonini beradi. Biroq, oddiy foydalanuvchi uchun Linux buyruqlarining mohiyatini o'rganmaslik uchun GUI dasturidan foydalanish yaxshiroqdir.

Foydalanuvchilar ro'yxatini ko'rish juda oson, asosiysi, ushbu operatsion tizim funksiyasi qanday asosda ishlashini va u qanday maqsadlarda ishlatilishini tushunishdir.

Linux operatsion tizimida kirish huquqlarini taqsimlash asosi foydalanuvchi kontseptsiyasida yotadi. Faylga ega bo'lgan foydalanuvchiga u bilan ishlash, ya'ni o'qish, yozish va bajarish uchun ma'lum ruxsatlar beriladi. O'qish, yozish va bajarish uchun ruxsatlar boshqa barcha foydalanuvchilar uchun ham alohida o'rnatiladi. Linuxda hamma narsa fayl bo'lganligi sababli, bunday tizim faylga kirish huquqlarini o'rnatish orqali ushbu operatsion tizimdagi har qanday harakatga kirishni tartibga solish imkonini beradi. Ammo Linuxni yaratishda ham ishlab chiquvchilar bu etarli emasligini tushunishdi.

Shuning uchun foydalanuvchi guruhlari ixtiro qilingan. Foydalanuvchilar guruhlarga ma'lum fayllarga va shunga mos ravishda harakatlarga kirish uchun kerakli ruxsatlarni berish uchun guruhlarga birlashishi mumkin. Ushbu maqolada biz Linux-dagi foydalanuvchi guruhlarini ko'rib chiqamiz, ular nima uchun kerakligini, foydalanuvchini guruhga qanday qo'shish va guruhlarni boshqarishni ko'rib chiqamiz.

Yuqorida aytib o'tganimdek, Linuxdagi guruhlar ushbu operatsion tizimning rivojlanishining eng boshida paydo bo'lgan. Ular huquqlarni boshqarish imkoniyatlarini oshirish uchun ishlab chiqilgan. Keling, kichik bir misolni ko'rib chiqaylik, faqat bitta kompyuter bo'lgan tashkilotni olaylik, bizda ma'murlar va foydalanuvchilar bor. Bizning kompyuterimizda har bir kishi o'z hisobiga ega. Administratorlar tizimni sozlashlari mumkin, ammo foydalanuvchilarga biror narsani buzmaslik uchun erkinlik bermaslik yaxshiroqdir. Shuning uchun administratorlar administrator guruhiga birlashtirilgan va unga barcha jihozlarga, aslida dev katalogidagi barcha fayllarga, foydalanuvchilar esa foydalanuvchilar guruhiga birlashtirilgan va bu guruhga o'qish va yozish qobiliyati berilgan. fayllarni umumiy katalogga joylashtiring, ularning yordami bilan ular sizning ishingiz natijalarini baham ko'rishlari mumkin. Biz har bir foydalanuvchi uchun alohida faylga kirish huquqini beruvchi huquqlarni belgilashimiz mumkin, ammo bu juda noqulay. Shuning uchun guruhlar ixtiro qilingan. Siz aytasiz, mayli, sizni tayinlay olamanmi? Xo'sh, endi bizning foydalanuvchilarimiz jarayonlar ekanligini tasavvur qiling. Bu erda guruhlarning go'zalligi birinchi o'ringa chiqadi, bu erda guruhlar foydalanuvchilarga kirishni ta'minlash uchun emas, balki dastur huquqlarini, ayniqsa, ularning apparatga kirishini boshqarish uchun ishlatiladi. Xizmatlar uchun alohida guruhlar yaratiladi va u nomidan xizmat ishga tushirilgan foydalanuvchi bir nechta guruhlarning a'zosi bo'lishi mumkin, bu esa unga ma'lum resurslarga kirishni ta'minlaydi;

Endi Linux guruhlarini qanday ko'rishni ko'rib chiqamiz.

Linuxda guruhlar

Tizimda yaratilgan barcha guruhlar /etc/group faylida joylashgan. Ushbu faylning mazmunini ko'rib chiqish orqali siz tizimingizda allaqachon mavjud bo'lgan Linux guruhlari ro'yxatini bilib olishingiz mumkin. Va siz hayron qolasiz.

Standart ildiz va foydalanuvchilarga qo'shimcha ravishda, bu erda yana bir necha o'nlab guruhlar mavjud. Bu dasturlarning umumiy resurslarga kirishini nazorat qilish uchun dasturlar tomonidan yaratilgan guruhlar. Har bir guruh tizimda ma'lum bir fayl yoki katalogni o'qish yoki yozish imkonini beradi, shu bilan foydalanuvchining ruxsatlarini tartibga soladi va shuning uchun jarayon ushbu foydalanuvchi sifatida ishlaydi. Bu erda biz foydalanuvchini jarayon bilan bir xil deb hisoblashimiz mumkin, chunki jarayon ishga tushirilgan foydalanuvchining barcha huquqlariga ega.

Guruhlarning har biri nima uchun kerakligini yaxshiroq tushunish uchun ularni batafsil ko'rib chiqamiz:

  • demon- fayllarni diskka yozish qobiliyatiga muhtoj bo'lgan xizmatlar ushbu guruh va demon foydalanuvchisi nomidan ishga tushiriladi.
  • sys- guruh yadro manbalariga kirishni ta'minlaydi va tizimda saqlangan fayllarni o'z ichiga oladi
  • sinxronlash- /bin/sync buyrug'ini bajarishga imkon beradi
  • o'yinlar- O'yinlarga sozlamalar fayllari va tarixini ma'lum bir jildga yozish imkonini beradi
  • kishi- /var/cache/man katalogiga sahifalar qo'shish imkonini beradi
  • lp- parallel port qurilmalaridan foydalanishga imkon beradi
  • pochta- pochta qutilariga ma'lumotlarni yozish imkonini beradi /var/mail/
  • proksi- proksi-serverlar tomonidan foydalaniladi, diskka fayllarni yozishga ruxsat yo'q
  • www-ma'lumotlar- veb-server ushbu guruhdan boshlanadi, u veb-hujjat fayllari joylashgan /var/www yozuviga kirish imkonini beradi.
  • ro'yxati- /var/mail da xabarlarni ko'rish imkonini beradi
  • nogroup- qattiq diskda fayllar yarata olmaydigan, lekin ularni faqat o'qiy oladigan jarayonlar uchun ishlatiladi, odatda hech kim foydalanuvchisi bilan birgalikda ishlatiladi.
  • adm- /var/log katalogidan jurnallarni o'qish imkonini beradi
  • tty- barcha /dev/vca qurilmalari ushbu guruh foydalanuvchilariga oʻqish va yozish imkonini beradi
  • disk- qattiq disklarga kirishni ochadi /dev/sd* /dev/hd*, bu ildizga kirishning analogi deb aytishimiz mumkin.
  • dialog- ketma-ket portga to'liq kirish
  • cdrom- CD-ROMga kirish
  • g'ildirak- imtiyozlarni oshirish uchun sudo yordam dasturini ishga tushirishga imkon beradi
  • audio- audio drayverlarni boshqarish
  • src- /usr/src/ katalogidagi manbalarga to'liq kirish
  • soya- /etc/shadow faylini o'qish imkonini beradi
  • utmp- /var/log/utmp /var/log/wtmp fayllariga yozish imkonini beradi
  • video- video drayver bilan ishlash imkonini beradi
  • plugdev- tashqi qurilmalarni USB, CD va boshqalarni ulash imkonini beradi.
  • xodimlar- /usr/local jildiga yozish imkonini beradi

Endi siz Linuxda guruhlardan nima uchun foydalanayotganingizni va ular sukut bo'yicha nima ekanligini bilganingizdan so'ng, keling, Linux guruhlarini boshqarishni ko'rib chiqaylik.

Linux guruhlarini boshqarish

Guruhlarni grafik interfeys yordamida ham boshqarishingiz mumkin. KDE-da buning uchun maxsus ishlab chiqilgan Kuser nomli dastur mavjud va Gnome-da u tizim sozlamalari yordamida amalga oshiriladi. Bundan tashqari, mashhur tarqatishlarda OpenSUSE yoki Ubuntu sozlamalarida YaST kabi alohida vositalar mavjud. Lekin men buni grafik interfeys bilan tushunasiz deb o'ylayman. Biz Linux guruhlarini terminal orqali boshqarishni ko'rib chiqamiz. Birinchidan, fayllar bilan, keyin esa foydalanuvchilar bilan shug'ullanamiz.

Fayl yaratilganda, uni yaratgan foydalanuvchining asosiy guruhi tayinlanadi. Bu xuddi shunday:

Bu yerda siz barcha papkalarning egasi sergiy va guruh ham sergiy ekanligini ko'rishingiz mumkin. To'g'ri, chunki bu foydalanuvchilar men tomonidan yaratilgan. Ammo keling, oldinga boraylik:

Bu erda biz sd* disk qurilmalari disk guruhiga tayinlanganligini ko'ramiz, bularning barchasi ushbu guruhga tegishli foydalanuvchi ularga kirishi mumkinligini anglatadi. Yoki boshqa misol:

Hammasi avvalgi xatboshida muhokama qilganimizdek. Ammo bu guruhlar nafaqat tizim tomonidan o'rnatilishi mumkin, balki siz o'zingiz fayl guruhlarini qo'lda o'zgartirishingiz mumkin, buning uchun chgrp buyrug'i mavjud:

chgrp group_name fayl_name

Masalan, fayl testini yaratamiz:

Buning uchun guruhni o'zgartiramiz:

Agar siz Linux guruhini yaratmoqchi bo'lsangiz, buni newgrp buyrug'i bilan qilishingiz mumkin:

sudo groupadd testi

Foydalanuvchilar bilan vaziyat biroz murakkabroq. Foydalanuvchi yaratilish paytida ko'rsatilgan asosiy guruhga, shuningdek, bir nechta qo'shimchalarga ega. Asosiy guruh odatdagilardan farq qiladi, chunki foydalanuvchining uy katalogidagi barcha fayllar shu guruhga ega va u o'zgartirilganda bu kataloglar guruhi ham o'zgaradi. Shuningdek, foydalanuvchi tomonidan yaratilgan barcha fayllar ushbu guruhni oladi. Biz foydalanuvchilarga Linuxda ushbu guruhlarga qo'shish orqali turli resurslarga kirishga ruxsat berishimiz uchun qo'shimcha guruhlar kerak.

Foydalanuvchi uchun Linux guruhlarini boshqarish usermod buyrug'i yordamida amalga oshiriladi. Keling, uning sintaksisi va variantlarini ko'rib chiqaylik:

$usermod imkoniyatlari Foydalanuvchi nomi

  • -G- foydalanuvchini qo'shishingiz kerak bo'lgan qo'shimcha guruhlar
  • -g foydalanuvchi uchun asosiy guruhni o'zgartirish
  • -R foydalanuvchini guruhdan olib tashlash.

Siz usermod buyrug'i yordamida foydalanuvchini guruhga qo'shishingiz mumkin:

sudo usermod -G -a group_name foydalanuvchi nomi

Siz newgrp buyrug'i yordamida foydalanuvchini vaqtincha Linux guruhiga qo'shishingiz mumkin. Yangi qobiq ochiladi va unda foydalanuvchi kerakli ruxsatlarga ega bo'ladi, lekin yopilgandan keyin hamma narsa avvalgidek qaytadi:

sudo newgrp group_name

Misol tariqasida, sudo buyrug'isiz qattiq disklarga to'g'ridan-to'g'ri kirishimiz uchun foydalanuvchini disk guruhiga qo'shamiz:

sudo usermod -G -a disk sergiy

Endi siz sudo buyrug'isiz disklarni o'rnatishingiz mumkin:

o'rnatish /dev/sda1 /mnt

Siz foydalanuvchi a'zo bo'lgan Linux guruhlarini buyruq bilan ko'rishingiz mumkin:

Siz id buyrug'idan ham foydalanishingiz mumkin. Birinchi holda, biz shunchaki Linux guruhlari ro'yxatini ko'ramiz, ikkinchisida guruh va foydalanuvchi identifikatori qo'shimcha ravishda ko'rsatilgan. Linux guruhiga foydalanuvchi qoʻshish uchun asosiy guruh uchun -g opsiyasidan foydalaning.

Men foydalanuvchilarning guruhga a'zoligi masalalariga, shuningdek, foydalanuvchilar va guruhlarning o'zlariga ega ekanligiga to'xtalib o'tdim UID Va GID. mavzusi. Bugun men bilimlarni tizimlashtirishni xohlayman Linuxda mahalliy foydalanuvchi bazasi, Qanaqasiga foydalanuvchilarni boshqarish va taxminan foydalanuvchi boshqaruvi uchun mas'ul fayllar.

Linux ko'p foydalanuvchili operatsion tizimdir. Har Linuxda foydalanuvchi biriga tegishli asosiy guruh va bir yoki bir nechta qo'shimcha guruhlar. Boshqa ko'pgina operatsion tizimlarda bo'lgani kabi, Linuxda ham foydalanuvchilar bilan ishlash quyidagi manipulyatsiyalar to'plamidan iborat: foydalanuvchi/guruh qo‘shish, foydalanuvchi/guruhni o‘chirish, foydalanuvchi/guruh sozlamalarini o‘zgartirish. Ushbu manipulyatsiyalar buyruqlar yordamida amalga oshiriladi: useradd, groupadd, userdel, groupdel, usermod, groupmod, shuningdek passwd, gpasswd, id. Batafsilroq: foydalanuvchini boshqarishning grafik vositalari ham mavjud, odatda ular bo'limdagi X qobig'ida joylashgan Ma'muriyat - foydalanuvchilar va guruhlar.

Linuxda foydalanuvchilarni boshqarish xususiyatlari

Qobiq yordamida foydalanuvchi qo'shishga misol:

User-add-server:~# groupadd test user-add-server:~# useradd -c "Test Test" -g test -m test user-add-server:~# passwd test Yangi UNIX parolini kiriting: Qayta kiriting yangi parol UNIX: passwd: parol muvaffaqiyatli yangilandi user-add-server:~# id test uid=1001(test) gid=1001(test) groups=1001(test) user-add-server:~# ls -ld / uy/test / drwxr-xr-x 2 test testi 4096 16 dekabr 10:24 /home/test/ user-add-server:~#

Misolda, biz yangi foydalanuvchi (groupadd) uchun guruh qo'shamiz, so'ngra to'liq ismli yangi foydalanuvchi yaratamiz Test Test, asosiy guruh testi va kirish testiga ega, so'ngra foydalanuvchi testi uchun parol o'rnatamiz (passwd test) va yaratilgan foydalanuvchi parametrlarini tekshiring (id va yaratilgan katalog foydalanuvchisi /home/test/). Ro'yxat UID va GID 1000 dan ortiq ekanligini ko'rsatadi. Bu xususiyat belgidir muntazam foydalanuvchi. 1000 dan past (ba'zi tarqatishlarda 500 dan kam) qiymatlar foydalanuvchi tizim foydalanuvchisi.

Shartnomaga ko'ra, tizim foydalanuvchilari odatda 100 dan kam identifikatorga ega va root foydalanuvchi 0 ga teng identifikatorga ega. Oddiy foydalanuvchilarni avtomatik raqamlash bilan boshlanadi qiymatlar UID_MIN , faylga o'rnating /etc/login.defs, bu qiymat odatda 500 yoki 1000 ga o'rnatiladi.

Bundan tashqari oddiy foydalanuvchi hisoblari va foydalanuvchi hisobi ildiz, odatda tizimda bir nechta mavjud maxsus hisoblar FTP, SSH, pochta, yangiliklar va boshqalar kabi demonlar uchun. Ushbu hisoblar ko'pincha fayllarni boshqaradi, lekin tizimga kirish orqali ularga kirish mumkin emas. Shuning uchun ular odatda bor kirish qobig'i, sifatida belgilangan /sbin/nologin yoki /bin/false Shunday qilib, tizimda ro'yxatdan o'tishga urinishlar muvaffaqiyatsiz bo'ladi.

Ba'zi tizimlarda foydalanuvchi qo'shish buyrug'i(lar)i kengaytirilgan funksiyalarga ega. Ya'ni, masalan, Fedora va Red Hat taqsimotidagi useradd buyrug'i sukut bo'yicha yangi foydalanuvchi uchun yangi guruh yaratadi va bu funktsiyani bekor qilish uchun -n opsiyasidan foydalanishingiz kerak. Bunday savollarga aniqlik kiritish uchun siz tarqatish hujjatlariga murojaat qilishingiz kerak.

Agar foydalanuvchi o'chirilgan bo'lsa, uning katalogi o'chirilmaydi. Natijada siz qiziqarli vaziyatni olishingiz mumkin:

User-add-server:~# userdel test user-add-server:~# groupdel test user-add-server:~# ls -ld /home/test/ drwxr-xr-x 2 1001 1001 4096 16 dekabr 10:24 /home/test/ user-add-server:~# groupadd test123 user-add-server:~# useradd -c "Test Test" -g test123 -m test123 user-add-server:~# ls -ldn /home/ test* drwxr-xr-x 2 1001 1001 4096 16 dekabr 14:30 /home/test drwxr-xr-x 2 1001 1001 4096 16 dekabr 14:29 /home/test123 user-ad#server:~ home/test* user-add-server:~# ls -ld /home/test* drwxr-xr-x 2 test123 test123 4096 16 dekabr 10:24 /home/test drwxr-xr-x 2 test123 test123 4096 1614-dekabr :25 /home/test123 user-add-server:~# passwd test123 Yangi UNIX parolini kiriting: Yangi UNIX parolini qayta kiriting: passwd: parol muvaffaqiyatli yangilandi user-add-server:~# su -l test123 test123@user-add - server:~$ pwd /home/test123 test123@user-add-server:/home/mc-sim$ ls /home/ mc-sim test test123 test123@user-add-server:~$ cd /home/mc- sim / test123@user-add-server:/home/mc-sim$ ls -la jami 24 drwxr-xr-x 2 mc-sim mc-sim 4096 15-noyabr 12:31. drwxr-xr-x 6 root root 4096 16 dekabr 14:25 .. -rw------- 1 mc-sim mc-sim 99 15 noyabr 13:45 .bash_history -rw-r--r-- 1 mc-sim mc-sim 220 1 oktyabr 17:42 .bash_logout -rw-r--r-- 1 mc-sim mc-sim 3116 1 oktyabr 17:42 .bashrc -rw-r--r-- 1 mc- sim mc-sim 675 1 oktabr 17:42 .profile test123@user-add-server:/home/mc-sim$ rm /home/mc-sim/.bash_logout rm: yozishdan himoyalangan oddiy faylni o‘chirish `/home/mc -sim/.bash_logout"? y rm: `/home/mc-sim/.bash_logout" faylini oʻchirib boʻlmadi: Ruxsat rad etildi test123@user-add-server:/home/mc-sim$ rm /home/test/.bashrc test123@user-add-server:/home/mc-sim$

Yuqoridagi misolda biz foydalanuvchi va guruhni o'chirish sinov, ilgari yaratilgan. Bunday holda, ushbu foydalanuvchining katalogi daxlsiz qoldi. Ro'yxatda ko'rinib turibdiki, katalogning huquqlari saqlanib qolgan id 1001. Keyingi biz yangi foydalanuvchi va guruh yarating, lekin boshqa nom bilan - test 123. Bu foydalanuvchi tayinlangan UID Va GID- ilgari mavjud foydalanuvchi sinov. bilan boshlanadigan kataloglar ro'yxatiga qarash /uy/test* kalit bilan -n va usiz biz nima bo'lganini ko'ramiz - foydalanuvchi katalogi sinov foydalanuvchining mulkiga aylandi test 123 kirish huquqlari bizga nimani aytadi -rw-r--r-- test123 test123. Foydalanuvchi sifatida tizimga kiring test 123 va katalogdagi kirish huquqlarini tekshirish uchun /uy/test Biz faylni o'chirishga harakat qilamiz, shuningdek, faylni uchinchi foydalanuvchi - mc-sim katalogidan o'chirishga harakat qilamiz. Ushbu misol Linuxda hamma narsa identifikatorlar bilan bog'langanligini yaxshi ko'rsatadi.

Linuxda foydalanuvchi va guruh ma'lumotlar bazalarini boshqarish

Foydalanuvchilar va guruhlar haqidagi ma'lumotlarni o'z ichiga olgan asosiy fayllar katalogdagi to'rtta fayldir /va boshqalar.

/etc/passwd

foydalanuvchilar haqidagi asosiy ma'lumotlarni o'z ichiga olgan parol fayli

/etc/shadow

shifrlangan parollarni o'z ichiga olgan soya shifrlangan parol fayli

/etc/group

ushbu guruhlarga mansub guruhlar va foydalanuvchilar haqidagi asosiy ma'lumotlarni o'z ichiga olgan guruhlar fayli

/etc/gshadow

shifrlangan guruh parollarini o'z ichiga olgan soya guruhlari fayli

Ushbu fayllarni oddiy matn muharriri bilan tahrirlash tavsiya etilmaydi. Ular (fayllar) yuqoridagi buyruqlar bajarilganda yangilanadi, o'zgartirilganda esa bloklanadi va sinxronlashtiriladi.

Agar ko'rsatilgan fayllarni tahrirlash hali ham shoshilinch zarurat bo'lsa, buyruqdan foydalaning vipw faylni xavfsiz tahrirlashingiz mumkin /etc/passwd, va vigr buyrug'i yordamida faylni xavfsiz tahrirlash mumkin /etc/group. Ushbu buyruqlar yordam yordamida o'zgartirishlar kiritilganda kerakli fayllarni bloklaydi. Agar siz faylga o'zgartirish kiritsangiz /etc/passwd, jamoa vipw faylni yangilash kerak yoki yo'qligini tekshirishingizni so'raydi /etc/shadow. Xuddi shunday, agar siz faylni yangilasangiz /etc/group vigr buyrug'idan foydalanib, siz faylni yangilashingiz kerakligi haqida xabar olasiz /etc/gshadow. Agar siz guruh administratorlarini olib tashlashingiz kerak bo'lsa, buyruqni ishlatishingiz kerak vigr, buyruqdan beri gpasswd faqat administratorlarni qo'shish imkonini beradi.

E'tibor bering, zamonaviy tizimlarda passwd va guruh fayllari parollarni aniq matnda saqlamang. Bu xavfsizlik nuqtai nazaridan amalga oshiriladi. Sami passwd va guruh fayllari hamma o‘qishi mumkin, shifrlangan parollarni esa hamma o‘qib bo‘lmasligi kerak. Shunung uchun shifrlangan parollar soyali fayllarda saqlanadi, va bu fayllar faqat ildiz foydalanuvchi tomonidan o'qilishi mumkin. Autentifikatsiya ma'lumotlarini o'zgartirish uchun zarur ruxsat ildiz huquqlariga ega, ammo har qanday foydalanuvchi tomonidan boshqarilishi mumkin bo'lgan suid dasturi tomonidan taqdim etiladi.

Fayl /etc/passwd

user-add-server:~# cat /etc/passwd root:x:0:0:root:/root:/bin/bash lp:x:7:7:lp:/var/spool/lpd:/bin/ sh sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin test123:x:1001:1001: Test sinovi:/home/test123:/bin/sh

/etc/passwd faylida tizimdagi har bir foydalanuvchi uchun bitta qator mavjud. Har bir satr ikki nuqta (:) bilan ajratilgan ettita maydonni o'z ichiga oladi, misol sifatida ildiz foydalanuvchisi yordamida maydonlarning tavsifi:

maydon ma'nosi tavsifi
Foydalanuvchi nomi ildiz tizimga kirish uchun ishlatiladigan ism (login)
Parol x foydalanuvchi paroli (agar shifrlangan bo'lsa, - x dan foydalaning)
foydalanuvchi identifikatori (UID) 0 Foydalanuvchi IDsi
guruh identifikatori (GID) 0 Guruh identifikatori