მომხმარებლებისა და ბაზისური უსაფრთხოების კონცეფციებს, რომლებსაც დღეს იყენებს ლინუქსი, მომდინარეობს ჯერ კიდევ UNIX-ის ეპოქიდან. მიუხედავად იმისა, რომ ეს კონცეფციები თითქმის 50 წლისაა, ისინი მაინც აჩვენებენ მაღალ ეფექტურობას თანამედროვე გარემოში.
ყველა მომხმარებელს Linux სისტემაში გააჩნია საკუთარი ანგარიში (account), რომელიც მოიცავს არამარტო შესვლისთვის საჭირო ინფორმაციას (username and password) არამედ განსაზღვრავს როგორ და სად შეუძლია მომხმარებელს სისტემასთან ურთიერთობა. პრივილეგიები და წვდომის კონტროლები (Access controls) ადგენს საზღვრებს, რომლის ფარგლებშიც მომხმარებელს შეუძლია მუშაობა.
იდენტიფიკატორი (UID/GID)
User და Group Identifiers (UIDs/GIDs) არის მომხმარებლების და ჯგუფების რიცხვითი იდენტიფიკატორები. ძველად იდენტიფიკატორები იყვნენ 16 ბიტიანი (შესაბამისად შესაძლებელი იყო 0დან 65535-მდე რიცხვების ქონა). დღევანდელი სისტემები კი თავისუფალნი არიან მსგავსი შეზღუდვებისგან და იყენებენ 64 ბიტიან იდენტიფიკატორებს.
ლინუქსის ყველა ანგარიშს აქვს არამარტო ანგარიშის იდენტიფიკატორი, არამედ ძირითადი (primary) ჯგუფის იდენტიფიკატორი – GID. ძირითადად ხდება ისე, რომ ასეთი ჯგუფის სახელი იდენტურია ანგარიშის სახელისა და თან სხვა არავინ არაა ამავე ჯგუფში. ანუ ანგარიშის შექმნისას იქმნება იმავე სახელობის ჯგუფი. თუმცა რა თქმა უნდა ადმინისტრატორს შეუძლია ძირითად ჯგუფში გააერთიანოს სხვადასხვა ანგარიშებიც. გარდა ძირითადი ჯგუფისა, მომხმარებელი შეიძლება ეკუთვნოდეს სხვა ჯგუფებსაც.
Superuser
სხვა ოპერაციულ სისტემებში ადმინისტრატორის ანალოგად ლინუქსში გვევლინება root, რომლის UID ყოველთვის 0-ია. როგორც უკვე მიხვდებოდით ამ ანგარიშის GID არის ასევე 0 და გაწევრიანებულია ძირითად ჯგუფში სახელად root.
სტანდარტული ანგარიშები
ყველა სხვა დანარჩენი ანგარიში ითვლება სტანდარტულად (არაპრიველეგირებულად).
როგორც წესი მომხმარებლების ანგარიშები შემდეგი თვისებებით ხასიათდებიან:
- UID იწყება 1000-დან (ზოგი ძველ სისტემაში შეიძლება ათვლა 500-დან დაიწყოს)
- Home დირექტორია არის /home-ში (მაგალითად /home/user)
- login shell-ად განსაზღვრულია bash (/bin/bash)
თუ მომხმარებლის user shell-ად მითითებულია არავალიდური ანგარიში, მაგალითად /sbin/nologin მაშინ მომხმარებელი ვერ გამოიყენებს ინტერაქტიულ shell-ს (კონსოლს და SSH წვდომას)
System accounts
ფართო გაგებით ყველა ანგარიში ანგარიშია, მაგრამ პრაქტიკული თვალსაზრისით გამოყოფენ სისტემურ ანგარიშებს. System accounts არ ეკუთვნის კონკრეტულ მომხმარებელს. ასეთი ანგარიშები იქმნება სისტემის დაყენებისას და განკუთვნილია სისტემური სერვისებისთვის.
ასეთ ანგარიშებს ახასიათებთ:
- UID არის 1000-მდე (ძველ სისტემებში 500-მდე)
- არ აქვთ home დირექტორია ან ის არაა განლაგებული /home-ში
- როგორც წესი არ აქვთ login shell (ძირითადად მითითებულია /sbin/nologin
Service accounts
უმეტესად სერვის ანგარიშები და სისტემური ანგარიშები ერთი და იგივე რამედ მიიჩნევა. თუმცა მაინც შეგვიძლია მცირედით განვასხვაოთ ისინი. სერვის ანგარიშები არ ეკუთვნის ჩვეულებრივ ადამიანებს, მაგრამ მათი UID/GID >1000. ეს ანგარიშები სისტემის დაყენებისას კი არ იქმნება, არამედ სერვისების დაყენება/კონფიგურაციისას.
თუმცა ამ ყველაფრიდან არსებობს გამონაკლისებიც: ასე მაგალითად Fedora-ს ტიპის სისტემებში, Apache web Server-ს აქვს UID/GID 48 და თან აქვს home დირექტორია (მაგ. /var/www/html/)
Login Shell-ის შეცვლა
როგორც უკვე ვთქვი უმეტეს შემთხვევაში login shell-ად დადგენილია bash. თუ თქვენ გინდათ ამის ცვლილება გამოიყენეთ ბრძანება chsh
ამ ბრძანების გამოყენება შეგიძლიათ ინტერაქტიულ რეჟიმში. შეიყვანეთ ბრძანება chsh და სისტემა გკითხავთ რომელი shell-ის გამოყენება გნებავთ.
ან არა ინტერაქტიულ რეჟიმში -s პარამეტრის გამოყენებით, მაგალითად:
chsh -s /usr/bin/zsh
Leave A Comment