Linux ядросының қай технологияларына негізделген контейнеризация? Файл жүйесінде SUID, SGID және Sticky биттері дегеніміз не?
sobes.tech AI
AI-дан жауап
Linux-те контейнерлеу бірнеше негізгі ядро технологияларына негізделген:
- Namespaces — процестерді әртүрлі аспектілер бойынша оқшаулайды (PID, желі, файл жүйесі, пайдаланушы және басқа), жеке атау кеңістіктерін құрады.
- Control Groups (cgroups) — процестер топтарына ресурстарды (CPU, жад, диск) шектейді және бақылайды.
- Union файл жүйелері (OverlayFS, AUFS) — файл жүйесінің қабаттарын құруға мүмкіндік береді, бұл контейнерлерді құру мен басқаруды жеңілдетеді.
Файл жүйесінің атрибуттарына келетін болсақ:
-
SUID (Set User ID) — бұл битпен файлды іске қосқанда процесс файл иесінің құқықтарын алады, яғни бағдарламаны іске қосқан пайдаланушы емес, файл иесі құқықтарын алады. Бұл жоғары құқықтарды талап ететін бағдарламалар үшін пайдаланылады.
-
SGID (Set Group ID) — файлды іске қосқанда процесс файл тобының құқықтарын алады. Каталогтар үшін бұл бит жаңа файлдардың каталог тобына мұрагерлік етуін қамтамасыз етеді.
-
Sticky бит — каталогтарда файлдарды жою немесе қайта атауды тек файл иесі, каталог иесі немесе root қолданушы ғана жасай алады. Бұл қауіпсіздік үшін /tmp сияқты каталогтарда жиі пайдаланылады.
SUID орнату мысалы:
chmod u+s /usr/bin/passwd
Бұл әдеттегі пайдаланушыларға парольді өзгертуге мүмкіндік береді, иесінің (root) құқықтарын пайдалана отырып, қажетті операцияларды орындау үшін.