- Техническа разлика между промяна на разрешенията за достъп с помощта на chmod и промяна на собствеността на ресурсите с chown.
- Система за представяне на разрешения, базирана на осмична и символна нотация за потребители, групи и други.
- Внедряване на стратегии за сигурност, базирани на принципа на най-малките привилегии, за предотвратяване на уязвимости в сървърите.
Ако сте се осмелили да управлявате собствен VPS сървър или специализирана машина, със сигурност сте осъзнали, че Linux е система, проектирана от самото начало за работа в мрежа. Ето защо сигурността е от първостепенно значение , тъй като контролът върху това кой може да чете, редактира или изпълнява файл е това, което предотвратява попадането на вашата информация в грешни ръце или злонамерен процес от срив на цялата система.
За да се ориентирате лесно в тази среда, просто да знаете как да изпълнявате команди не е достатъчно; трябва да разберете логиката зад собствеността върху файловете. В Linux всеки ресурс принадлежи на потребител и група и тук влизат в действие инструментите за регулиране на тези привилегии, които ни позволяват да защитим системата, без да блокираме работата на приложенията си.
Разбиране на анатомията на разрешителните
Когато стартирате команда ls -l В терминала ще видите низ от символи, който изглежда като секретен код, нещо подобно -rwxr-xr--Не се притеснявайте, по-просто е, отколкото изглежда. Първият герой ни казва Какъв тип елемент имаме пред себе си?Тирето обозначава обикновен файл, „d“ – папка (директория), а „l“ – символна връзка. Съществуват и по-рядко срещани символи, като например „s“ за сокети или „p“ за канали.
Следните девет знака са разделени на три равни групи от по три. Първият набор е за собственика (този, който е създал файла), вторият за групата собственици и третият за всички останали потребители в системата. Всеки набор от три знака може да съдържа буквите „r“ (четене), „w“ (запис) и „x“ (изпълнение) или тире, ако това разрешение не е предоставено.
Какво всъщност означава всяко разрешително?
- Четене (r): Във файл, това ви позволява да го отворите и да видите какво има вътре. Ако говорим за папка, това означава, че можете избройте файловете и поддиректориите съдържащ.
- Писане (w): Дава ви възможност да променяте съдържанието на файл или дори да го изтривате. В случай на директории, ви позволява да създаване, изтриване или преименуване елементи в него.
- Изпълнение (x): За файл това е, което позволява на скрипт или програма да се изпълнява. В папките това разрешение е жизненоважно, защото ви позволява да... достъп до директорията с помощта на командата
cd.
Командата chmod: Настройване на достъпа
Командата chmod (change mode) е нашият инструмент за промяна на тези разрешения. Има два начина за използването му: символен, който е по-интуитивен, и осмичен, който е предпочитан от администраторите, защото е по-бърз.
В символичен режимИзползваме букви, за да обозначим кого засяга промяната (u за потребител, g за група, o за други, a за всички) и символи като „+“ за добавяне или „-“ за премахване на разрешения. Например, ако искате групата да може да записва във файл, бихте използвали chmod g+w archivo.txtТова е много гъвкав начин да коригирайте разрешенията, ако е необходимо без да се променя останалата част от конфигурацията.
El осмичен режим Използва числа, базирани на двоичната система. Всяко разрешение има стойност: четене е 4, запис е 2, а изпълнение е 1. Събирането на тези стойности ни дава число от 0 до 7. Например, стойността 7 (4+2+1) означава пълен достъп, докато 5 (4+0+1) означава четене и изпълнение. По този начин, команда като chmod 755 carpeta безвъзмездни средства пълен контрол за собственика и достъп само за четене/изпълнение за групата и останалите.
Управление на имота с chown и chgrp
Понякога, дори ако разрешенията са правилни, файлът няма да работи, защото собственикът не е правилният човек. Тогава се намесва [подходящият инструмент/приложение]. chown (промяна на собственика). Тази команда позволява промяна на потребител и група кой притежава файла. Най-често срещаният синтаксис е chown usuario:grupo archivo.
Много често на уеб сървърите файловете принадлежат на потребителя на сървъра (като например www-data (в Apache или Nginx), така че уебсайтът да може да записва в определени папки. Ако трябва да приложите тази промяна към папка и всичко в нея, трябва да използвате рекурсивна опция -Rнапример, бягане chown -R www-data:www-data /var/www/html.
Администриране на потребители и групи в системата
За да има смисъл всичко гореизложено, първо трябва да управляваме кои са тези потребители. В Linux команди като useradd o adduser да създавате акаунти и passwd да им присвоите ключ. Цялата тази информация се съхранява в критични файлове, като например / И т.н. / ако съществува (данни за акаунта) и / и т.н. / сянка (криптирани пароли).
Групите са от съществено значение, за да се избегне необходимостта от задаване на разрешения едно по едно. groupadd Създадохме групата и с usermod -aG Добавяме потребители към него. По този начин можем да дадем колективни разрешителни за работен екип в определена папка, без да се компрометира сигурността на останалата част от системата.
Пот и повишени привилегии
Не се препоръчва винаги да работите като root, тъй като една грешка може да изтрие цялата система. За тази цел използваме sudoкоето ни позволява да изпълняваме команди с права на суперпотребител. Конфигурацията на това кой какво може да прави се намира във файла / и т.н. / sudoersкоето винаги трябва да се редактира с командата visudo за отстраняване на проблеми с грешки в sudo в Linux и да се избегнат синтактични грешки, които биха ни изключили от системата.
Сигурност и най-добри практики за сървъри
Често срещана грешка, която много начинаещи допускат, е да присвояват 777 разрешения на папка, когато нещо не работи. Това отваря широко вратата за всеки нападател. В идеалния случай трябва да следвате принципа на най-малките привилегии : предоставете само минималния достъп, необходим за изпълнение на задачата.
Като общо правило, файловете трябва да имат разрешения 644 (собственикът пише, всички останали могат само да четат), а папките - 755. За изключително чувствителни файлове, като SSH ключове или защитени с парола конфигурационни файлове (.env), разрешение 600 е правилната настройка, която гарантира, че никой друг освен собственика не може дори да прочете съдържанието.
Ако срещнете ужасяващата грешка 403 Forbidden на уебсайта си, най-вероятно това се дължи на проблем със собствеността или разрешенията. Преди да правите каквито и да било драстични промени, проверете дали уеб сървърът притежава файловете и дали директориите имат зададен бит за изпълнение, който позволява навигация.
Правилното управление на потребители, групи и разрешения, използвайки инструменти като chmod и chown, е първата линия на защита за всеки Linux сървър. От използването на umask маската за дефиниране на разрешения по подразбиране до рекурсивно управление на директории и строг контрол на sudoer-ите, всяка корекция допринася за създаването на стабилна и устойчива среда срещу потенциални прониквания, гарантирайки, че системните процеси и човешките потребители могат да съществуват едновременно, без да се компрометира целостта на данните.
Страстен писател за света на байтовете и технологиите като цяло. Обичам да споделям знанията си чрез писане и това е, което ще направя в този блог, ще ви покажа всички най-интересни неща за джаджи, софтуер, хардуер, технологични тенденции и много други. Моята цел е да ви помогна да се ориентирате в дигиталния свят по лесен и забавен начин.




