Изискват ли се 777 разрешения за файлове? Команда Chmod - Примери за използване

Много начинаещи потребители на Linux често се объркват, когато задават права за достъп с помощта на командата chmod.


В този съвет, по достъпен и ясен начин, ще дам примери за използване на командата chmod ... Просто използвайте тези примери в работата си, замествайки необходимите файлове или директории.

Команда Chmod е удобен инструмент за повишаване на сигурността на операционната система и ви позволява да задавате права за достъп към файлове или директории.

Ако сте влезли в системата, като използвате (или сте получили) разширени права на корен, можетепромяна на правата за достъп за всеки файл и директория, притежавани от всеки потребител в системата.

Ако сте редовен потребител, можете да присвоявате или променяте права за достъп само на директории и файлове, които създавате.

Възлагане права за достъп към файлове или директории с помощта на командата chmod може да се направи по два начина - като се използват символичен и абсолютен режим.

Примери за използване на командата chmod в символен режим:

(Първоначалната стойност на разрешенията на файла еrwxrwxrwx - пълен достъп за всички)

Отнемете разрешението за изпълнение на файл за всички потребители и групи:

$ chmod a-x файл (rw-rw-rw-)

Анулиране на запис във файл от група и други потребители:

$ chmod go-w файл (rw-r - r--)

Разрешаване на собственика да изпълни файла:

$ chmod u + x файл (rwxr - r--)

Дайте на групата същите разрешения като собственика на файла:

$ chmod g \u003d u файл (rwxrwxr--)

Отменете четенето и записването във файла от потребители на група и други потребители:

$ chmod go-rw файл (rwx - x ---)

Примери за използване на команда chmod в абсолютен режим:

Разрешение за четене, писане, изпълнение на файл от всички потребители и групи (пълен достъп):

$ файл chmod 777 (rwxrwxrwx)

Задаване на разрешения за четене и запис за собственик, група и други потребители:

$ файл chmod 666 (rw-rw-rw-)

Задаване на пълен достъп до файла за собственика и достъп само за четене за групата и другите потребители:

$ файл chmod 744 (rwxr - r--)

Задаване на пълен достъп до файла на собственика на файла и отказване на достъп до групата и други потребители:

$ файл chmod 700 (rwx ------)

Задаване на разрешения за четене / запис за собственика на файла и разрешения само за четене за групата и други:

$ chmod 644 файл (rw-r - r--)

Задаване на разрешения за четене и запис за собственика на файла и неговата група и отказване на достъп до други:

$ файл chmod 640 (rw-r -----)

Задаване на достъп до файлове с разрешение за четене за всички потребители и групи:

$ chmod 444 файл (r - r - r--)

Права за достъп до файлове за четене, запис, изпълнение от собственик и четене, изпълнение към група и други:

$ файл chmod 755 (rwxr-xr-x)

Позволете четене и изпълнение на достъп до файла за потребителя и другите и откажете достъп за групата:

$ файл chmod 505 (r-x --- r-x)

Ако искате да присвоите разрешения на всички файлове в текущата директория, просто поставете * (звездичка) след разрешенията, които задавате:

$ chmod 755 *

В резултат на тази команда собственикът ще има пълни (четене, модифициране, изпълнение) права върху всички файлове в текущата директория, докато групата и другите потребители ще имат само четене и изпълнение.

Ако искате вашите действия да се разпространяват рекурсивно (включително всички поддиректории), използвайте опцията -R:

$ chmod -R 777 *

Резултатът от изпълнението на горната команда рекурсивно ще "обходи" всички поддиректории на текущата директория и ще присвои пълен контрол на всички потребители и групи.

Тази статия обхваща само няколко примера за използване на командата chmod... Ако искате да научите повече за работата на екипа chmod и права за достъп на Linux, погледнете.

Работата с файловата система в семейството на Unix често изисква промяна и задаване на права за достъп за определени типове данни. Тези мерки спомагат за намаляване на риска от неразрешено гледане и използване на системна или друга информация, която е важна за правилната работа на сървъра.

Такава защитна функция (например права за достъп 777) обаче има смисъл само за многопотребителски операционни системи, тъй като в противен случай инсталирането й би било загуба на времеви ресурси.

Какво означава този термин?

Във всяка операционна система има ограничаващ елемент, който може да се управлява от различни групи потребители. Той се назначава от системния администратор и регулира реда и възможностите за работа с директорията под негов контрол за три типа потребители:

  • Собственикът на файла.
  • Потребители в групата на собственика.
  • Всеки друг, който има достъп до сървъра чрез уеб браузър.

Права на достъп 777 е атрибут, който ви позволява да четете, стартирате и пренаписвате / създавате файлове в директория за всички типове потребители, изброени по-горе, която съществува само за платформата Linux. Тази функция предоставя пълни възможности за взаимодействие с информация, но, за съжаление, тя е далеч от идеята за сигурност. Това действие е подобно на поставянето на файл в раздела „Споделени документи“ на Windows.

Привилегия 777: Числова стойност

В операционните системи Unix груповият достъп се записва на един трицифрен ред. Всеки от тях посочва правата на един от типовете потребители.

По този начин тази цифрова комбинация е аритметичната сума от 2 (запис), 4 (четене) и 1 (изпълнение) и описва възможностите, които тази функция предоставя.

Как да задам 777 права?

Знаейки, че горният атрибут позволява на потребителя да дешифрира цифровото обозначение, няма да е трудно да го зададе. За да направите това, имате нужда от всеки файлов мениджър, който поддържа FTP връзка към сървъра, който може да бъде достъпен като администратор.

Отговорът на въпроса за папката не се различава от инструкциите за файла: на сървъра изберете желания обект и извикайте контекстното меню, като щракнете с десния бутон на мишката. След това изберете "файл" и "промяна на атрибутите".

В прозореца на мениджъра, който се отваря, трябва да шофирате в комбинация от числа или да поставите отметки в квадратчетата срещу елементите за всяка от потребителските групи. За сървърна система Unix е осигурен и по-лесен начин, който изисква само въвеждане на команда във формат: chmod 777% filename% (име на файл или папка) в контролния панел на хостинга.

Само за мултиплейър сървъри

Основното нещо е да запомните, че 777 права съществуват само за файлове, разположени директно на сървър за много потребители и не са инсталирани на отделен компютър.

Освен това е възможно да зададете тези права на директории, където „поведението“ на посочените параметри ще бъде същото като за папка, с единствената разлика, че вместо да чете обектите вътре, потребителят ще може да преглежда само списъка с цялото съдържание. Инсталирането на права върху директории се извършва по методите, описани по-горе.

И, разбира се, трябва да се помни, че няма да работи за задаване на този тип достъп за пакета Денвър, тъй като имитира работата на мрежова уеб услуга, но всъщност не работи на платформата на Windows. Тази операционна система не принадлежи към категорията на сървърните, поради което при инсталиране на скриптове в Денвър изискванията за промяна на правата за достъп трябва просто да бъдат игнорирани.

Недостатъци на правата за пълен достъп

Сървърната система от права 777 се използва доста рядко, като правило повечето хостери се придържат към формата 755. Те се различават по малко пресечени функции за всички потребители, с изключение на собственика, лишавайки ги от възможността да пишат и създават файлове.

Задаването на права, които осигуряват пълен достъп до съдържание, намиращо се на сървъра, често води до нарушаване на сигурността на ресурса. Нападателите не пропускат шанса да се възползват от осезаемо нарушение на сигурността, тъй като неправилно зададените настройки за достъп дават свобода на действие на всеки потребител. По този начин не само тези, които се интересуват от това, могат да навредят на работата на сървъра, но и необмислените действия на неопитни потребители.

Преди да зададете правата за достъп на 777, трябва добре да помислите дали такава небрежност ще доведе до хакване на ресурса.

(Първоначалната стойност на разрешенията на файла е rwxrwxrwx - пълен контрол за всички) Отнемете разрешението за изпълнение на файла за всички потребители и групи:

$ chmod a-x файл (rw-rw-rw-)

Анулиране на запис във файл от група и други потребители:

$ chmod go-w файл (rw-r - r–)

Разрешаване на собственика да изпълни файла:

$ chmod u + x файл (rwxr - r–)

Дайте на групата същите разрешения като собственика на файла:

$ chmod g \u003d u файл (rwxrwxr–)

Отменете четенето и записването във файла от потребители на група и други потребители:

$ chmod go-rw файл (rwx-x-)

Примери за използване на команда chmod в абсолютен режим

Разрешение за четене, писане, изпълнение на файл от всички потребители и групи (пълен достъп):

$ chmod 777 файл (rwxrwxrwx)

Задаване на разрешения за четене и запис за собственик, група и други потребители:

$ chmod 666 файл (rw-rw-rw-)

Задаване на пълен достъп до файла за собственика и достъп само за четене за групата и другите потребители:

Файл $ chmod 744 (rwxr - r–)

Задаване на пълен достъп до файла на собственика на файла и отказване на достъп до групата и други потребители:

$ chmod 700 файл (rwx--)

Задаване на разрешения за четене / запис за собственика на файла и разрешения само за четене за групата и други:

$ chmod 644 файл (rw-r - r–)

Задаване на разрешения за четене и запис за собственика на файла и неговата група и отказване на достъп до други:

$ chmod 640 файл (rw-r-–)

Задаване на достъп до файлове с разрешение за четене за всички потребители и групи:

$ chmod 444 файл (r - r - r–)

Права за достъп до файлове за четене, запис, изпълнение от собственик и четене, изпълнение към група и други:

$ chmod 755 файл (rwxr-xr-x)

Позволете четене и изпълнение на достъп до файла за потребителя и другите и откажете достъп за групата:

$ chmod 505 файл (r-x-r-x)

Ако искате да присвоите разрешения на всички файлове в текущата директория, просто поставете * (звездичка) след разрешенията, които задавате:

$ chmod 755 *

В резултат на тази команда собственикът ще има пълни (четене, модифициране, изпълнение) права върху всички файлове в текущата директория, докато групата и другите потребители ще имат само четене и изпълнение. Ако искате вашите действия да се разпространяват рекурсивно (включително всички поддиректории), използвайте опцията -R:

$ chmod -R 777 *

Резултатът от изпълнението на горната команда рекурсивно ще "прекоси" всички поддиректории на текущата директория и ще присвои пълен достъп на всички потребители и групи. Тази статия обхваща само няколко примера за използване на командата chmod. Ако искате да научите повече за това как работи chmod и разрешенията за Linux, разгледайте тази статия.

Промяна на разрешенията само за директории (рекурсивно)

$ find / path / to / base / dir -type d -exec chmod 755 () +

$ chmod 755 $ (намиране / път / към / база / реж-тип d)

$ chmod 755 `намери / път / към / база / реж-тип d`

$ find / path / to / base / dir -type d -print0 | xargs -0 chmod 755

Промяна на разрешенията само за файлове (рекурсивно)

$ find / path / to / base / dir -type f -exec chmod 644 () +

$ chmod 644 $ (find / path / to / base / dir -type f)

$ chmod 0755 `намери. / -тип f`

$ find / path / to / base / dir -type f -print0 | 644 серия

Chmod синтаксис за папки и файлове

Нека първо разберем същността на проблема с Chmod, за да разберем какво точно и как конфигурираме. Така че нека да започнем. Разрешенията са разделени на Chmod за файлове и Chmod за директории. Те са обозначени еднакво, но означават малко по-различно.

Разрешенията за файлове (Chmod) са разделени на:

    r - правото на четене на данни.

    w - правото на промяна на съдържанието (запис - промяна само на съдържанието, а не изтриване).

    x - правото за изпълнение на файла.

Нека се спрем малко повече върху изпълнението на файла вдясно. Въпросът е, че на linux (Unix) всеки файл може да бъде изпълнен. Дали е изпълним, се определя не от неговото разширение (концепцията за разширение отсъства във файловата система Unix), а от правата за достъп на Chmod. Ако даден файл има разрешение “X” (chmod x), това означава, че той може да бъде стартиран за изпълнение.

Сега относно правата за достъп (Chmod) до папката (директорията):

    r - правото за четене на директорията (можете да прочетете съдържанието на директорията, т.е. да получите списък с обекти в нея)

    w - правото да променяте съдържанието на директорията (можете да създавате и изтривате обекти в тази директория и ако имате право да пишете, можете да изтриете дори тези файлове, които не ви принадлежат)

    x е правото, което ви позволява да влезете в директорията (това право винаги се проверява първо и дори ако имате всички необходими права върху обект, който е заровен дълбоко във веригата от директории, но нямате правото „X“ за достъп до поне един директории по пътя към този файл, тогава няма да пробиете до него)

В Linux (Unix) системи всички тези права се предоставят от главния администратор на компютъра, достъп до който той получава чрез въвеждане на парола. И ако повечето обекти имат права за достъп само за четене (Chmod), тогава вирусите на такъв компютър практически няма какво да правят. те няма да могат да се напишат там, или след това да бъдат изпълнени. Това е точно резултатът, който трябва да постигнем чрез задаване на права за достъп (Chmod) до обектите на нашия сайт.

Chmod синтаксис за потребителски групи

Самите разрешения (Chmod) се разделят на три категории, в зависимост от това кой има достъп до обекта:

    "Потребител" - u (директно собственикът на файла)

    "Група" - g (член на същата група като собственика)

    "Свят" - o (всички останали)

Сървърът определя към коя потребителска група принадлежите, когато се свържете със сървъра. Когато например се свържете със сървър чрез FTP, влизате с вашето потребителско име (и парола) и след това сървърът ви присвоява към групата „потребител“ („u)“. Други потребители, които също се свързват чрез FTP със сървъра, ще бъдат разпределени в групата "група" ("g"), а потребителят, който дойде на вашия сайт с помощта на браузъра си, ще бъде назначен към групата "свят" ("o").

Вариациите на трите възможни стойности "r", "w" и "x" за трите категории "u", "g" и "o" определят Chmod към файловете. Ако категория не е посочена, тя се заменя с тире "-". правата за достъп (Chmod) са посочени последователно в дадения ред:

    първо правата за собственика са "u"

    след това за групата - "g"

    и в края на правото за всички останали - "о"

След като сървърът присвои потребителя на определена група, той му предоставя правата за действия с обекти, след което потребителят може да чете, записва или изпълнява файла (в зависимост от това какво е разрешено на неговата група да прави с този обект). За да видите съдържанието на папка, тя трябва да има атрибут за четене "r" (за групата, към която сървърът е присвоил потребителя). За да създадете файл или папка в съществуващ, той трябва да има атрибут Chmod в записа "w".

