Ubuntu foydalanuvchisiga to'liq huquqlarni bering. Foydalanuvchi boshqaruvi. Minimal parol uzunligi

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

Keling, kichik bir chekinishdan boshlaylik. Linux ma'muriy huquqlar tizimi Unix OS tizimiga asoslangan va shuning uchun unix-ga o'xshash boshqa tizimlar bilan juda ko'p umumiyliklarga ega: BSD, Solaris, MacOS. Shu bilan birga, turli xil distribyutorlar alohida nuqtalarni o'ziga xos tarzda amalga oshirishga ega, shuning uchun biz Ubuntu oilasiga tegishli aniq misollar keltiramiz, ammo umumiy qoidalarni bilish Unix-ga o'xshash boshqa har qanday operatsion tizimning muhitini osongina tushunish imkonini beradi.

Foydalanuvchi Linuxda to'liq ma'muriy huquqlarga ega. ildiz, bu huquqlarda cheklanishi mumkin emas, 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, Linux boshqa sxemaga ega, barcha foydalanuvchilar, jumladan, ma'murlar, cheklangan hisob ostida ishlaydi va ma'muriy harakatlarni bajarish uchun balandlik mexanizmlaridan birini qo'llaydi. Buning uchun yordamchi dastur yordamida huquqlarni oshirishingiz mumkin sudo yoki buyruq yordamida joriy seansni tugatmasdan superuser (root "a)" sifatida tizimga kiring su. Ko'pchilik bu ikki mexanizmni noto'g'ri chalkashtirib yuboradi, shuning uchun biz ularni batafsilroq tahlil qilamiz.

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

Su petrov

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

Jamoa su foydalanuvchi nomini ko'rsatmasdan, hisob qaydnomasi bilan 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 xavfsiz emas, superfoydalanuvchining 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 muvaffaqiyat qozona olmaymiz, chunki biz foydalanuvchi parolini bilmaymiz ildiz, shu bilan birga, boshqa foydalanuvchi ostida tizimga kirishimizga hech kim to'sqinlik qilmaydi.

"Kutmoq!" - boshqa foydalanuvchi aytadi: - "Ammo o'rnatish vaqtida biz ko'rsatgan birinchi yaratilgan foydalanuvchi ildiz huquqlariga ega emasmi?" Haqiqatan ham, ma'muriy vazifalar faqat o'rnatish vaqtida yaratilgan foydalanuvchi nomidan bajarilishi mumkin, agar siz bajarishga harakat qilsangiz. Bu boshqa foydalanuvchi nomidan, biz muvaffaqiyatsizlikka duchor bo'lamiz.

Bu erda biz ikkinchi balandlik mexanizmiga yaqinlashamiz - yordamchi dastur sudo. Biroq, uni o'rganishni davom ettirishdan oldin, aniqlab olish kerak: Ubuntu-dagi superfoydalanuvchi (ildiz) huquqlari sukut bo'yicha o'chirilgan ildiz hisobiga tegishli. Shuning uchun, buyruq bilan huquqlarni ko'taring su mumkin emasdek tuyuladi.

Ubuntu'dagi asosiy yuksaltirish mexanizmi yordamchi dasturdir sudo. Ushbu yordamchi dastur sizga bajarilayotgan buyruq uchun huquqlarni superfoydalanuvchi darajasiga ko'tarish imkonini beradi, shu bilan birga siz superuser parolini bilishingiz shart emas, foydalanuvchi o'z parolini kiritishi kerak. Shundan so'ng, yordamchi dastur ushbu foydalanuvchi superfoydalanuvchi huquqlari bilan berilgan hostda berilgan buyruqni bajarish huquqiga ega yoki yo'qligini tekshiradi va tekshiruvlardan muvaffaqiyatli o'tgan taqdirda 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 unga parolni bilishni talab qiladi; sudo superfoydalanuvchi parolini ko'rsatmasdan bajarilayotgan buyruq uchun huquqlarni oshirishga imkon beradi, foydalanuvchi o'z parolini kiritishi kerak, bu hisobga olish ma'lumotlari bilan root sifatida tizimga kirish ishlamaydi.

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

sudo buyrug'i1 | jamoa 2

chunki root faqat bajariladi jamoa 1. Jamoa

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

kirish uchun ruxsatnoma xatosini beradi /etc/apt/sources.list oddiy foydalanuvchi huquqlari bilan sodir bo'ladi.

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

buyruq bilan huquqlarni ko'tarishga o'xshaydi su, ammo foydalanuvchi muhiti o'zgarmaydi va joriy foydalanuvchi katalogi uy sifatida ishlatiladi, bu qulay va xavfsizdir. Administratorlarning har biri 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 buyruqdan foydalanish tavsiya etiladi:

sudo visudo

Ushbu buyruq faylni bloklaydi va sintaksis tekshiruvini amalga oshiradi, aks holda siz matn terish xatosi tufayli kompyuterga ma'muriy kirish huquqini yo'qotish xavfi bor.

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 bilan qanday qilib 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 ishga tushiring 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 va vazifalarni olib tashlang. Biroq, bu buyruqlar parolni 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 kerakli buyruqlar to'plami bilan, keyinchalik biz ulardan foydalanish mumkin bo'lgan barcha qoidalarga ta'sir qilmasdan, faqat taxalluslarni tahrirlashimiz mumkin. Keyin qoida qo'shamiz:

USERGROUP1 HAMMA = (hamma) NOPASSWD:CMDGROUP1

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

Ushbu ikkitasiga qo'shimcha ravishda, 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

Yuqoridagi yozuvlar to'plami foydalanuvchilarga tizimga 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 chiqing. 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 kerak bo'lmaguncha root hisobini yoqmang!

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

Ushbu materialda siz foydalanuvchi yaratish, parolni o'zgartirish, foydalanuvchi ma'lumotlarini olish yoki umuman o'chirish, guruh yaratish / o'zgartirish / o'chirishni o'rganasiz, ushbu materialni o'qib bo'lgach, bularning barchasini osongina qilishingiz mumkin.

Biz foydalanuvchilar va guruhlar bilan ishlaymiz, qanday boshqarishni, foydalanuvchilarni, guruhlarni yaratishni, guruhlar o'rtasida harakat qilishni va Ubuntu Linux-da guruhlar bilan boshqa manipulyatsiyalarni o'rganamiz.

Foydalanuvchi qo'shish

Foydalanuvchi qo'shish useradd buyrug'i yordamida amalga oshiriladi. Foydalanish misoli:

sudo useradd vasyapupkin

Ushbu buyruq tizimda yangi foydalanuvchi vasyapupkin yaratadi. Yaratilgan foydalanuvchi sozlamalarini o'zgartirish uchun siz quyidagi tugmalardan foydalanishingiz mumkin:

Kalit Tavsif
-b asosiy katalog. Bu foydalanuvchining uy papkasi yaratiladigan katalog. Standart / uy
- Bilan Izoh. Unga istalgan matnni kiritishingiz mumkin.
-d Uy katalogining nomi. Odatiy bo'lib, ism yaratilayotgan foydalanuvchi nomiga mos keladi.
-e Foydalanuvchi o'chirib qo'yiladigan sana. YYYY-MM-DD formatida ko'rsatilgan. Sukut bo'yicha o'chirilgan.
-f Hisobni bloklash. Agar qiymat 0 bo'lsa, parolning amal qilish muddati tugagandan so'ng darhol kirish bloklanadi, agar -1 bo'lsa - bloklanmaydi. Standart -1.
-g Foydalanuvchining asosiy guruhi. GID va guruh nomini ham belgilashingiz mumkin. Agar parametr o'rnatilmagan bo'lsa, nomi foydalanuvchi nomiga mos keladigan yangi guruh yaratiladi.
-G Yaratilgan foydalanuvchi joylashgan guruhlar ro'yxati
-k Shablonlar katalogi. Ushbu katalogdagi fayllar va papkalar foydalanuvchining uy papkasiga joylashtiriladi. Odatiy bo'lib /etc/skel.
-m Uy papkasini yaratish kerakligini ko'rsatadigan kalit. Odatiy bosh papka yaratilmagan.
-p Foydalanuvchi paroli. Odatiy bo'lib, hech qanday parol o'rnatilmagan.
-s Foydalanuvchi tomonidan ishlatiladigan qobiq. Sukut bo'yicha /bin/sh.
-u UID ni foydalanuvchiga qo'lda o'rnating.

Standart foydalanuvchi yaratish opsiyalari

Agar foydalanuvchi yaratishda qo'shimcha kalitlar belgilanmagan bo'lsa, standart sozlamalar olinadi. Ushbu sozlamalarni ishga tushirish orqali ko'rishingiz mumkin

useradd -D

Natija shunday bo'ladi:

GROUP=100HOME=/home INACTIVE=-1EXPIRE= SHELL=/bin/shSKEL=/etc/skel CREATE_MAIL_SPOOL=yo‘q

Agar ushbu sozlamalar sizni qoniqtirmasa, ularni ishga tushirish orqali o'zgartirishingiz mumkin

Useradd -D-m-s/bin/bash

bu yerda -m va -s yuqoridagi jadvaldan olingan kalitlar.

Foydalanuvchi o'zgarishi

Foydalanuvchi parametrlarini o'zgartirish usermod yordam dasturi yordamida amalga oshiriladi. Foydalanish misoli:

sudo usermod -c "Ushbu buyruq foydalanuvchi sharhini o'zgartiradi" vasyapupkin

usermod useradd bilan bir xil variantlardan foydalanadi.

Parolni o'zgartirish

Passwd yordam dasturi yordamida foydalanuvchi parolini o'zgartirishingiz mumkin.

sudo passwd vasyapupkin

Asosiy passwd kalitlari:

Foydalanuvchilar haqida ma'lumot olish

    w Barcha tizimga kirgan foydalanuvchilar haqidagi ma'lumotlarni (foydalanuvchi nomi, qobiq, kirish vaqti va h.k.) ko'rsatadi.

    whoami - foydalanuvchi nomingizni ko'rsatadi.

    foydalanuvchilar - tizimda ishlaydigan foydalanuvchilarning nomlarini ko'rsatadi.

    group user_name - foydalanuvchi a'zo bo'lgan guruhlar ro'yxatini ko'rsatadi.

Foydalanuvchini o'chirish

Foydalanuvchini olib tashlash uchun userdel yordam dasturidan foydalaning. Foydalanish misoli:

sudo userdel vasyapupkin

userdel faqat ikkita asosiy kalitga ega:

Guruh boshqaruvi

Guruh yarating

Groupadd dasturi belgilangan buyruq qatori qiymatlari va tizim standartlariga muvofiq yangi guruh yaratadi. Foydalanish misoli:

sudo groupadd test guruhi

Asosiy kalitlar:

Guruh o'zgarishi

Siz groupmod yordamida guruh nomini, uning GID yoki parolini o'zgartirishingiz mumkin. Misol:

sudo groupmod -n newtestgroup testgroup #Guruh nomi test guruhidan yangi test guruhiga oʻzgartirildi

groupmod imkoniyatlari:

Guruh o'chirilmoqda

Guruhni o'chirish quyidagicha amalga oshiriladi:

sudo groupdel test guruhi

groupdelda qo'shimcha imkoniyatlar yo'q.

Konfiguratsiya fayllari

Siz foydalanuvchilar va guruhlarning parametrlarini nafaqat maxsus yordam dasturlari yordamida, balki qo'lda ham o'zgartirishingiz mumkin. Barcha sozlamalar matnli fayllarda saqlanadi. Ularning har birining tavsifi quyida keltirilgan.

/etc/passwd

Fayl ichida /etc/passwd foydalanuvchilar haqidagi barcha ma'lumotlar paroldan tashqari saqlanadi. Ushbu faylning bir qatori bitta foydalanuvchi tavsifiga mos keladi. Chiziqning taxminiy mazmuni quyidagicha:

Vasyapupkin:x:1000:1000:Vasya Qovoq:/home/vpupkin:/bin/bash

Chiziq bir nechta maydonlardan iborat bo'lib, ularning har biri ikkinchisidan ikkita nuqta bilan ajratilgan. Har bir maydonning ma'nosi jadvalda keltirilgan.

Ikkinchi va oxirgi maydonlar ixtiyoriy va muhim bo'lmasligi mumkin.

/etc/group

IN /etc/group, nomidan ko'rinib turibdiki, guruhlar haqidagi ma'lumotlarni saqlaydi. Shunga o'xshash tarzda yozilgan /etc/passwd shakl:

Vasyapupkin:x:1000:vasyapupkin, petya

Ushbu faylda ikkinchi va to'rtinchi maydonlar bo'sh bo'lishi mumkin.

/etc/shadow

Fayl /etc/shadow parollarni saqlaydi, shuning uchun ushbu faylga o'rnatilgan huquqlar oddiy foydalanuvchiga uni o'qishga ruxsat bermaydi. Ushbu fayldagi yozuvlardan biriga misol:

Vasyapupkin:$6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL3:9:9:9:9:19

GUI orqali foydalanuvchi va guruh boshqaruvi

Ubuntu'ning joriy versiyasida tizim foydalanuvchilari guruhlarini boshqarish uchun oddiy yordamchi dastur mavjud emas, shuning uchun sukut bo'yicha guruhlar bilan barcha harakatlar konsolda bajarilishi kerak. Biroq, bu maqsadlar uchun maxsus "Foydalanuvchilar va guruhlar" yordam dasturi mavjud.

Guruhlarni boshqarish uchun grafik GUI yordam dasturini o'rnatish

Gnome-system-tools to'plami Ubuntu omborida joylashgan, shuning uchun u bitta buyruq bilan o'rnatiladi:

sudo apt-get install gnome-system-tools

Guruh boshqaruvi

Guruhlarni qo'shish, olib tashlash, shuningdek, foydalanuvchilarni ma'lum guruhlarga qo'shish / o'chirish uchun ushbu oynadagi "Guruhlarni boshqarish" tugmasini bosgandan so'ng Ubuntu / Dash Menyu - Tizim Utilitalari - Ma'muriyat - Foydalanuvchilar va Guruhlarga o'tishingiz kerak. , siz tizimdagi barcha guruhlarni ko'rsatadigan oynani ko'rasiz:

unda kerakli guruhni tanlab, "Xususiyatlar" tugmasini bosish orqali siz guruhga qo'shilishi kerak bo'lgan foydalanuvchilarni belgilashingiz mumkin.

Foydalanuvchilarni boshqarish tizim xavfsizligining muhim qismidir. Samarasiz foydalanuvchilar va imtiyozlarni boshqarish ko'pincha ko'plab tizimlarning buzilishiga olib keladi. Shuning uchun, serveringizni oddiy va samarali foydalanuvchi hisobini boshqarish usullari bilan qanday himoya qilishni tushunishingiz muhimdir.

Superuser qayerda?

Ubuntu ishlab chiquvchilari ongli ravishda barcha Ubuntu o'rnatishlarida ma'muriy ildiz hisobini (root) sukut bo'yicha o'chirishga qaror qilishdi. Bu ildiz hisobi o'chirilgan yoki unga kirish mumkin emas degani emas. Unga hech qanday mumkin bo'lmagan shifrlangan qiymatga mos kelmaydigan parol tayinlangan, shuning uchun uni to'g'ridan-to'g'ri tizimga kirish uchun ishlatib bo'lmaydi.

Buning o'rniga, foydalanuvchilarga nomli vositadan foydalanish tavsiya etiladi sudo ma'muriy vazifalarni o'tkazish. sudo avtorizatsiya qilingan foydalanuvchilarga superfoydalanuvchiga berilgan parolni bilish oʻrniga oʻz parolidan foydalanib, oʻz imtiyozlarini vaqtincha oshirish imkonini beradi. Ushbu oddiy, ammo kuchli texnika foydalanuvchining barcha harakatlari uchun javobgarlikni ta'minlaydi va ma'muriyatga ma'lum imtiyozlarga ega bo'lgan foydalanuvchi qanday harakatlarni bajarishi mumkinligini alohida nazorat qiladi.

1. Agar biron sababga ko'ra superuser hisobiga ruxsat bermoqchi bo'lsangiz, unga parol o'rnating:

sudo passwd

Sudo sizdan parolingizni so'raydi va keyin quyida ko'rsatilgandek yangi ildiz parolini o'rnatishingizni taklif qiladi:

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

2. Ildiz hisobini o'chirish uchun quyidagi passwd sintaksisidan foydalaning:

sudo passwd -l ildiz

odam sudo

Odatiy bo'lib, Ubuntu o'rnatuvchisi tomonidan yaratilgan dastlabki foydalanuvchi "admin" guruhining a'zosi bo'lib, u /etc/sudoers fayliga sudo vakolatli foydalanuvchilar sifatida qo'shiladi. Agar siz boshqa hisob qaydnomasi orqali to'liq superfoydalanuvchiga ruxsat berishni istasangiz sudo shunchaki guruhga qo'shing admin.

Foydalanuvchilarni qo'shish va o'chirish

Mahalliy foydalanuvchilar va guruhlarni boshqarish jarayoni oddiy va boshqa GNU/Linux operatsion tizimlaridan unchalik farq qilmaydi. Ubuntu va boshqa Debian-ga asoslangan distribyutorlar hisobni boshqarish uchun "adduser" paketidan foydalanishni rag'batlantiradi.

1. Foydalanuvchi hisobini qo'shish uchun quyidagi sintaksisdan foydalaning va parol va autentifikatsiya xususiyatlari, masalan, to'liq ism, telefon raqami va boshqalar uchun ko'rsatmalarga amal qiling:

sudo adduser foydalanuvchi nomi

2. Foydalanuvchi va ularning asosiy guruhini olib tashlash uchun quyidagi sintaksisdan foydalaning:

sudo deluser foydalanuvchi nomi

Foydalanuvchini oʻchirish uning bogʻlangan uy katalogini oʻchirib tashlamaydi. Katalogni qo'lda o'chirish yoki uni saqlash qoidalariga muvofiq qoldirish sizga bog'liq.

Esda tutingki, keyinroq avvalgisi kabi bir xil UID/GID bilan qo‘shilgan har qanday foydalanuvchi, agar siz kerakli ehtiyot choralarini ko‘rmasangiz, ushbu katalogga kirish huquqiga ega bo‘ladi.

Siz ushbu katalogning UID/GID qiymatlarini mosroq narsaga o'zgartirishingiz mumkin, masalan, superfoydalanuvchi qiymatlari va kelajakdagi ziddiyatlarni oldini olish uchun katalogni ko'chirishingiz mumkin:

sudo chown -R root:root /home/username/ sudo mkdir /home/archived_users/ sudo mv /home/username /home/archived_users/

3. Vaqtinchalik bloklash yoki blokdan chiqarish uchun quyidagi sintaksisdan foydalaning:

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

4. Shaxsiy guruhni qoʻshish yoki oʻchirish uchun mos ravishda quyidagi sintaksisdan foydalaning:

sudo addgroup groupname Sudo delgroup groupname

5. Guruhga foydalanuvchi qo‘shish uchun quyidagilardan foydalaning:

Sudo adduser foydalanuvchi nomi guruh nomi

Foydalanuvchi profili xavfsizligi

Yangi foydalanuvchi yaratilganda, adduser yordam dasturi mos ravishda yangi nomli katalog yaratadi. /home/foydalanuvchi nomi. Standart profil /etc/skel katalogida joylashgan tarkibdan yaratilgan bo'lib, u profillarni yaratish uchun barcha asoslarni o'z ichiga oladi.

Agar sizning serveringizda bir nechta foydalanuvchi bo'lsa, maxfiylikni saqlash uchun foydalanuvchi uy katalogidagi ruxsatlarga e'tibor berishingiz kerak. Odatiy bo'lib, foydalanuvchi uy kataloglari hamma uchun o'qish/bajarish ruxsatnomalari bilan yaratilgan. Bu shuni anglatadiki, barcha foydalanuvchilar boshqa uy kataloglari tarkibini ko'rishlari va ularga kirishlari mumkin. Bu sizning muhitingizga mos kelmasligi mumkin.

1. Mavjud foydalanuvchilarning uy kataloglarida ruxsatlarni tekshirish uchun quyidagi sintaksisdan foydalaning:

ls -ld /home/foydalanuvchi nomi

Quyidagi natija /home/username katalogi hamma uchun o'qish huquqiga ega ekanligini ko'rsatadi:

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

2. Quyidagi sintaksisdan foydalanib, hamma uchun o‘qish ruxsatlarini olib tashlashingiz mumkin:

Sudo chmod 0750 /home/username

Ba'zilar rekursiya (-R) opsiyasidan beg'araz foydalanishadi, bu esa barcha asosiy katalog va fayllarni o'zgartiradi, garchi bu ixtiyoriy va boshqa istalmagan oqibatlarga olib kelishi mumkin. Asosiy katalogning o'zi uning mazmuniga ruxsatsiz kirishni oldini oladi.

Ushbu muammoga yanada samarali yondashuv standart global ruxsatlarni o'zgartirish bo'ladi qo'shimcha foydalanuvchi uy kataloglarini yaratishda. Shunchaki /etc/adduser.conf faylini tahrirlang, DIR_MODE o'zgaruvchisini mosroq narsaga o'zgartiring, shunda barcha yangi uy kataloglari to'g'ri ruxsatlarga ega bo'ladi.

DIR_MODE=0750

3. Yuqorida aytib o'tilgan usullardan foydalangan holda katalog ruxsatlarini tuzatgandan so'ng, natijalarni quyidagi buyruq yordamida tekshiring:

ls -ld /home/foydalanuvchi nomi

Quyidagi natija hamma uchun o'qish ruxsatnomalari 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 yondashuvingizning eng muhim jihatlaridan biridir. Ko'pgina muvaffaqiyatli xavfsizlik yutuqlari qo'pol kuch hujumlari va zaif parollarga qarshi lug'atni taxmin qilishdan foydalangan. Agar siz mahalliy parol tizimidan foydalangan holda masofaviy kirishning har qanday shaklidan foydalanmoqchi bo'lsangiz, tegishli minimal parol talablarini, maksimal parol muddatini o'rnatganingizga ishonch hosil qiling va autentifikatsiya tizimini tez-tez tekshirib turing.

Minimal parol uzunligi

Odatiy bo'lib, Ubuntu 6 ta belgidan iborat minimal parol uzunligini, shuningdek, ba'zi asosiy tarqalish tekshiruvlarini talab qiladi. Ushbu parametrlar /etc/pam.d/common-password fayli tomonidan boshqariladi va quyida keltirilgan:

Parol pam_unix.shunda sha512 noaniq

Agar siz minimal uzunlikni 8 ta belgiga o'rnatmoqchi bo'lsangiz, mos keladigan o'zgaruvchini min=8 ga o'zgartiring. O'zgarishlar quyida keltirilgan:

Parol pam_unix.shuning uchun tushunarsiz sha512 min=8

Sifat va minimal parol uzunligi bo'yicha asosiy tekshiruvlar yangi foydalanuvchini o'rnatish uchun sudo darajasidagi buyruqlar yordamida administratorga taalluqli emas.

Parol muddati

Foydalanuvchi hisoblarini yaratishda foydalanuvchilarni ma'lum vaqtdan keyin parollarini o'zgartirishga majburlash uchun minimal va maksimal parolning ishlash muddati siyosatini yaratishingiz kerak.

1. 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:

Parolning oxirgi oʻzgarishi: 2008-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 Parol muddati tugashidan oldin ogohlantirish kunlari soni: 7

2. Ushbu qiymatlarni o'rnatish uchun quyidagi buyruqdan foydalaning va interaktiv ko'rsatmalarga amal qiling:

Sudo foydalanuvchi nomini o'zgartirish

Quyida aniq parolning amal qilish muddatini (-E) 01/31/2008 ga, minimal parol yoshi (-m) 5 kunga, maksimal amal qilish muddatini (-M) 90 kunga qo‘lda o‘zgartirishingiz mumkinligiga misol ham keltirilgan. Parolning amal qilish muddati tugaganidan keyin 5 kun davomida harakatsizlik davri (-I) va parolning amal qilish muddati tugashidan oldin 14 kun davomida ogohlantirish davri (-W).

Sudo chage -E 01/31/2011 -m 5 -M 90 -I 30 -W 14 foydalanuvchi nomi

3. O'zgarishlarni tekshirish uchun yuqorida aytib o'tilgan buyruqdan foydalaning:

sudo chage -l foydalanuvchi nomi

Quyidagi buyruq chiqishi hisob uchun qo'llaniladigan yangi siyosatlarni ko'rsatadi:

Parolni oxirgi oʻzgartirish: 2008-yil 20-yanvar Parolning amal qilish muddati: 2008-yil 19-aprel Parol nofaol: 2008-yil 19-may Hisobning amal qilish muddati: 2008-yil 31-yanvar Parol oʻzgarishi orasidagi minimal kunlar soni: 5 Parolni oʻzgartirish orasidagi maksimal kunlar soni: 90 kunlar soni Parol muddati tugashidan oldin ogohlantirish: 14

Boshqa xavfsizlik masalalari

Ko'pgina ilovalar hatto tajribali tizim ma'murlari tomonidan ham osongina e'tibordan chetda qolishi mumkin bo'lgan muqobil autentifikatsiya mexanizmlaridan foydalanadi. Shu sababli, foydalanuvchilarning serveringizga qanday kirishlari va xizmatlar va ilovalarga kirishlarini tushunish va nazorat qilish muhimdir.

Bloklangan foydalanuvchilar tomonidan SSH kirish

Oddiy o'chirish/bloklash, agar u ilgari RSA umumiy kaliti autentifikatsiyasi uchun sozlangan bo'lsa, foydalanuvchi serverga masofadan ulanishiga to'sqinlik qilmaydi. Bunday foydalanuvchilar serverdagi konsol qobig'iga hech qanday parol kiritmasdan kirishadi. /home/username/.ssh/authorized_keys kabi ushbu turdagi SSH avtorizatsiyasiga ruxsat beruvchi fayllar uchun foydalanuvchining uy kataloglarini tekshirishni unutmang.

Foydalanuvchining uy katalogidagi .ssh/ katalogini olib tashlash yoki nomini o'zgartirish SSH autentifikatsiyasini qo'shimcha qilishning oldini oladi.

Bloklangan foydalanuvchilarning o'rnatilgan SSH ulanishlarini tekshirib ko'ring, chunki kiruvchi yoki chiquvchi ulanishlar qolishi mumkin. Topgan hamma narsani o'ldiring.

SSH-ga kirishni faqat talab qiladigan foydalanuvchi hisoblariga cheklang. Misol uchun, siz "sshlogin" deb nomlangan guruh yaratishingiz va guruh nomini /etc/ssh/sshd_config faylida joylashgan AllowGroups o'zgaruvchisiga qiymat sifatida qo'shishingiz mumkin.

AllowGroups sshlogin

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

sudo adduser foydalanuvchi nomi sshlogin sudo xizmati ssh qayta ishga tushirish

Tashqi ma'lumotlar bazasi autentifikatsiyasi

Aksariyat korporativ tarmoqlar markazlashtirilgan autentifikatsiyani va barcha tizim resurslari uchun kirishni boshqarishni talab qiladi. Agar siz serveringizni foydalanuvchilarni tashqi ma'lumotlar bazasiga nisbatan autentifikatsiya qilish uchun sozlagan bo'lsangiz, mahalliy autentifikatsiyaga qaytmasligingiz uchun tashqi va mahalliy hisoblarni o'chirib qo'yganingizga ishonch hosil qiling.

Aytaylik, men Ubuntu Linux 16.04.xx LTS ning yangi foydalanuvchisiman. Menda darhol bir nechta savollar bor. Serverimda yangi sudo foydalanuvchisini qanday yaratish mumkin? Ubuntu'da buyruq qatori opsiyasi yordamida sudoer fayliga yangi foydalanuvchini qanday qo'shish mumkin?

Linuxda (va umuman Unix) root deb nomlangan superfoydalanuvchi mavjud. Ildiz foydalanuvchisi hamma narsani qila oladi va shuning uchun tizimdan normal foydalanish juda xavfli bo'lishi mumkin. Buyruqni noto'g'ri kiritishingiz va tizimni yo'q qilishingiz mumkin. Sudo buyrug'i vakolatli foydalanuvchiga buyruqni superuser (root foydalanuvchi) yoki xavfsizlik siyosatida ko'rsatilgan boshqa foydalanuvchi sifatida bajarishga imkon beradi. Ko'pincha sudo serverlarda oddiy foydalanuvchilarga ma'muriy huquq va imtiyozlar berish uchun ishlatiladi. Ushbu tezkor qo'llanma sizga Ubuntu-da sudo foydalanuvchisini qanday yaratishni ko'rsatib beradi.

Ubuntu-da sudo foydalanuvchisini yaratish uchun bir necha qadamlarni bajarish kerak

Ubuntu serveridagi administrator guruhi va sudo guruhi haqida batafsil

Ma'muriy guruh a'zolariga ildiz huquqlari berilishi mumkin. Sudo guruhining barcha a'zolari Ubuntu serverida istalgan buyruqni bajaradilar. Shunday qilib, foydalanuvchini Ubuntu serveridagi sudo guruhiga qo'shing. Ubuntu 12.04 va undan keyingi versiyalaridan boshlab administrator guruhining imkoniyatlari sezilarli darajada kamaydi. Shuning uchun administrator guruhi endi mavjud emas yoki u oddiygina Ubuntu 12.04 yoki undan keyingi versiyalarida qo'llaniladi. Buning nima uchun ishlashining sababi:

# grep -B1 -i "^%sudo" /etc/sudoers

$ sudo grep -B1 -i "^%sudo" /etc/sudoers

# Sudo guruhi aʼzolariga har qanday %sudo ALL=(ALL:ALL) ALL buyrugʻini bajarishga ruxsat bering

Keling, ba'zi amaliy misollarni ko'rib chiqaylik.

Buyruqlar qatori yordamida sudo-ga vivek ismli yangi foydalanuvchini qanday qo'shish mumkin?

Terminalni oching yoki masofaviy serveringizga kiring:

$ ssh [elektron pochta himoyalangan]$ ssh [elektron pochta himoyalangan] { [elektron pochta himoyalangan]:/root) #

# qo'shimcha foydalanuvchi vivek

$ sudo adduser vivek

01-rasm: Ubuntu-da yangi foydalanuvchini qanday qo'shish mumkin

Mumkin bo'lgan ma'lumotlar chiqishiga misollar:

Vivek hisobi uchun Ubuntu'da sudo foydalanuvchisini qanday yaratish mumkin

Quyidagi buyruqni kiriting:

# qo'shimcha foydalanuvchi vivek sudo

YOKI foydalanuvchini Linuxdagi guruhga qo'shish uchun usermod buyrug'idan foydalaning:

# usermod -aG sudo vivek

$ sudo usermod -aG sudo vivek

$ sudo adduser vivek sudo

Mumkin bo'lgan ma'lumotlar chiqishiga misollar:

02-rasm: administrator huquqlarini olish uchun vivek foydalanuvchisini sudo-ga qo'shing

Yangi foydalanuvchi va guruh aʼzosini quyidagi bilan tasdiqlang:

$id vivek

Mumkin bo'lgan ma'lumotlar chiqishiga misollar:

03-rasm: Foydalanuvchi va guruh ma'lumotlarini ko'rsatish

Vivek foydalanuvchisi endi ssh buyrug'i yordamida tizimga kirishi mumkin:

$ ssh [elektron pochta himoyalangan]

Vivek sudo buyrug'idan foydalanishiga ishonch hosil qiling:

$ sudo cat /etc/sudoers

Sudo buyrug'ini birinchi marta ishlatganingizda, sizdan vivek hisobi uchun parol so'raladi. Shunday qilib, ildizga kirish uchun vivek parolini kiriting. Sudo bilan har qanday turdagi buyruqlar vivek hisobi uchun ildiz huquqlari bilan ishga tushirilishi kerak. Ildiz qobig'ini olish uchun quyidagilarni yozing:

$ sudo -s

Mumkin bo'lgan ma'lumotlar chiqishiga misollar:

03-rasm: vivek foydalanuvchi hisobi uchun sudo ruxsatini sinab ko'rish

Va shunday qildingiz. Endi siz boshqa foydalanuvchilarga Ubuntu serverida sudo-ni ishga tushirishga ruxsat berishingiz va foydalanuvchilarga administrator huquqlarini berishingiz mumkin.

Linux ko'p foydalanuvchili tizim bo'lganligi sababli, fayllar va kataloglarga kirishni boshqarishni tashkil qilish masalasi operatsion tizim hal qilishi kerak bo'lgan muhim masalalardan biridir. 70-yillarda UNIX tizimi uchun ishlab chiqilgan kirishni boshqarish mexanizmlari (ehtimol, ular ilgari kimdir tomonidan taklif qilingan) juda oddiy, ammo ular shunchalik samarali bo'lib chiqdiki, ular 30 yildan ortiq vaqt davomida mavjud bo'lib, hali ham muvaffaqiyatli bajarilmoqda. ular oldida turgan vazifalar vazifalari.

Kirishni boshqarish mexanizmlari foydalanuvchi nomlari va foydalanuvchilar guruhi nomlariga asoslanadi. Siz allaqachon bilasizki, Linuxda har bir foydalanuvchi o'ziga xos nomga ega bo'lib, u bilan tizimga kiradi (kirish). Bundan tashqari, tizimda bir qancha foydalanuvchilar guruhlari yaratiladi va har bir foydalanuvchi bir yoki bir nechta guruhlarga kiritilishi mumkin. Superfoydalanuvchi guruhlarni yaratadi va o'chiradi, u ma'lum bir guruh a'zolarini ham o'zgartirishi mumkin. Turli guruhlarning a'zolari turli xil fayllarga kirish huquqlariga ega bo'lishi mumkin, masalan, Administratorlar guruhi Dasturchilar guruhiga qaraganda ko'proq huquqlarga ega bo'lishi mumkin.

Har bir faylning inode fayl egasi deb ataladigan nom va ushbu faylga huquqlarga ega bo'lgan guruhni o'z ichiga oladi. Dastlab, fayl yaratilganda, faylni yaratgan foydalanuvchi uning egasi deb e'lon qilinadi. Aniqrog'i, faylni yaratish jarayoni uning nomidan ishga tushirilgan foydalanuvchi. Guruh, shuningdek, fayl yaratilganda, faylni yaratuvchi jarayonning guruh identifikatori tomonidan tayinlanadi. Faylning egasi va guruhi keyingi ish jarayonida buyruqlar yordamida o'zgartirilishi mumkin chown Va chgrp(ular haqida keyinroq muhokama qilinadi).

Endi buyruqni yana ishga tushiramiz ls-l. Ammo keling, uni qo'shimcha parametr sifatida ma'lum bir fayl nomini o'rnatamiz, masalan, buyruqni o'zi belgilaydigan fayl ls. (Aytgancha, buyruqning bu imkoniyatiga e'tibor bering ls-l- bir vaqtning o'zida katalogdagi barcha fayllar haqida emas, balki ma'lum bir fayl haqida ma'lumot olish).

$ ls -l /bin/ls

Bu holda fayl ildiz foydalanuvchisi va ildiz guruhiga tegishli ekanligini ko'rishingiz mumkin. Ammo endi bizni ushbu buyruqning chiqishidagi birinchi maydon qiziqtiradi, bu fayl turi va fayl ruxsatlarini belgilaydi. Misoldagi bu maydon belgilar qatori bilan ifodalangan -rwxr-xr-x. Ushbu belgilarni taxminan 4 guruhga bo'lish mumkin.

Bitta belgidan iborat birinchi guruh fayl turini belgilaydi. Oldingi bo'limda muhokama qilingan fayl turlariga muvofiq ushbu belgi quyidagi ma'nolarni olishi mumkin:

    - = - oddiy fayl

    d=- katalog;

    b=- qurilma faylini bloklash;

    c=— belgilar qurilmasi fayli;

    s=- domen soketi (rozetkasi);

    p=- nomli quvur (quvur);

    l =- ramziy havola (havola).

Shundan so'ng har biri uchta belgidan iborat uchta guruh keladi, ular mos ravishda fayl egasi, ushbu fayl bilan bog'langan foydalanuvchilar guruhi va tizimning barcha boshqa foydalanuvchilari uchun faylga kirish huquqlarini belgilaydi. Bizning misolimizda egasi uchun ruxsatlar rwx sifatida belgilangan, ya'ni egasi ( ildiz) faylni oʻqish (r), shu faylga yozish (w) va faylni (x) bajarish huquqiga ega. Ushbu belgilarning istalganini chiziqcha bilan almashtirish foydalanuvchi tegishli huquqdan mahrum bo'lishini anglatadi. Xuddi shu misolda biz boshqa barcha foydalanuvchilar (shu jumladan guruhga kiritilganlar) ekanligini ko'ramiz ildiz) ushbu faylga yozish huquqidan mahrum, ya'ni ular faylni tahrirlay olmaydilar va uni qandaydir tarzda o'zgartira olmaydilar.

Umuman olganda, UNIX tizimlarida kirish huquqlari va fayl turi haqidagi ma'lumotlar inodelarda ikki baytdan, ya'ni 16 bitdan iborat alohida tuzilmada saqlanadi (bu tabiiydir, chunki kompyuter r, w, x belgilar bilan emas, balki bitlar bilan ishlaydi. ). Ushbu 16 bitdan to'rttasi fayl turining kodlangan yozuvi uchun ajratilgan. Keyingi uchta bit bajariladigan fayllar uchun maxsus xususiyatlarni o'rnatadi, biz biroz keyinroq gaplashamiz. Va nihoyat, qolgan 9 bit fayl ruxsatlarini aniqlaydi. Bu 9 bit 3 bitli 3 guruhga bo'lingan. Birinchi uchta bit foydalanuvchi ruxsatini, keyingi uchta bit guruh ruxsatini, oxirgi 3 bit esa barcha boshqa foydalanuvchilarning (ya’ni fayl egasi va fayl guruhidan tashqari barcha foydalanuvchilar) ruxsatlarini belgilaydi.

Bunda, agar tegishli bit 1 bo'lsa, u holda huquq beriladi, agar u 0 bo'lsa, huquq berilmaydi. Huquq belgilarining ramziy ko'rinishida birlik mos keladigan belgi (r, w yoki x) bilan almashtiriladi va 0 tire bilan ifodalanadi.

Faylni o'qish huquqi (r) foydalanuvchi turli xil ko'rish buyruqlari, masalan, buyruq yordamida fayl mazmunini ko'rishi mumkinligini anglatadi. Ko'proq yoki istalgan matn muharriri bilan. Ammo agar siz fayl mazmunini matn muharririda tahrir qilsangiz, faylga yozish (w) ruxsati bo'lmaguningizcha faylga kiritilgan o'zgarishlarni diskda saqlay olmaysiz. Amalga oshirish ruxsati (x) faylni xotiraga yuklashingiz va uni bajariladigan dastur sifatida ishga tushirishga harakat qilishingiz mumkinligini bildiradi. Albatta, agar fayl haqiqatan ham dastur (yoki qobiq skripti) bo'lmasa, unda bu faylni bajarish uchun ishga tushirish mumkin bo'lmaydi, lekin boshqa tomondan, fayl haqiqatan ham dastur bo'lsa ham, lekin o'ng bajarish uchun o'rnatilmagan bo'lsa, u ham ishlamaydi. boshlanadi.

Shunday qilib, biz Linuxda qaysi fayllar bajarilishi mumkinligini bilib oldik! Ko'rib turganingizdek, fayl nomi kengaytmasi bunga hech qanday aloqasi yo'q, hamma narsa "bajariladigan" atributini o'rnatish orqali aniqlanadi va har kimga ham bajarish huquqi berilmaydi!

Agar siz xuddi shu buyruqni bajarsangiz ls-l, lekin unga oxirgi argument sifatida fayl nomini emas, balki katalog nomini belgilang, biz kirish huquqlari kataloglar uchun ham aniqlanganligini va ular bir xil rwx belgilar bilan o'rnatilganligini ko'ramiz. Masalan, buyruqni ishga tushirish orqali ls -l /, bin katalogi qatorga mos kelishini ko'ramiz:

Tabiiyki, ma'lumotnomalarga nisbatan "o'qish huquqi", "yozish huquqi" va "ijro etish huquqi" tushunchalarining talqini biroz o'zgaradi. Katalogni faqat shu katalogdagi fayllar ro'yxatini o'z ichiga olgan fayl ekanligini yodda tutsangiz, kataloglarni o'qishga kirishni tushunish oson. Shuning uchun, agar siz katalogni o'qish huquqiga ega bo'lsangiz, unda siz uning mazmunini ko'rishingiz mumkin (bu katalogdagi fayllar ro'yxati). Yozish huquqi ham aniq - bunday huquqqa ega bo'lgan holda siz ushbu katalogda fayllarni yaratishingiz va o'chirishingiz mumkin, ya'ni katalogga fayl nomi va tegishli havolalarni o'z ichiga olgan yozuvni qo'shishingiz yoki o'chirishingiz mumkin. Ijro qilish huquqi kamroq intuitivdir. Bunday holda, bu katalogga o'tish huquqini anglatadi. Agar siz egasi sifatida boshqa foydalanuvchilarga katalogingizdagi faylni ko'rishga ruxsat berishni istasangiz, ularga katalogga kirishga ruxsat berishingiz kerak, ya'ni ularga "katalogni bajarishga ruxsat" berishingiz kerak. Bundan tashqari, foydalanuvchiga daraxtdagi ushbu katalog ustidagi barcha kataloglarni bajarishga ruxsat berishingiz kerak. Shuning uchun, printsipial jihatdan, barcha kataloglar uchun, sukut bo'yicha, ijro etish huquqi egasi va guruh uchun ham, boshqa barcha foydalanuvchilar uchun ham o'rnatiladi. Va agar siz katalogga kirishni yopmoqchi bo'lsangiz, barcha foydalanuvchilarni (shu jumladan guruhni) ushbu katalogga kirish huquqidan mahrum qiling. Faqat o'zingizni bunday huquqdan mahrum qilmang, aks holda siz superuserga murojaat qilishingiz kerak bo'ladi! (Eslatma 11)

Oldingi paragrafni o'qib chiqqandan so'ng, o'qish katalogiga kirish ruxsatni bajarish bilan solishtirganda hech qanday yangilikni ta'minlamaydi. Biroq, bu huquqlarda hali ham farq bor. Agar siz faqat bajarish huquqini o'rnatgan bo'lsangiz, siz katalogga kirishingiz mumkin, lekin u erda bitta faylni ko'rmaysiz (bu effekt, ayniqsa, biron bir fayl boshqaruvchisidan foydalansangiz, masalan, Midnight Commander dasturidan foydalansangiz aniq bo'ladi). Agar siz ushbu katalogning har qanday kichik katalogiga kirish huquqiga ega bo'lsangiz, unga o'tishingiz mumkin (buyruq bilan). cd), lekin, ular aytganidek, "ko'r-ko'rona", xotiradan, chunki siz joriy katalogning fayllari va pastki kataloglarini ko'rmaysiz.

Faylga kirishda foydalanuvchi huquqlarini tekshirish algoritmini quyidagicha tavsiflash mumkin. Tizim avval foydalanuvchi nomi fayl egasining ismiga mos kelishini tekshiradi. Agar bu nomlar mos kelsa (ya'ni egasi o'z fayliga kirsa), u holda egasining tegishli kirish huquqiga ega ekanligi tekshiriladi: o'qish, yozish yoki bajarish (hayron bo'lmang, superfoydalanuvchi fayl egasini ba'zi huquqlardan mahrum qilishi mumkin. ham). Agar bunday huquq mavjud bo'lsa, unda tegishli operatsiyaga ruxsat beriladi. Agar egasi zarur huquqqa ega bo'lmasa, guruh orqali yoki boshqa foydalanuvchilar uchun kirish atributlari guruhi orqali berilgan huquqlarni tekshirish hatto tekshirilmaydi va foydalanuvchiga so'ralgan harakatni amalga oshirish mumkin emasligi haqida xabar beriladi ( odatda "Ruxsat rad etildi" kabi).

Agar faylga kiruvchi foydalanuvchining nomi egasining ismiga mos kelmasa, tizim egasi ushbu fayl bilan bog'langan guruhga tegishli ekanligini tekshiradi (bundan keyin biz uni shunchaki fayl guruhi deb ataymiz) . Agar tegishli bo'lsa, u holda faylga kirish mumkinligini aniqlash uchun guruhga xos atributlardan foydalaniladi va egasi va boshqa barcha foydalanuvchilar uchun atributlar e'tiborga olinmaydi. Agar foydalanuvchi faylning egasi bo'lmasa va fayl guruhiga kiritilmagan bo'lsa, uning huquqlari boshqa foydalanuvchilar uchun atributlar bilan belgilanadi. Shunday qilib, faylga kirish huquqlarini belgilovchi atributlarning uchinchi guruhi fayl egasi va fayl guruhiga kiritilgan foydalanuvchilardan tashqari barcha foydalanuvchilar uchun amal qiladi.

Fayl ruxsatlarini o'zgartirish uchun buyruqdan foydalaning chmod. U ikkita versiyada ishlatilishi mumkin. Birinchi variantda siz kimga qanday huquq berayotganingizni yoki kimga bu huquqdan mahrum qilishingizni aniq ko'rsatishingiz kerak:

$ chmod wXp fayl nomi

Belgi o'rniga qaerda w almashtirilgan

    yoki belgi u(ya'ni egasi bo'lgan foydalanuvchi);

    yoki g(guruh);

    yoki o(faylga ega bo'lgan guruhga kiritilmagan barcha foydalanuvchilar);

    yoki a(tizimning barcha foydalanuvchilari, ya'ni egasi, guruh va boshqalar).

O'rniga X qo'ying:

    yoki + (biz huquq beramiz);

    yoki - (biz tegishli huquqdan mahrum qilamiz);

    yoki = (mavjud huquqlar o'rniga belgilangan huquqlarni o'rnating),

O'rniga p- tegishli huquqni bildiruvchi belgi:

    r(o'qish);

    w(rekord);

    x(ishlash).

Bu erda buyruqdan foydalanishning ba'zi misollari keltirilgan chmod:

$ chmod a+x fayl_nomi

barcha tizim foydalanuvchilariga ushbu faylni bajarish huquqini beradi.

$ chmod go-rw fayl_nomi

fayl egasidan tashqari hamma uchun o'qish va yozish ruxsatini olib tashlaydi.

$ chmod ugo+rwx fayl_nomi

hammaga o'qish, yozish va bajarishga ruxsat beradi.

Agar bu huquq kimga berilganligini ko'rsatib qo'ysak, unda biz umuman barcha foydalanuvchilar haqida gapirayotganimiz tushuniladi, ya'ni. $ chmod a+x fayl_nomi

oddiygina yozish mumkin

$ chmod + x fayl_nomi

Ikkinchi buyruq varianti chmod(u tez-tez ishlatiladi) huquqlarning raqamli ko'rinishiga asoslangan. Buning uchun biz r belgisini 4 raqami bilan, w belgisini 2 raqami va x belgisini 1 raqami bilan kodlaymiz. Foydalanuvchilarga ba'zi huquqlar to'plamini berish uchun biz tegishli raqamlarni qo'shishimiz kerak. Shunday qilib, fayl egasi, fayl guruhi va boshqa barcha foydalanuvchilar uchun kerakli raqamli qiymatlarni olganimizdan so'ng, biz ushbu uchta raqamni buyruqqa argument sifatida o'rnatdik. chmod(bu raqamlarni fayl nomini ko'rsatuvchi ikkinchi argument oldidan buyruq nomidan keyin qo'yamiz). Misol uchun, agar siz egasiga barcha huquqlarni (4+2+1=7), guruhga o'qish va yozish huquqini (4+2=6) berishingiz va qolganlariga hech qanday huquq bermasligingiz kerak bo'lsa, unda quyidagi buyruqni berishingiz kerak:

$ chmod 760 fayl_nomi

Agar siz sakkizlik raqamlarning ikkilik kodlanishi bilan tanish bo'lsangiz, unda siz ushbu ko'rinishdagi buyruq nomidan keyingi raqamlar fayl egasi uchun huquqlarni o'rnatadigan bir xil 9 bitning sakkizlik belgisidan boshqa narsa emasligini tushunasiz, fayllar guruhi va barcha foydalanuvchilar uchun.

Buyruq yordamida fayl ruxsatlarini o'zgartiring chmod faqat fayl egasi yoki super foydalanuvchi qila oladi. Guruh ruxsatlarini o'zgartirish imkoniyatiga ega bo'lish uchun egasi qo'shimcha ravishda faylga ruxsat bermoqchi bo'lgan guruh a'zosi bo'lishi kerak.

Fayl ruxsatlari haqidagi hikoyani yakunlash uchun biz bir xil buyruq yordamida o'rnatiladigan yana uchta mumkin bo'lgan fayl atributlari haqida gapirishimiz kerak. chmod. Bu fayl turi kodidan keyin darhol fayl huquqlarini belgilaydigan ikki baytli tuzilmadagi fayl inodesida 5-7 o'rinlarni egallagan bajariladigan fayllar uchun bir xil atributlardir.

Ushbu atributlarning birinchisi "foydalanuvchi identifikatorini o'zgartirish biti" deb ataladi. Ushbu bitning ma'nosi quyidagicha.

Odatda, foydalanuvchi dasturni bajarish uchun boshlaganida, bu dastur dasturni boshlagan foydalanuvchi ega bo'lgan bir xil fayl va katalog ruxsatlarini oladi. Agar "foydalanuvchi identifikatorini o'zgartirish biti" o'rnatilgan bo'lsa, u holda dastur dastur fayli egasi ega bo'lgan fayllar va kataloglarga kirish huquqiga ega bo'ladi (shuning uchun ko'rib chiqilayotgan atribut "egasini o'zgartirish biti" deb nomlanadi). Bu sizga aks holda bajarish qiyin bo'lgan ba'zi vazifalarni hal qilish imkonini beradi. Eng tipik misol - parolni o'zgartirish buyrug'i passwd. Barcha foydalanuvchi parollari superuserga tegishli /etc/passwd faylida saqlanadi. ildiz. Shuning uchun, oddiy foydalanuvchilar tomonidan ishga tushirilgan dasturlar, shu jumladan buyruq passwd, bu faylga yozish mumkin emas. Va shuning uchun foydalanuvchi, xuddi o'z parolini o'zgartira olmaydi. Ammo /usr/bin/passwd faylida "egasining identifikatorini o'zgartirish biti" mavjud, ya'ni foydalanuvchi ildiz. Shuning uchun, parol o'zgartiruvchi passwd huquqlar bilan ishlaydi ildiz va /etc/passwd fayliga yozish huquqiga ega bo'ladi (dasturning o'zi allaqachon foydalanuvchi ushbu faylda faqat bitta qatorni o'zgartirishi ta'minlangan).

"Egalik biti" buyrug'i bilan superuser tomonidan o'rnatilishi mumkin

# chmod +s fayl_nomi

"Guruh identifikatorini o'zgartirish biti" xuddi shunday ishlaydi.

Bajariladigan faylning yana bir mumkin bo'lgan atributi "vazifani saqlash biti" yoki "yopishqoq bit" (so'zma-so'z - "yopishqoq bit"). Ushbu bit tizimga dastur tugagandan so'ng dasturni RAMga saqlashni aytadi. Tez-tez bajarilishi kerak bo'lgan vazifalar uchun ushbu bitni yoqish qulay, chunki bu holda har bir yangi ishga tushirishda dasturni yuklash uchun vaqt tejaladi. Bu atribut eski kompyuterlarda talab qilingan. Zamonaviy yuqori tezlikda ishlaydigan tizimlarda kamdan-kam qo'llaniladi.

Agar siz buyruqda atributlarni o'rnatish uchun raqamli parametrdan foydalansangiz chmod, keyin ushbu atributlarning raqamli qiymati foydalanuvchi huquqlarini belgilaydigan raqamlardan oldin bo'lishi kerak:

# chmod 4775 fayl nomi

Bunday holda, kerakli umumiy natijani olish uchun ushbu bitlarning og'irligi quyidagicha berilgan:

    4 - "foydalanuvchi identifikatorini o'zgartirish biti",

    2 - "guruh identifikatorini o'zgartirish biti",

    1 - "vazifani saqlash biti (yopishqoq bit)".

Agar ushbu uchta bitdan birortasi 1 ga o'rnatilgan bo'lsa, u holda buyruqning chiqishi biroz o'zgaradi. ls-l belgilangan kirish huquqlari atributlarini ko'rsatish nuqtai nazaridan. Agar "foydalanuvchi ID bitini o'zgartirish" 1 ga o'rnatilgan bo'lsa, fayl egalari guruhidagi "x" belgisi "s" belgisi bilan almashtiriladi. Bundan tashqari, agar egasi faylni bajarish huquqiga ega bo'lsa, u holda "x" belgisi kichik "s" bilan almashtiriladi va agar egasi faylni bajarish huquqiga ega bo'lmasa (masalan, fayl bajarilmaydi). umuman), keyin "x" o'rniga "S" qo'yiladi. Shunga o'xshash almashtirishlar "guruh identifikatorini o'zgartirish biti" o'rnatilganda amalga oshiriladi, lekin guruh huquqlarini belgilaydigan atributlar guruhidagi "x" belgisi almashtiriladi. Agar "yopishqoq bit" 1 bo'lsa, u holda boshqa barcha foydalanuvchilar uchun huquqlarni belgilaydigan atributlar guruhidagi "x" belgisi almashtiriladi, agar barcha foydalanuvchilar faylni ishga tushirish uchun "x" belgisi "t" bilan almashtiriladi. ijro va agar ular bunday huquqqa ega bo'lmasa, "T" belgisi.

Shunday qilib, buyruqning chiqishida bo'lsa-da ls-l identifikatorni o'zgartirish bitlari va vazifani saqlash bitining qiymatlarini ko'rsatish uchun alohida pozitsiyalar mavjud emas, tegishli ma'lumotlar ko'rsatiladi. Bu qanday ko'rinishga ega bo'lishiga kichik bir misol:

# ls -l prim1

V. Kostromin (kos at rus-linux dot net) - 4,5. Fayllar va kataloglar uchun ruxsatlar
Maqola yoqdimi? Do'stlaringizga ulashing: