Ubuntu foydalanuvchisini qo'shish. Foydalanuvchi boshqaruvi. Bloklangan foydalanuvchilar tomonidan SSH kirish

Foydalanuvchilarni boshqarish xavfsiz tizimni saqlashning muhim qismidir. Samarasiz foydalanuvchi va imtiyozlarni boshqarish ko'pincha ko'plab tizimlarning buzilishiga olib keladi. Shuning uchun, oddiy va samarali foydalanuvchi hisobini boshqarish usullari orqali serveringizni qanday himoya qilishingiz mumkinligini tushunish muhimdir.

Ubuntu ishlab chiquvchilari barcha Ubuntu o'rnatishlarida sukut bo'yicha ma'muriy ildiz hisobini o'chirishga vijdonan qaror qilishdi. Bu ildiz hisobi o'chirilgan yoki unga kirish mumkin emas degani emas. Unga faqat hech qanday mumkin bo'lmagan shifrlangan qiymatga mos kelmaydigan parol berilgan, shuning uchun o'z-o'zidan tizimga kirmasligi mumkin.

Buning o'rniga, foydalanuvchilarga tizim ma'muriy vazifalarini bajarish uchun sudo nomidagi vositadan foydalanish tavsiya etiladi. Sudo avtorizatsiya qilingan foydalanuvchiga ildiz hisobiga tegishli parolni bilish o'rniga o'z parolidan foydalangan holda o'z imtiyozlarini vaqtincha oshirish imkonini beradi. Ushbu oddiy, ammo samarali metodologiya foydalanuvchining barcha harakatlari uchun javobgarlikni ta'minlaydi va administratorga foydalanuvchi ushbu imtiyozlar bilan qaysi amallarni bajarishi mumkinligini batafsil nazorat qiladi.

    Agar biron sababga ko'ra siz ildiz hisobini yoqmoqchi bo'lsangiz, unga parol bering:

    Ildiz parollari bilan konfiguratsiyalar qo'llab-quvvatlanmaydi.

    sudo passwd

    Sudo sizdan parolingizni so'raydi va keyin quyida ko'rsatilgandek root uchun yangi parolni kiritishingizni so'raydi:

    Foydalanuvchi nomi uchun parol: (o'z parolingizni kiriting) Yangi UNIX parolini kiriting: (root uchun yangi parolni kiriting) Yangi UNIX parolini qayta kiriting: (root uchun yangi parolni takrorlang) passwd: parol muvaffaqiyatli yangilandi

    Ildiz hisobi parolini o'chirish uchun quyidagi passwd sintaksisidan foydalaning:

    sudo passwd -l ildiz

    Biroq, ildiz hisobining o'zini o'chirish uchun quyidagi buyruqdan foydalaning:

    usermod - muddati tugagan 1

    Man sahifasini o'qib, Sudo haqida ko'proq o'qishingiz kerak:

    odam sudo

Odatiy bo'lib, Ubuntu o'rnatuvchisi tomonidan yaratilgan dastlabki foydalanuvchi "sudo" guruhining a'zosi bo'lib, u /etc/sudoers fayliga vakolatli sudo foydalanuvchisi sifatida qo'shiladi. Agar siz boshqa hisob qaydnomalariga sudo orqali to'liq ildiz ruxsatini berishni istasangiz, ularni sudo guruhiga qo'shing.

Foydalanuvchilarni qo'shish va o'chirish

Mahalliy foydalanuvchilar va guruhlarni boshqarish jarayoni oddiy va boshqa GNU/Linux operatsion tizimlaridan juda kam farq qiladi. Ubuntu va boshqa Debian distributivlari hisobni boshqarish uchun "adduser" paketidan foydalanishni rag'batlantiradi.

    Foydalanuvchi hisobini qo'shish uchun quyidagi sintaksisdan foydalaning va hisobga parol va to'liq ism, telefon raqami va boshqalar kabi identifikatsiya qilinadigan xususiyatlarni berish uchun ko'rsatmalarga rioya qiling.

    sudo adduser foydalanuvchi nomi

    Foydalanuvchi hisobini va uning asosiy guruhini o'chirish uchun quyidagi sintaksisdan foydalaning:

    sudo deluser foydalanuvchi nomi

    Hisob qaydnomasini o'chirish ularning tegishli bosh papkasini olib tashlamaydi. Jildni qo'lda o'chirish yoki uni o'zingiz xohlagan saqlash qoidalariga muvofiq saqlashni xohlaysizmi, sizga bog'liq.

    Esda tuting, agar siz kerakli ehtiyot choralarini ko'rmagan bo'lsangiz, keyinroq avvalgi egasi bilan bir xil UID/GID bilan qo'shilgan har qanday foydalanuvchi endi ushbu jildga kirish huquqiga ega bo'ladi.

    Siz ushbu UID/GID qiymatlarini ildiz hisob qaydnomasi kabi mosroq narsaga o'zgartirishni xohlashingiz va hatto kelajakdagi ziddiyatlarni oldini olish uchun papkani boshqa joyga ko'chirishingiz mumkin:

    sudo chown -R ildizi: root /hoy/foydalanuvchi nomi/ sudo mkdir /home/archived_users/ sudo mv /home/username /home/archived_users/

    Foydalanuvchi hisobini vaqtincha bloklash yoki blokdan chiqarish uchun mos ravishda quyidagi sintaksisdan foydalaning:

    sudo passwd -l foydalanuvchi nomi sudo passwd -u foydalanuvchi nomi

    Moslashtirilgan guruhni qoʻshish yoki oʻchirish uchun mos ravishda quyidagi sintaksisdan foydalaning:

    sudo addgroup groupname Sudo delgroup groupname

    Guruhga foydalanuvchi qo'shish uchun quyidagi sintaksisdan foydalaning:

    sudo adduser foydalanuvchi nomi guruh nomi

Foydalanuvchi profili xavfsizligi

Yangi foydalanuvchi yaratilganda, adduser yordam dasturi /home/username nomli yangi uy katalogini yaratadi. Standart profil barcha profil asoslarini o'z ichiga olgan /etc/skel katalogida joylashgan tarkibdan keyin modellashtirilgan.

Agar sizning serveringizda bir nechta foydalanuvchi bo'lsa, maxfiylikni ta'minlash uchun foydalanuvchi uy katalogi ruxsatlariga e'tibor berishingiz kerak. Odatiy bo'lib, Ubuntu'dagi foydalanuvchi uy kataloglari dunyo o'qish/bajarish ruxsatnomalari bilan yaratilgan. Bu shuni anglatadiki, barcha foydalanuvchilar boshqa foydalanuvchilarning uy kataloglarini ko'rib chiqishlari va ularga kirishlari mumkin. Bu sizning muhitingizga mos kelmasligi mumkin.

    Joriy foydalanuvchi uy katalogi ruxsatlarini tekshirish uchun quyidagi sintaksisdan foydalaning:

    ls -ld /home/foydalanuvchi nomi

    Quyidagi natija /home/username katalogi dunyo tomonidan o'qilishi mumkin bo'lgan ruxsatlarga ega ekanligini ko'rsatadi:

    drwxr-xr-x 2 foydalanuvchi nomi foydalanuvchi nomi 4096 2007-10-02 20:03 foydalanuvchi nomi

    Siz quyidagi sintaksis yordamida dunyo o'qilishi mumkin bo'lgan ruxsatlarni olib tashlashingiz mumkin:

    sudo chmod 0750 /home/username

    Ba'zi odamlar barcha pastki papkalar va fayllarni o'zgartiradigan rekursiv opsiyadan (-R) foydalanishga moyildirlar, ammo bu kerak emas va boshqa istalmagan natijalarga olib kelishi mumkin. Ota-katalogning o'zi ota-onadan past bo'lgan narsalarga ruxsatsiz kirishni oldini olish uchun etarli.

    Bu masalaga yanada samarali yondashuv foydalanuvchi uy papkalarini yaratishda qo'shimcha foydalanuvchi global standart ruxsatlarini o'zgartirish bo'ladi. Shunchaki /etc/adduser.conf faylini tahrirlang va DIR_MODE o'zgaruvchisini mos keladigan narsaga o'zgartiring, shunda barcha yangi uy kataloglari to'g'ri ruxsatlarni oladi.

    Yuqorida aytib o'tilgan usullardan foydalangan holda katalog ruxsatlarini tuzatgandan so'ng, natijalarni quyidagi sintaksisdan foydalanib tekshiring:

    ls -ld /home/foydalanuvchi nomi

    Quyidagi natijalar dunyoda o‘qilishi mumkin bo‘lgan ruxsatnomalar olib tashlanganligini ko‘rsatadi:

    drwxr-x--- 2 foydalanuvchi nomi foydalanuvchi nomi 4096 2007-10-02 20:03 foydalanuvchi nomi

Parol siyosati

Kuchli parol siyosati sizning xavfsizlik pozitsiyangizning eng muhim jihatlaridan biridir. Ko'pgina muvaffaqiyatli xavfsizlik buzilishlari zaif parollarga qarshi oddiy qo'pol kuch va lug'at hujumlarini o'z ichiga oladi. Agar siz mahalliy parol tizimi bilan masofaviy kirishning har qanday shaklini taklif qilmoqchi bo'lsangiz, parolning minimal murakkabligi talablari, parolning maksimal ishlash muddati va autentifikatsiya tizimlarining tez-tez tekshirilishiga mos ravishda javob berganingizga ishonch hosil qiling.

Minimal parol uzunligi

Odatiy bo'lib, Ubuntu 6 ta belgidan iborat minimal parol uzunligini, shuningdek, ba'zi asosiy entropiya tekshiruvlarini talab qiladi. Ushbu qiymatlar quyida ko'rsatilgan /etc/pam.d/common-password faylida nazorat qilinadi.

parol pam_unix.shunda sha512 noaniq

Agar siz minimal uzunlikni 8 ta belgiga moslashtirmoqchi bo'lsangiz, tegishli o'zgaruvchini min=8 ga o'zgartiring. O'zgartirish quyida tasvirlangan.

parol pam_unix.shuning uchun tushunarsiz sha512 minlen=8

Asosiy parol entropiyasini tekshirish va minimal uzunlik qoidalari yangi foydalanuvchini sozlash uchun sudo darajasidagi buyruqlar yordamida administratorga taalluqli emas.

Parolning amal qilish muddati

Foydalanuvchi hisoblarini yaratishda siz foydalanuvchilarni muddati tugagandan so'ng parollarini o'zgartirishga majburlaydigan minimal va maksimal parol yoshiga ega bo'lish siyosatini amalga oshirishingiz kerak.

    Foydalanuvchi hisobining joriy holatini osongina ko'rish uchun quyidagi sintaksisdan foydalaning:

    sudo chage -l foydalanuvchi nomi

    Quyidagi natijada foydalanuvchi hisobiga oid qiziqarli faktlar, ya'ni hech qanday siyosat qo'llanilmaganligi ko'rsatilgan:

    Parolni oxirgi oʻzgartirish: 2015-yil 20-yanvar Parolning amal qilish muddati: hech qachon Parol nofaol: hech qachon Hisobning amal qilish muddati tugamaydi: hech qachon Parol oʻzgarishi orasidagi minimal kunlar soni: 0 Parolni oʻzgartirish orasidagi maksimal kunlar soni: 99999 Parolning amal qilish muddati tugashidan oldin ogohlantirish kunlari soni: 7

    Ushbu qiymatlardan birini o'rnatish uchun quyidagi sintaksisdan foydalaning va interaktiv ko'rsatmalarga amal qiling:

    sudo foydalanuvchi nomini o'zgartirish

    Quyida aniq amal qilish muddatini (-E) 01/31/2015, minimal parol yoshi (-m) 5 kun, maksimal parol yoshi (-M) 90 kun, harakatsizlikni qanday qilib qo‘lda o‘zgartirishingiz mumkinligiga misol keltirilgan. Parolning amal qilish muddati tugaganidan keyin 5 kunlik muddat (-I) va parolning amal qilish muddati tugashidan 14 kun oldin ogohlantirish vaqti (-W):/home/username/.ssh/authorized_keys .

    Keyingi SSH autentifikatsiya imkoniyatlarini oldini olish uchun foydalanuvchining bosh papkasidagi .ssh/ katalogini olib tashlang yoki nomini o'zgartiring.

    Nogironlar tomonidan o'rnatilgan SSH ulanishlarini tekshirishni unutmang, chunki ularda kirish yoki chiquvchi ulanishlar mavjud bo'lishi mumkin. Topilganlarni o'ldiring.

    kim | grep foydalanuvchi nomi (pts/# terminalini olish uchun) sudo pkill -f pts/#

    SSH kirishini faqat unga ega bo'lishi kerak bo'lgan foydalanuvchi hisoblariga cheklang. Misol uchun, siz "sshlogin" deb nomlangan guruh yaratishingiz va guruh nomini /etc/ssh/sshd_config faylida joylashgan AllowGroups o'zgaruvchisi bilan bog'langan qiymat sifatida qo'shishingiz mumkin.

    AllowGroups sshlogin

    Keyin ruxsat etilgan SSH foydalanuvchilaringizni "sshlogin" guruhiga qo'shing va SSH xizmatini qayta ishga tushiring.

    sudo adduser foydalanuvchi nomi sshlogin sudo systemctl sshd.service ni qayta ishga tushiring

    Tashqi foydalanuvchi ma'lumotlar bazasi autentifikatsiyasi

    Aksariyat korporativ tarmoqlar markazlashtirilgan autentifikatsiyani va barcha tizim resurslariga kirishni boshqarishni talab qiladi. Agar siz serveringizni foydalanuvchilarni tashqi ma'lumotlar bazalariga nisbatan autentifikatsiya qilish uchun sozlagan bo'lsangiz, tashqi va mahalliy foydalanuvchi hisoblarini o'chirib qo'yganingizga ishonch hosil qiling. Shunday qilib, mahalliy qayta autentifikatsiya qilish mumkin emasligiga ishonch hosil qilasiz.

Ushbu qo'llanmada biz Linux foydalanuvchisini uning ma'lumotlari va uy katalogi bilan qanday o'chirishni ko'rib chiqamiz.

Agar siz yirik kompaniyada tizim ma'muri bo'lsangiz, Linux foydalanuvchilarini o'chirish siz uchun juda keng tarqalgan vazifadir. Hisob keraksiz holga kelganidan yoki foydalanuvchi tashkilotni tark etgandan so'ng, xavfsizlik bo'shliqlarini qoldirmaslik uchun uning hisobini o'chirib tashlash kerak.

Linux foydalanuvchilarini o'chirishda yangi foydalanuvchilar va ularning fayllari uchun saqlash joyini bo'shatish uchun ularning uy katalogini o'chirish ham muhimdir. Birinchidan, biz Linux foydalanuvchisini terminal yordamida qanday o'chirishni ko'rib chiqamiz, keyin bu eng mashhur tarqatishlardan biri - Ubuntu ning grafik interfeysida qanday amalga oshirilganligi haqida gaplashamiz.

Haqiqiy muhitda ba'zi amaliyotlarni bajarish uchun keling, ikkita foydalanuvchini, Lost va Lost1, ularning uy kataloglari bilan birga yaratamiz va keyin ularni o'chirib tashlaymiz:

qo'shimcha foydalanuvchi yo'qolishi
$ passwd yo'qolgan

adduser losst1
$passwd losst1

Bu erda adduser buyrug'i foydalanuvchi hisobini yaratish uchun ishlatiladi va parol yaratish uchun passwd.

Keling, terminalda Linux foydalanuvchisini qanday o'chirishni ko'rib chiqaylik. Buning uchun debian va lotin tizimlarida - deluser buyrug'idan foydalaning va RedHat-da - userdel. Keling, ushbu ikkita yordamchi dasturni batafsil ko'rib chiqaylik.

Deluser tavsifi

Deluser buyrug'i sintaksisi juda oddiy:

$deluser parametrlari foydalanuvchisi

Deluser buyrug'i sozlamalari /etc/deluser.conf faylida joylashgan; boshqa sozlamalar qatorida u foydalanuvchining asosiy papkasi va fayllari bilan nima qilish kerakligini belgilaydi.

Buyruqni ishga tushirish orqali ushbu sozlamalarni ko'rishingiz va o'zgartirishingiz mumkin:

vi /etc/deluser.conf

Keling, ushbu sozlamalarni batafsil ko'rib chiqaylik:

  • REMOVE_HOME- foydalanuvchining uy katalogini o'chirish
  • REMOVE_ALL_FILES- barcha foydalanuvchi fayllarini o'chirish
  • ZAXIRA- foydalanuvchi fayllarini zaxiralash
  • BACKUP_TO- zaxira papkasi
  • ONLY_IF_EMPTY- foydalanuvchi guruhi bo'sh bo'lsa, uni o'chiring.

Ushbu sozlamalar foydalanuvchini o'chirishda yordamchi dasturning standart xatti-harakatlarini aniqlaydi; Albatta, ularni buyruq parametrlari yordamida bekor qilish mumkin.

Quyidagi parametrlar qo'llab-quvvatlanadi, ular sozlamalarga o'xshash, ammo ko'proq imkoniyatlar mavjud:

  • --tizim- faqat tizim foydalanuvchisi bo'lsa, o'chirish
  • --zaxira- foydalanuvchi fayllarining zaxira nusxasini yaratish
  • --zaxira-ga- zahira nusxalari uchun papka
  • --olib tashlash-uy- uy papkasini o'chirish
  • --barcha-fayllarni-o'chirish- fayl tizimidagi barcha foydalanuvchi fayllarini o'chirish

Userdel tavsifi

Userdel yordam dasturi biroz boshqacha ishlaydi, bu erda sozlamalar fayli yo'q, ammo yordam dasturiga nima qilish kerakligini aytishingiz mumkin bo'lgan variantlar mavjud. Sintaksis shunga o'xshash:

$ userdel parametrlari foydalanuvchi

  • -f, --kuch- foydalanuvchi hali ham tizimga kirgan bo'lsa ham, majburiy o'chirish
  • -r, --olib tashlash- foydalanuvchining uy katalogini va uning tizimdagi fayllarini o'chirish.
  • -Z- ushbu foydalanuvchi uchun barcha SELinux obyektlarini o'chirib tashlang.

Foydalanuvchini serverdan olib tashlash uchun biz quyida ko'rib chiqiladigan ilg'or usuldan foydalanish yaxshiroqdir. Foydalanuvchilar serverdan foydalanganda turli dasturlar va xizmatlarni ishga tushiradilar. Agar foydalanuvchi serverga kirmagan va uning nomidan ishlaydigan barcha dasturlar to'xtatilgan bo'lsa, foydalanuvchi to'g'ri o'chirilishi mumkin, chunki dasturlar foydalanuvchiga tegishli turli xil fayllardan foydalanishi mumkin va bu ularni o'chirishning oldini oladi. Shunga ko'ra, foydalanuvchining fayllari to'liq o'chirilmaydi va tizimni yopish uchun qoladi.

Foydalanuvchi hisobini bloklash

Siz foydalanuvchi hisobini bloklash uchun passwd yordam dasturidan foydalanishingiz mumkin. Bu foydalanuvchining tizimga kirishini rad etadi va yangi jarayonlarning boshlanishini oldini oladi:

Passwd buyrug'ini --lock opsiyasi bilan ishga tushiring:

passwd --lock yo'qolishi

passwd: Parolning amal qilish muddati haqida ma'lumot o'zgartirildi.

Barcha ishlaydigan foydalanuvchi jarayonlarini o'chirib tashlang

Endi foydalanuvchi sifatida ishlaydigan barcha jarayonlarni topamiz va ularni o'ldiramiz.

pgrep yordamida jarayonlarni topamiz:

Ularning har birining pid-ni ps buyrug'iga o'tkazish orqali bu jarayonlar nima ekanligini batafsilroq ko'rishingiz mumkin, masalan:

ps -f --pid $(pgrep -u yo'qolgan)

UID PID PPID C STIME TTY STAT VAQT CMD
yo'qotish 14684 14676 0 22:15 pts/2 S 0:00 -bash
kayıp 14735 14684 0 22:15 pts/2 S+ 0:00 vi matn

Endi siz u erda muhim narsa yo'qligiga ishonch hosil qilganingizdan so'ng, killall buyrug'i yordamida barcha jarayonlarni o'ldirishingiz mumkin:

Killall -9 -u yutqazdi

-9 opsiyasi dasturga ushbu jarayonlarga SIGKILL tugatish signalini yuborishni aytadi va -u foydalanuvchi nomini belgilaydi.

Red Hat-ga asoslangan tizimlarda killall-dan foydalanish uchun siz psmisc paketini o'rnatishingiz kerak bo'ladi:

sudo yum psmisc ni o'rnating

Foydalanuvchi ma'lumotlarini zaxiralash

Bu umuman kerak emas, lekin jiddiy loyiha uchun foydalanuvchi fayllarining zaxira nusxasini yaratish yomon fikr bo'lmaydi, ayniqsa u erda muhim fayllar bo'lishi mumkin. Buning uchun, masalan, tar yordam dasturidan foydalanishingiz mumkin:

tar jcvf /user-backups/losst-backup.tar.bz2 /home/losst

Foydalanuvchi hisobini o'chirish

Endi hamma narsa tayyor, keling, Linux foydalanuvchisini o'chirishni boshlaylik. Har holda, biz foydalanuvchining fayllari va uy katalogini o'chirishimiz kerakligini aniq ko'rsatamiz. Debian uchun:

deluser --remove-home losst

userdel --yo'qotilganlarni olib tashlash

Agar siz tizimdagi foydalanuvchiga tegishli barcha fayllarni o'chirib tashlashingiz kerak bo'lsa, --remove-all-files opsiyasidan foydalaning, shunchaki ehtiyot bo'ling, chunki muhim fayllar qayta yozilishi mumkin:

deluser - barcha fayllarni o'chirish

Endi foydalanuvchi o'z fayllari va uy katalogi bilan tizimingizdan butunlay olib tashlandi.

Ubuntu'da foydalanuvchini o'chirish

Ochiq Tizim parametrlari:

Elementni ochish Hisoblar:

Ko'rib turganingizdek, barcha amallar hozirda mavjud emas va kul rangda. Ularni faollashtirish uchun tugmani bosing qulfni ochish va foydalanuvchi parolini kiriting.

Endi Linux-da foydalanuvchini o'chirish uchun uni sichqoncha bilan bosing va keyin minus belgisini bosing.

Ochilgan oynada siz foydalanuvchi fayllari bilan nima qilishni tanlashingiz mumkin:

Tabiiyki, faqat uy papkasi o'chiriladi, biz barcha fayllar haqida gapirmayapmiz. Va to'g'ri olib tashlash uchun foydalanuvchi tizimda ishlamasligi kerak.

xulosalar

Linuxda foydalanuvchini o'chirish, serverda yoki uy kompyuterida, qayerda amalga oshirilishidan qat'i nazar, unchalik qiyin emas. Albatta, grafik interfeys qulayroq, lekin terminal, har doimgidek, ko'proq imkoniyatlarni taqdim etadi. Agar sizda bu haqda boshqa fikrlaringiz bo'lsa, sharh qoldiring!

Linux operatsion tizimi juda ko'p ajoyib xavfsizlik xususiyatlariga ega, ammo eng muhimlaridan biri fayllarga ruxsat berish tizimidir. Linux, Linux yadrosi mafkurasining izdoshi sifatida, Windows-dan farqli o'laroq, dastlab ko'p foydalanuvchili tizim sifatida ishlab chiqilgan, shuning uchun Linuxda fayllarga kirish huquqlari juda yaxshi o'ylangan.

Va bu juda muhim, chunki barcha dasturlar va barcha foydalanuvchilar uchun fayllarga mahalliy kirish viruslar tizimni osongina yo'q qilishga imkon beradi. Ammo yangi foydalanuvchilar Linux-dagi yangi fayl ruxsatlarini juda chalkashtirib yuborishi mumkin, bu biz Windows-da ko'rgan narsadan juda farq qiladi. Ushbu maqolada biz Linuxda fayl ruxsatlari qanday ishlashini, shuningdek ularni qanday o'zgartirish va sozlashni tushunishga harakat qilamiz.

Dastlab, har bir fayl uchta kirish parametriga ega edi. Mana ular:

  • O'qish- fayl mazmunini olish imkonini beradi, lekin yozishga ruxsat bermaydi. Katalog uchun unda joylashgan fayllar va kataloglar ro'yxatini olish imkonini beradi;
  • Yozib olish- faylga yangi ma'lumotlarni yozish yoki mavjudlarini o'zgartirish imkonini beradi, shuningdek, fayllar va kataloglarni yaratish va o'zgartirish imkonini beradi;
  • Ishlash- agar dasturda bajarish bayrog'i bo'lmasa, uni bajara olmaysiz. Ushbu atribut barcha dasturlar va skriptlar uchun o'rnatiladi; uning yordami bilan tizim ushbu faylni dastur sifatida ishga tushirish kerakligini tushunishi mumkin.

Ammo bu huquqlarning barchasi bir vaqtning o'zida barcha foydalanuvchilarga tegishli bo'lsa, ma'nosiz bo'lar edi. Shunday qilib, har bir fayl uchta foydalanuvchi toifasiga ega bo'lib, ular uchun kirish huquqlarining turli kombinatsiyalarini o'rnatishingiz mumkin:

  • Egasi- fayl egasi, uni yaratgan yoki hozirda uning egasi tomonidan o'rnatilgan foydalanuvchi uchun huquqlar to'plami. Odatda egasi barcha huquqlarga ega, o'qish, yozish va bajarish.
  • Guruh- tizimda mavjud bo'lgan va fayl bilan bog'langan har qanday foydalanuvchi guruhi. Ammo bu faqat bitta guruh bo'lishi mumkin va odatda egasining guruhidir, lekin faylga boshqa guruh tayinlanishi mumkin.
  • Dam olish- fayl guruhiga kiritilgan egasi va foydalanuvchilardan tashqari barcha foydalanuvchilar.

Aynan shu ruxsat to'plamlari yordamida Linuxda fayl ruxsatlari o'rnatiladi. Har bir foydalanuvchi faqat o'ziga tegishli bo'lgan yoki kirish huquqiga ega bo'lgan fayllarga to'liq kirish huquqiga ega bo'lishi mumkin. Faqat Root foydalanuvchisi ruxsat to'plamidan qat'i nazar, barcha fayllar bilan ishlashi mumkin.

Ammo vaqt o'tishi bilan bunday tizim etarli bo'lmay qoldi va fayllarni o'zgarmas qilish yoki ularni superuser sifatida bajarishga imkon beradigan yana bir nechta bayroqlar qo'shildi, biz ularni quyida ko'rib chiqamiz:

Linuxda maxsus fayl ruxsatnomalari

Oddiy foydalanuvchilarga uning parolini bilmasdan superuser nomidan dasturlarni bajarishiga ruxsat berish uchun SUID va SGID bitlari kabi narsa ixtiro qilingan. Keling, ushbu vakolatlarni batafsil ko'rib chiqaylik.

  • SUID- agar bu bit o'rnatilgan bo'lsa, u holda dastur bajarilganda, u ishga tushirilgan foydalanuvchining identifikatori fayl egasining identifikatori bilan almashtiriladi. Aslida, bu oddiy foydalanuvchilarga dasturlarni superuser sifatida ishlatish imkonini beradi;
  • SGID- bu bayroq shunga o'xshash tarzda ishlaydi, yagona farq shundaki, foydalanuvchi aslida tegishli bo'lgan guruhlar emas, balki fayl bilan bog'langan guruhning a'zosi hisoblanadi. Agar SGID bayrog'i katalogga o'rnatilgan bo'lsa, unda yaratilgan barcha fayllar foydalanuvchi emas, balki katalog guruhi bilan bog'lanadi. Ushbu xatti-harakatlar umumiy papkalarni tartibga solish uchun ishlatiladi;
  • Yopishqoq bit- bu bit umumiy papkalarni yaratish uchun ham ishlatiladi. Agar u o'rnatilgan bo'lsa, foydalanuvchilar faqat fayllarni yaratishi, o'qishi va bajarishi mumkin, lekin boshqa foydalanuvchilarga tegishli fayllarni o'chira olmaydi.

Endi Linuxda fayl ruxsatlarini qanday ko'rish va o'zgartirishni ko'rib chiqamiz.

Linuxda fayl ruxsatlarini qanday ko'rish mumkin

Albatta, siz fayl boshqaruvchisi yordamida Linuxda fayl ruxsatlarini ko'rishingiz mumkin. Ularning barchasi ushbu xususiyatni qo'llab-quvvatlaydi, ammo bu sizga to'liq bo'lmagan ma'lumot beradi. Barcha bayroqlar, shu jumladan maxsuslari haqida batafsil ma'lumot olish uchun siz -l parametri bilan ls buyrug'idan foydalanishingiz kerak. Katalogdagi barcha fayllar ro'yxatga olinadi va u erda barcha atributlar va bitlar ko'rsatiladi.

Linux fayliga bo'lgan huquqlarni bilish uchun ushbu fayl joylashgan papkada quyidagi buyruqni bajaring:

Chiziqlar Linuxda fayl ruxsatlari uchun javobgardir. Birinchisi, alohida maqolada muhokama qilinadigan fayl turi. Keyin, avvalo, egasi uchun, guruh uchun va hamma uchun huquqlar guruhlari mavjud. Litsenziya uchun faqat to'qqizta chiziq va tur uchun bitta chiziq mavjud.

Keling, huquqlar bayroqlarining shartli qiymatlari nimani anglatishini batafsil ko'rib chiqaylik:

  • --- - umuman huquqlar yo'q;
  • --x- faylni faqat dastur sifatida bajarishga ruxsat beriladi, lekin o'zgartirilmaydi yoki o'qilmaydi;
  • -w-- faqat faylni yozish va o'zgartirishga ruxsat beriladi;
  • -wx- o'zgartirish va bajarishga ruxsat beriladi, lekin katalog bo'lsa, uning mazmunini ko'ra olmaysiz;
  • r--- faqat o'qish huquqi;
  • r-x- faqat o'qish va bajarish, yozish ruxsati yo'q;
  • rw-- o'qish va yozish huquqlari, lekin ijrosiz;
  • rwx- barcha huquqlar;
  • --s- SUID yoki SGID biti o'rnatiladi, birinchisi maydonda egasi uchun, ikkinchisi guruh uchun ko'rsatiladi;
  • --t- yopishqoq bit o'rnatilgan, ya'ni foydalanuvchilar ushbu faylni o'chira olmaydi.

Bizning misolimizda test1 fayli odatiy dastur ruxsatlariga ega, egasi hamma narsani qila oladi, guruh faqat o'qishi va bajarishi mumkin, qolgan hamma esa faqat bajarishi mumkin. Test2 uchun SUID va SGID bayroqlari qo'shimcha ravishda o'rnatiladi. Va test3 papkasi uchun Sticky-bit o'rnatilgan. test4 fayli hamma uchun mavjud. Endi siz Linux fayliga bo'lgan huquqlarni qanday ko'rishni bilasiz.

Linuxda fayl ruxsatlarini qanday o'zgartirish mumkin

Linuxda fayl ruxsatlarini o'zgartirish uchun siz chmod yordam dasturidan foydalanishingiz mumkin. Bu sizga barcha bayroqlarni, shu jumladan maxsus bayroqlarni o'zgartirish imkonini beradi. Keling, uning sintaksisini ko'rib chiqaylik:

$ chmod variantlari kategoriyasi harakat bayroq fayli

Variantlar endi bizni qiziqtirmaydi, faqat bittasidan tashqari. -R opsiyasi yordamida siz dasturni barcha fayllar va kataloglarga o'zgarishlarni rekursiv ravishda qo'llashga majbur qilishingiz mumkin.

  • u- fayl egasi;
  • g- fayllar guruhi;
  • o- boshqa foydalanuvchilar.

Harakat ikkita narsadan biri bo'lishi mumkin: "+" belgisini qo'shing yoki "-" belgisini olib tashlang. Kirish huquqlarining o'ziga kelsak, ular ls yordam dasturining chiqishiga o'xshaydi: r - o'qish, w - yozish, x - bajarish, s - suid/sgid, siz uni o'rnatgan toifaga qarab, t - yopishqoqlikni o'rnatadi. -bit. Masalan, barcha foydalanuvchilar test5 fayliga to'liq kirish huquqiga ega:

chmod ugo+rwx test5

Yoki guruh va boshqa foydalanuvchilarning barcha huquqlarini olib tashlaymiz:

chmod go-rwx test5

Keling, guruhga o'qish va bajarish huquqini beraylik:

chmod g+rx test5

Boshqa foydalanuvchilar uchun faqat o'qing:

test6 fayli uchun SUIDni o'rnating:

Va test7 uchun - SGID:

Keling, nima bo'lganini ko'rib chiqaylik:

Ko'rib turganingizdek, Linuxda fayl ruxsatlarini o'zgartirish juda oddiy. Bundan tashqari, fayl menejeri yordamida asosiy huquqlarni o'zgartirishingiz mumkin.

xulosalar

Hammasi shu, endi siz nafaqat Linuxda qanday fayl ruxsatnomalarini, balki ularni qanday ko'rishni va hatto ularni qanday o'zgartirishni ham bilasiz. Bu yangi boshlanuvchilar o'z tizimidan to'liqroq foydalanish uchun haqiqatan ham tushunishlari kerak bo'lgan juda muhim mavzu. Agar sizda biron bir savol bo'lsa, sharhlarda so'rang!

Xulosa qilib, men Linuxda kirish huquqlari haqida yaxshi videoni taklif qilmoqchiman:

Variant -c - foydalanuvchiga sharh qo'shing
Variant -g sudo - sudo guruhiga foydalanuvchi qo'shing.
-s opsiyasi foydalanuvchi qobig'ini /bin/bash ga o'rnatadi

Variant -d foydalanuvchining uy papkasini belgilash uchun ishlatiladi
Variant -m papkani darhol yaratish kerakligini ko'rsatadi:

Sudo useradd -c "Foydalanuvchi uchun sharh" -g sudo -d /home/NameUser -m -s /bin/bash NameUser

NameUser foydalanuvchisi uchun parol o'rnating:

Sudo passwd NameUser

Adduser buyrug'i yordamida foydalanuvchi qo'shing

sudo useradd -c "Foydalanuvchi uchun sharh" -g sudo -d /home/NameUser -m -s /bin/bash NameUser

Parolni kiriting, so'ralgan barcha savollarga javob bering, parol va uy katalogiga ega foydalanuvchini oling

Foydalanuvchi parolini o'zgartirish

sudo passwd NameUser

Sudo guruhiga foydalanuvchi qo'shing

usermod -a -G sudo NameUser

Sudores-ga to'g'ridan-to'g'ri foydalanuvchi/foydalanuvchilar guruhini qo'shing:

Keling, faylni tahrir qilaylik /etc/sudores.tmp muharrir visudo

Sudo visudo

Nomli foydalanuvchiga ildiz huquqlarini beramiz foydalanuvchi_nomi

User_name ALL=(ALL:ALL) ALL

Keling, bir guruh foydalanuvchilarga ildiz huquqlarini beraylik guruh_nomi sudoers fayliga qator qo'shish orqali -

Guruh_nomi ALL=(ALL:ALL) ALL

Foydalanuvchi va uning guruhlari

Biz xostdagi mavjud guruhlarni ko'rib chiqamiz

Mushuk /etc/group

Guruhning mavjudligini tekshirish misol guruhi misol guruhi sizni qiziqtirgan guruh bo'lgan xostda

Grep misol guruhi /etc/group

Biz foydalanuvchi qaysi guruhlarga tegishli ekanligini tekshiramiz/aniqlaymiz (shuningdek, uning uid, gid)

Id Name User

Mavjud foydalanuvchi NameUserni mavjud guruh misol guruhiga qo'shing

Usermod -g misol guruhi NameUser

Ubuntu foydalanuvchisini o'chirish

Biz buyruqdan foydalanamiz, foydalanuvchi papkasi o'chirilmaydi

Sudo userdel NameUser

Agar kerak bo'lsa, jildni o'chiring

Sudo rm -r /home/NameUser/

Biz foydalanuvchi o'chirilganligini tekshiramiz; agar natija bo'lmasa, foydalanuvchi o'chirilgan

Sudo grep -R NameUser /etc/passwd --color

Barcha mahalliy foydalanuvchilarni ro'yxatlang

sudo cat /etc/passwd sudo cat /etc/shadow

Foydalanuvchi haqida batafsil ma'lumotni ko'rsatish uchun paketni o'rnating barmoq

Sudo apt-get o'rnatish barmog'i

Foydalanuvchi NameUser haqidagi ma'lumotlarni ko'rish uchun buyruqni bajaring

Barmoq nomi foydalanuvchi

Barcha foydalanuvchilar haqidagi ma'lumotlarni faylga chiqarish uchun infoaboutalluser.txt skript yarataylik barmoq.sh

#!/bin/bash n=`cat /etc/passwd | cut -d: $n da i uchun -f1`; echo qiling "=============================================== ============================= =================" barmoq $i bajardim

Keling, skriptni ishga tushiramiz barmoq.sh va uning mazmunini faylga saqlang infoaboutalluser.txt

./finger.sh infoaboutalluser.txt

Barcha imtiyozli foydalanuvchilarni sanab o'ting:

egrep ":0:0:" /etc/passwd

yoki imtiyozga ega emas

Egrep -v ":0:0:" /etc/passwd

Ismlari abcd harflari bilan boshlangan barcha foydalanuvchilarni sanab o'ting:

Mushuk /etc/passwd | grep "^.*"

O'quvchining javobi shuni ko'rsatadiki, Ubuntu-da ma'muriy huquqlarni ajratish masalasi ko'pchilik yangi ma'murlar uchun hali ham tushunarsiz bo'lib qolmoqda, shuning uchun biz ushbu material bilan ushbu masalaga aniqlik kiritishga qaror qildik. Shuning uchun, agar siz sudo dan qanday farq qilishini bilmasangiz, ildizni qaerga yashirgansiz va hokazo va hokazo, bizning maqolamizni o'rganishni boshlash vaqti keldi.

Keling, kichik bir chekinishdan boshlaylik. Linux ma'muriy huquqlar tizimi Unix OS ga qaytadi va shuning uchun Unix-ga o'xshash boshqa tizimlar bilan ko'p umumiylik mavjud: BSD, Solaris, MacOS. Shu bilan birga, turli xil tarqatishlar ma'lum jihatlarning o'ziga xos amalga oshirish xususiyatlariga ega, shuning uchun biz Ubuntu oilasiga tegishli aniq misollar keltiramiz, ammo umumiy qoidalarni bilish har qanday boshqa Unix-ga o'xshash OT muhitini osongina tushunishga imkon beradi.

Foydalanuvchi Linuxda to'liq ma'muriy huquqlarga ega. ildiz, huquqlarini cheklab bo'lmaydigan, shuning uchun ushbu foydalanuvchi nomidan kundalik ish juda istalmagan: foydalanuvchining ehtiyotsiz harakatlari tizimga zarar etkazishi mumkin va bu hisobni buzish tajovuzkorga tizimga cheksiz kirish huquqini beradi.

Shuning uchun, Linuxda boshqa sxema qabul qilingan: barcha foydalanuvchilar, jumladan, ma'murlar, cheklangan hisob ostida ishlaydi va ma'muriy harakatlarni amalga oshirish uchun huquqlarni kuchaytirish mexanizmlaridan birini qo'llaydi. Buning uchun yordamchi dastur yordamida huquqlarni oshirishingiz mumkin sudo yoki buyruq yordamida joriy sessiyani tugatmasdan superuser (root) sifatida tizimga kiring su. Ko'pchilik bu ikki mexanizmni noto'g'ri chalkashtirib yuboradi, shuning uchun ularni batafsil ko'rib chiqaylik.

Jamoa su joriy seansni to'xtatmasdan boshqa foydalanuvchi sifatida tizimga kirish imkonini beradi (root bo'lishi shart emas). Shunday qilib, buyruq:

Su petrov

petrov foydalanuvchisi sifatida tizimga kirishga imkon beradi, foydalanuvchi muhiti (uy papkasi) ham ushbu foydalanuvchiga tegishli qilib o'zgartiriladi.

Jamoa su foydalanuvchi nomini ko'rsatmasdan hisobingiz ostida tizimga kirish imkonini beradi ildiz"a. Biroq, bu usulning bitta muhim kamchiligi bor - boshqa foydalanuvchi nomidan tizimga kirish uchun siz uning parolini bilishingiz kerak. Agar sizda bir nechta administrator bo'lsa, ularning har biri superuser parolini biladi va siz buni qila olmaysiz. huquqlarini cheklash.

Bundan tashqari, bu xavfli; superfoydalanuvchi parolini bilish va murosaga kelgan taqdirda uning nomi bilan tizimga kirish qobiliyati tizim ustidan nazoratni to'liq yo'qotishiga olib kelishi mumkin.

Agar biz Ubuntu'dagi huquqlarni shu tarzda oshirishga harakat qilsak nima bo'ladi? Biz hech narsa qila olmaymiz, chunki foydalanuvchi parolini bilmaymiz ildiz, shu bilan birga, boshqa foydalanuvchi sifatida tizimga kirishimizga hech kim to'sqinlik qilmayapti.

"Kutmoq!" - boshqa foydalanuvchi aytadi: "O'rnatish paytida biz ko'rsatgan birinchi yaratilgan foydalanuvchiga ildiz huquqlari berilmaydimi?" Haqiqatan ham, ma'muriy vazifalar faqat o'rnatish vaqtida yaratilgan foydalanuvchi nomidan bajarilishi mumkin; agar biz buni amalga oshirishga harakat qilsak boshqa foydalanuvchi nomidan biz muvaffaqiyatsizlikka duch kelamiz.

Bu erda biz huquqlarni oshirishning ikkinchi mexanizmi - yordamchi dasturga yaqinlashamiz sudo. Biroq, uni o'rganishga o'tishdan oldin, aniqlab olish kerak: Ubuntu-dagi superfoydalanuvchi (ildiz) huquqlari sukut bo'yicha o'chirilgan ildiz hisobiga tegishli. Shuning uchun, buyruq yordamida ruxsatlarni oshiring su mumkin emasdek tuyuladi.

Ubuntu'da huquqlarni oshirishning asosiy mexanizmi yordamchi dastur hisoblanadi sudo. Ushbu yordamchi dastur sizga bajarilayotgan buyruq uchun huquqlarni superfoydalanuvchi darajasiga ko'tarish imkonini beradi, lekin siz superuser parolini bilishingiz shart emas, foydalanuvchi o'z parolini kiritishi kerak. Shundan so'ng, yordamchi dastur ushbu foydalanuvchi ushbu hostda ushbu buyruqni superuser huquqlari bilan bajarish huquqiga ega yoki yo'qligini tekshiradi va agar tekshiruvlar muvaffaqiyatli bo'lsa, uni bajaradi.

Bu muhim! Asosiy farq su dan sudo nimaga xizmat qiladi su joriy foydalanuvchini root-ga o'zgartirish imkonini beradi, bu tizimda faol superuser hisobini va uning parolini bilishni talab qiladi; sudo superfoydalanuvchi parolini ko'rsatmasdan bajarilayotgan buyruq uchun huquqlarni oshirish imkonini beradi; foydalanuvchi o'z parolini kiritishi kerak; bu hisobga olish ma'lumotlari bilan root sifatida tizimga kirish ishlamaydi.

Yana bir muhim holat shundaki, superfoydalanuvchi huquqlari bilan quvur liniyasi yoki qayta yo'naltirishdan foydalanilganda, buyruqning faqat birinchi qismi bajariladi, masalan, dizaynda:

Sudo buyrug'i1 | jamoa 2

ildiz huquqlari bilan faqat bajariladi jamoa 1. Va jamoa

Sudo cat sources.list > /etc/apt/sources.list

kirish huquqiga ega bo'lganligi sababli, kirish huquqi xatosini beradi /etc/apt/sources.list oddiy foydalanuvchi huquqlari bilan sodir bo'ladi.

Buyruqlarning murakkab birikmalarini bajarish uchun siz buyruq yordamida superuser rejimiga o'tishingiz mumkin

bu buyruq bilan huquqlarni ko'tarishga o'xshaydi su, ammo bu foydalanuvchi muhitini o'zgartirmaydi va joriy foydalanuvchi katalogi uy katalogi sifatida ishlatiladi, bu qulay va xavfsizdir. Har bir administrator faqat uy katalogiga kirish huquqiga ega bo'ladi.

Imkoniyatlardan kim foydalanish huquqiga ega ekanligini aniqlash vaqti keldi sudo va qay darajada. Fayl ushbu yordamchi dastur sozlamalari uchun javobgardir /etc/sudoers, bu oddiy konfiguratsiya fayli bo'lishiga qaramay, uni tahrirlash uchun quyidagi buyruqdan foydalanish tavsiya etiladi:

Sudo visudo

Ushbu buyruq faylni bloklaydi va sintaksisni tekshiradi, aks holda siz matn terish xatosi tufayli shaxsiy kompyuteringizga ma'muriy kirish huquqini yo'qotish xavfi tug'iladi.

Ushbu faylning sintaksisi juda oddiy. Masalan, faylning eng oxirida yozuv mavjud:

%admin ALL=(HAMMA) HAMMA

Bu shuni anglatadiki, guruh foydalanuvchilari admin istalgan foydalanuvchi nomidan istalgan xostda istalgan buyruqni bajarishi mumkin. Buyruq yordamida osongina tekshirishimiz mumkin guruhlar bizning holatlarimizda foydalanuvchi andrey guruhiga kiradi admin, va foydalanuvchi Petrov Yo'q.

Ammo ushbu yordam dasturining barcha afzalliklari har bir alohida holatda huquqlarni olish parametrlarini moslashuvchan tarzda sozlash qobiliyatidadir. Masalan:

Petrov ubuntu-lts=(andrey) HAMMA

Ushbu qator foydalanuvchiga ruxsat beradi Petrov xostda istalgan buyruqni bajaring ubuntu-lts foydalanuvchi nomidan andrey. Buyruqlarni belgilashda siz ularga to'liq yo'lni ko'rsatishingiz kerak, uni buyruq yordamida topishingiz mumkin qaysi

Masalan, biz foydalanuvchilarga ruxsat bermoqchimiz Petrov Va sidorov kompyuterni o'chiring va qayta ishga tushiring, shuningdek vazifalarni olib tashlang. Biroq, bu buyruqlar parolni kiritishni talab qilmasligi kerak.

Sudo yordam dasturining yana bir yoqimli xususiyati taxalluslarni yaratishdir, shuning uchun bizning holatlarimizda biz qo'shamiz /etc/sudoers quyidagi qatorlar:

User_Alias ​​​​USERGROUP1 = petrov, sidorov
Cmnd_Alias ​​CMDGROUP1 = /bin/kill, /sbin/reboot, /sbin/shutdown

Shu bilan biz ikkita taxallus yaratdik USERGROUP1, bu erda biz kerakli foydalanuvchilarni kiritdik va CMDGROUP1 zarur buyruqlar to'plami bilan biz keyinchalik ulardan foydalanish mumkin bo'lgan barcha qoidalarga ta'sir qilmasdan faqat taxalluslarni tahrirlashimiz mumkin. Keyin qoida qo'shamiz:

USERGROUP1 HAMMA = (hamma) NOPASSWD:SMDGROUP1

bu ko'rsatilgan taxallusda sanab o'tilgan foydalanuvchilarga parolni kiritmasdan istalgan foydalanuvchi nomidan istalgan xostda berilgan taxallusdan buyruqlarni bajarishga imkon beradi.

Yuqoridagi ikkitasidan tashqari, taxalluslar xost nomi va ularning nomidan buyruqlarni bajarishga ruxsat berilgan foydalanuvchilar uchun ham mavjud, masalan:

Host_Alias ​​WWW = veb-server1, veb-server2
Runas_Alias ​​WWW = www-ma'lumotlar, www-ishlab chiquvchi

USERGROUP1 WWW = (WWW) HAMMA

Berilgan yozuvlar to'plami foydalanuvchilarga kirishga imkon beradi USERGROUP1 foydalanuvchilar nomidan har qanday buyruqlarni bajarish www-ma'lumotlar Va www-ishlab chiquvchi kompaniyaning veb-serverlarida.

Nihoyat, ildiz hisobi hali ham kerak bo'lsa, nima qilish kerakligini ko'rib chiqaylik. Bu oddiy, uni yoqish uchun parol o'rnatish kifoya:

Sudo passwd ildizi

Superuser hisobini buyruq bilan yana bloklashingiz mumkin:

Sudo passwd -l ildiz

Esda tutingki, Ubuntu'dagi barcha ma'muriy vazifalar sudo yordam dasturi yordamida bajarilishi mumkin, shuning uchun zarurat tug'ilmasa, root hisobini yoqmang!

Ko'rib turganingizdek, Ubuntu ma'muriy huquqlarni boshqarishning boy imkoniyatlariga ega, bu sizga huquqlarni bir nechta ma'murlar o'rtasida moslashuvchan taqsimlash imkonini beradi, shuningdek, ba'zi foydalanuvchilar uchun huquqlarni oshirish imkoniyatini beradi va buni samarali va xavfsiz qiladi.