За по-голяма яснота нека разгледаме пример, при който собственикът на файла („потребител“ - „u“) има всички права: правото да чете, да пише в него и да изпълнява, а всички останали потребители имат право само да четат. Записът на такъв Chmod ще изглежда така: "rwx r-- r--". Нека го разгледаме подробно: "rwx" (този запис задава правата върху обекта за собственика - "u"), "r--" (този запис задава правата върху същия обект, но ако потребителят е назначен към групата от сървъра - "g ")," R-- "(този запис задава правата върху обекта за всички останали потребители - o").

Как се различават Chmod файловете и папките

Нищо не може да се направи

Достъпът до директорията и нейните поддиректории е отказан

Можете да видите и промените съдържанието

Може да добавя, изтрива, променя файла на папката

Изпълнете, ако файлът е двоичен

Потребителят може да изпълни двоичен файл, за съществуването на който знае, въвеждането или четенето на директорията е забранено

Числов синтаксис на Chmod (777)

Можете да видите, че тук записи, използващи латински букви и тирета, се използват за описване на правата за достъп, но вероятно вече сте се сблъсквали с факта, че Chmod обикновено е зададен в цифров вид, например добре познатата комбинация: Chmod 777, която позволява всичко и всички. Всъщност правата за достъп (Chmod) също се означават с числа:

    w (запис) се заменя с 2

    x (версия) се заменя с 1

0 означава - не правете нищо (това, което е означено с тире в буквалната нотация) Да се \u200b\u200bвърнем към примера с правата за достъп, който дадох малко по-рано: rwx r-- r--. Ако заменим буквите и тиретата с цифри в него, в съответствие с току-що описаното правило и в същото време добавим числата във всеки триплет, ще получим цифровата форма на този запис: 744. оказва се, че сумата от тези числа показва Chmod към файлове или папка. Например:

    7 (rwx) \u003d 4 + 2 +1 (пълни права)

    5 (r-x) \u003d 4 + 0 + 1 (четене и изпълнение)

    6 (rw-) \u003d 4 + 2 + 0 (четене и запис)

    4 (r--) \u003d 4 + 0 + 0 (само за четене)

Тази таблица изброява всички възможни комбинации от Chmod, написани в цифров вид:

Сега нека разгледаме различните комбинации на Chmod в числа, приложени към потребителски групи:

"" Собственик ""

"" Група ""

""Почивка""

изпълни

изпълни

изпълни

Вие самите (с изключение на случая, когато осъществявате достъп до сайта чрез FTP) и всички останали посетители на сайта ви принадлежат към групата „word“ (всички останали), така че за да работим с уебсайта, трябва първо да разгледаме последния (трети) цифрата Chmod. За да може потребителят да "стартира файла" на скрипта, когато потребителят работи със сайта, ще е достатъчно да му бъдат зададени права за достъп (Chmod), започвайки от "4" (r-- - само за четене) (5,6,7 също ще работи, но ще бъде излишно от гледна точка на сигурността).

„За папката“, в която се намира файлът на този скрипт, трябва да зададете поне „5“ (r-x - можете да влезете в папката и да прочетете съдържанието й, не можете да изтривате или добавяте). 7 също е добре, но също така ще бъде излишно от гледна точка на сигурността. Ако искате скриптът не само да чете, но и да „записва“ някои данни (например въведени от потребителя), тогава минималните права върху „папката“ пак ще бъдат „5“, но за „файла“ ще ви трябват правата „6 "(Чети и пиши).

Най-вероятно на сървъра, на който сте копирали съдържанието на двигателя на вашия сайт, към обектите ще бъдат инсталирани следните Chmods:

Папки 755

собственикът (потребителят) може да прави всичко, групата и всички останали могат само да четат папките и да ги въвеждат, но им е забранено да пишат файлове, да променят имена и да ги изтриват в директории. (rwxr-xr-x)

Файлове 644

Ако имате сайт, състоящ се само от html, можете да го оставите по този начин. Но съвременните сайтове са изградени върху двигатели и може да има обекти, в които ще е необходимо да се пише от името на потребители от групата "свят" - o (всички останали). Това могат да бъдат папки, използвани за кеширане на страници или такива, в които ще се зареждат изображения, докато работите със сайта и т.н. Само по себе си се разбира, че ако отидете на сайта чрез FTP, можете да пишете в тези файлове или папки, но работещи с интерфейс на уебсайта, като обикновен потребител, може да имате проблеми. Следователно, към инсталирането на някои Chmods трябва да се подходи избирателно.

Но бих посъветвал да не давам 777 разрешение за цялата папка и това е цялото съдържание. Трябва да дадете конкретно разрешение на всяка подпапка в папките на директория www.

В идеалния случай дайте разрешение 755 от съображения за сигурност на уеб папката.

sudo chmod -R 755 / www / магазин

Всяко число има значима разделителна способност. Не давайте пълни разрешения.

N Описание ls binary 0 Изобщо няма разрешения --- 000 1 Изпълнява се само --x 001 2 Само записва -w- 010 3 Пише и изпълнява -wx 011 4 Само четене r-- 100 5 Четене и изпълнение rx 101 6 Четене и запис rw- 110 7 Прочетете, запишете и изпълнете rwx 111

  • Първото число е 7 - Прочетете, напишете и изпълнете за потребителя.
  • Второ число 5 - Четене и изпълнение на групата.
  • Трето число 5 - Четене и изпълнение на друг.

Ако имате няколко потребители във вашата производствена уеб папка, можете да зададете съответно разрешения и потребителски групи.

за mac, трябва да е "суперпотребител";

така че първо:

Судо-парола:

Chmod -R 777 директория_ път

Можете също да използвате chmod 777 *

Това ще даде разрешения за всички файлове в момента в папката и файлове, добавени в бъдеще, без да дава разрешения на самата директория.

ЗАБЕЛЕЖКА. Това трябва да се направи в папката, в която се намират файловете. За мен проблем имаха изображенията, затова отидох в папката с изображения и направих това.

Ако под всички разрешения имате предвид 777

Отидете в папката и

Днес бих искал да говоря за разрешенията за файлове и папки (четене). Тази концепция дойде в света на уеб администрацията от подобни на Linux (Unix) системи, на които работят повечето хостинг услуги.

И самото име Chmod е името на програма в linux, която ви позволява да присвоите права за достъп на различни обекти. И тъй като вашият сайт е инсталиран на сървър, работещ с linux (Unix) с една или друга разновидност, тогава работата с обекти на вашия уеб сайт ще бъде предмет на правилата, установени от linux (Unix) операционни системи.

В Windows на практика всички файлове са настроени на максимални разрешения, което всъщност води до господството на нашите компютри, както и, от своя страна, не позволява на собствениците на антивирусни компании да умрат от глад. В Linux (Unix) системите ситуацията е различна - всичко е по-сложно, но в същото време и по-безопасно. Ако е настроена правилно и компетентно, можете значително да увеличите сигурността на вашия уебсайт.

Основни понятия за разрешения за файлове и папки

Ако всичко е оставено на случайността и не се занимавате с инсталирането на необходимите привилегии, тогава вероятността да хакнете вашия ресурс или да го заразите със злонамерен код ще бъде много голяма. Добре е, ако сте внедрили всичките си данни, но ако не ?!

Ето защо е по-добре незабавно, без да отлагате за неопределено време, да коригирате и промените Chmod за всички важни обекти на вашия двигател, въз основа на принципа на минимализъм. Тези. дайте на обектите минималните права, необходими за правилната работа на уебсайта.

Нека първо разберем същността на проблема, за да разберем какво точно и как настройваме. Така че нека да започнем. Правата на достъп са разделени по отношение на файлове и директории. Те са обозначени еднакво, но означават малко по-различно.

На свой ред по отношение на файловете е възможно:

  • r - правото на четене на данни.
  • w - за промяна на съдържанието (запис - промяна само на съдържанието, а не изтриване).
  • x - за изпълнение на файла.

Нека се спрем малко повече върху възможността за изпълнение на файла. Факт е, че в Linux всеки файл може да бъде изпълнен. Дали е изпълним, се определя не от неговото разширение (концепцията за разширение отсъства във файловата система Unix), а от правата за достъп на Chmod. Ако някой файл има разрешение за изпълнение „X“, това означава, че може да бъде стартиран за изпълнение.

Във връзка с директориите е възможно:

  1. r - правото за четене на директорията (можете да прочетете съдържанието на директорията, т.е. да получите списък с обекти в нея)
  2. w - за промяна на съдържанието на директорията (можете да създавате и изтривате обекти в нея, освен това, ако имате право да пишете, тогава можете да изтриете дори тези файлове, които не ви принадлежат)
  3. x - да въведете директория (тя винаги се проверява първо и дори ако имате всички необходими привилегии за обект, който е заровен дълбоко във веригата на директориите, но нямате атрибута "X" за достъп до поне една директория по пътя към това файл, тогава няма да пробиете до него)

В Linux системите всичко това се разпространява от главния администратор на компютъра, достъп до който той получава чрез въвеждане на парола. И ако повечето обекти имат права само за четене, тогава вирусите на такъв компютър практически няма да имат какво да правят. те няма да могат да се напишат там, или след това да бъдат изпълнени. Това е точно резултатът, който трябва да постигнем чрез задаване на необходимите Chmods на обектите на нашия сайт.

Привилегии за потребителски групи

Самите привилегии се разделят на три категории в зависимост от това кой има достъп до обекта:

  • "Потребител" - u (директно собственикът на файла)
  • „Група“ - g (член на същата група като собственика)
  • "Свят" - o (всички останали)

Сървърът определя към коя потребителска група принадлежите, когато се свържете със сървъра. Когато например се свържете със сървър чрез FTP, тогава влизате с вашето потребителско име (и парола) и след това сървърът ви присвоява към групата „потребител“ („u)“.

Други потребители, които също се свързват чрез FTP със сървъра, ще бъдат разпределени в групата "група" ("g"), а посетителят, който дойде на вашия уебсайт с помощта на браузъра им, ще бъде назначен към групата "свят" ("o").

Вариации на трите възможни стойности "r", "w" и "x" за трите категории "u", "g" и "o" и дефинирайте chmod към файлове... Ако категория не е посочена, тя се заменя с тире "-". Привилегиите са изброени последователно в даден ред:

  1. първо правата за собственика са "u"
  2. след това за групата - "g"
  3. и накрая - за всички останали - „о“

След като сървърът присвои посетителя на определена група, той му предоставя правата да действа с обекти, след което посетителят може да чете, записва или изпълнява файла (в зависимост от това, което групата му има право да прави с този обект).

За да видите съдържанието на директория, тя трябва да има атрибут за четене "r" (за групата, към която сървърът е назначил посетителя). За да създадете файл или папка в съществуващ, е необходимо тази съществуваща директория да има атрибут на записа "w".

За по-голяма яснота нека разгледаме пример, при който собственикът на файла („потребител“ - „u“) има всички права: да чете, пише в него и изпълнява, а всички останали потребители имат само привилегията да четат. Записът на такъв Chmod ще изглежда така: "rwx r-- r--".

Нека го разгледаме подробно: "rwx" (този запис задава правата върху обекта за собственика - "u"), "r--" (този запис задава правата върху същия обект, но ако посетителят е назначен от групата от сървъра - " g ")," r-- "(този запис определя привилегиите на обекта за всички останали потребители -" o ").

Каква е разликата между правата за файлове и папки

Оказва се, че има три групи потребители и три възможни действия с обекти. Объркани ли сте вече? Нека поставим всичко по-горе на рафтовете под формата на чинии. Първо, нека видим как се различават:

А също и табела, показваща различни комбинации от Chmod за различни видове обекти:

Нищо не може да се направи

Достъпът до директорията и нейните поддиректории е отказан

Можете да видите и промените съдържанието

Можете да добавяте, изтривате, променяте каталожния файл

Изпълнете, ако файлът е двоичен

Потребителят може да изпълни двоичен файл, за съществуването на който знае, въвеждането или четенето на директорията е забранено

Chmod, изразени в числа (777, 400, 666, 755, 444)

Виждате, че тук записи с латински букви и тирета се използват за описание на правата за достъп, но вероятно вече сте се сблъскали с факта, че обикновено Chmod се дава цифровонапример добре познатата комбинация: 777, позволяваща всичко и всички.

Всъщност привилегиите също се означават с числа:

  1. r (прочетено) се заменя с 4
  2. w (запис) се заменя с 2
  3. x (версия) се заменя с 1
  4. 0 означава - не правете нищо (това, което е означено с тире в буквалната нотация)

Да се \u200b\u200bвърнем към примера, който дадох по-рано: rwx r-- r--. Ако заменим буквите и тиретата с цифри в него, в съответствие с току-що описаното правило и в същото време добавим числата във всяка тройка, ще получим цифровата форма на този запис: 744.

Тези. оказва се, че сумата от тези числа показва Chmod във връзка с файлове или папка. Например:

  • 7 (rwx) \u003d 4 + 2 +1 (пълни права)
  • 5 (r-x) \u003d 4 + 0 + 1 (четене и изпълнение)
  • 6 (rw-) \u003d 4 + 2 + 0 (четене и запис)
  • 4 (r--) \u003d 4 + 0 + 0 (само за четене)
  • и т.н.

Тази таблица изброява всички възможни комбинации от привилегии, записани в цифров вид:

Сега нека разгледаме различни комбинации от числови нотации по отношение на потребителските групи:

"Собственик"

"Група"

"Почивка"

изпълни

изпълни

изпълни

Вие сами (с изключение на случая, когато получавате достъп до сайта чрез FTP) и всички останали посетители на вашия ресурс, принадлежите към групата „word“ (всички останали), така че за да работим с уебсайта, първо трябва да разгледаме последната (третата) цифра този запис.

За да може файлът на скрипта да се "стартира", когато потребителят работи със сайта, ще бъде достатъчно, че правата са зададени върху него, започвайки от "4" (r-- - само за четене) (5,6,7 също ще работи, но ще ненужни по отношение на сигурността).

За директорията, в която се намира файлът на този скрипт, трябва да зададете поне "5" (r-x - можете да влезете в директорията и да прочетете съдържанието й, не можете да изтривате или добавяте). 7 също е добре, но също така ще бъде излишно от гледна точка на сигурността.

Ако искате скриптът не само да чете, но и да „записва“ някои данни (например, въведени от посетител), тогава минималните права върху „папката“ пак ще бъдат „5“, но за „файла“ ще ви е необходим „6“ (Чети и пиши).

Най-вероятно на сървъра, на който сте копирали съдържанието на двигателя на вашия сайт, към обектите ще бъдат инсталирани следните Chmods:

Ако имате ресурс, състоящ се само от html страници, можете да го оставите по този начин. Но съвременните сайтове са изградени върху двигатели и може да има обекти, в които трябва да пишете от името на посетителите от групата „свят“ - o (всички останали). Това могат да бъдат директории, използвани за кеширане на страници, или такива, в които ще се зареждат изображения и т.н., докато работите със сайта.

От само себе си се разбира, че ако отидете на сайта чрез FTP, ще можете да пишете в тези файлове или директории, но работейки с уеб интерфейса като обикновен потребител, може да имате проблеми. Следователно, към инсталирането на определени права трябва да се подходи избирателно:

за всички директории, в които трябва да се записват файлове, но не ги изтривайте редовно

за папки, в които файловете трябва да бъдат записани и изтрити (например за кеш)

за прости файлове само за четене (.html, .php и др.)

за файлове, в които може да се наложи да пишете (например с databases.dat)

Как да присвоите Chmod чрез PHP

Как всичко това може да бъде приложено на практика за вашия сайт? По принцип всичко е просто. За да зададете права за достъп, можете:

Но ако не можете да промените Chmod за някои файлове, можете да опитате да ги присвоите на PHP средства. Можете да използвате следния код:

Ще трябва да замените file_name_x.php и directory_name_x с действителните имена на файловете и папките, на които искате да промените Chmod. Съответно 666 ще бъдат инсталирани за файлове и 777. За директории. Поставете този PHP код във файла с помощта на произволна текстова подложка (препоръчвам) и му дайте разширението .php, например, като prava.php.

копирайте prava.php чрез FTP в директорията, в която е невъзможно да се присвоят права за достъп по редовен начин. В адресната лента на вашия браузър напишете пътя до prava..php) и натиснете "Старт" или въведете на клавиатурата. Това е всичко, сега привилегиите ще бъдат напълно променени посредством PHP.

За Joomla, веднага след инсталирането му, можете да зададете 777 на следните директории:

Администратор / архиви / администратор / кеш / администратор / компоненти / администратор / модули / администратор / шаблони / кеш / компоненти / изображения / изображения / банери / изображения / истории / език / език / en-GB / language / ru-RU / media / module / plugins / plugins / content / plugins / search / plugins / system / templates /

След като инсталирате всички разширения за Joomla и направите окончателните настройки, трябва да се следва Chmod към повечето от горните директории, за да се увеличи сигурността на сайта върнете се на 755... Ще трябва да оставите 777 за директории с кеш, архиви и снимки.

За двигателни файлове, намиращи се в корена на сайта, с изключение на sitemap.xml, по-добре е да зададете 444 (само за четене за всички групи посетители). На seting.php понякога се препоръчва дори да зададете 400.

Мога да дам абсолютно същия съвет относно задаването на права за достъп до обекти в SMF и WordPress двигатели. Препоръчително е, ако е възможно, да напуснете за постоянно за директории 755 (с изключение на гореспоменатите каталози за кеш, снимки, резервни копия и може би някои други, ако е необходимо), и за файлове - 644.

По-добре е да поставите 444 върху файловете в корена на сайта.

Ако при работа със сайта има проблем с невъзможността за записване на настройки в някакъв файл или невъзможността за създаване на някаква директория, тогава можете временно да поставите големи права върху тях (777 например) и след това да върнете всичко обратно (без да навредите). И в никакъв случай не си струва да напускате (за по-лесно използване на сайта) необосновано висок Chmod.

Късмет! Ще се видим скоро на страниците на сайта на блога

Може да се интересувате

ASCII текстово кодиране (Windows 1251, CP866, KOI8-R) и Unicode (UTF 8, 16, 32) - как да решим проблема с krakozyabras
OpenServer е модерен локален сървър и пример за използването му за инсталиране на WordPress на компютър
Какво представляват URL адресите, каква е разликата между абсолютни и относителни връзки за даден сайт
Търсене на Yandex в сайта и онлайн магазина
Карта на сайта на сайта в xml формат за Yandex и Google - как да създадете карта на сайта в Joomla и WordPress или в онлайн генератор



Свързани статии: