chmod команда - Примери за използване. Команда chmod - Примери за използване Команда за разрешение за папка в Linux 777

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

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

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

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

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

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

Разрешение 777: числова стойност

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

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

Как да задам разрешения на 777?

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

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

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

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

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

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

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

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

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

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

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

Имам уеб директория /www и папка в тази директория, наречена store.

В магазина има няколко файла и папки. Искам да дам на папките на магазина и на всички файлове и папки в папката на магазина всички разрешения.

Как мога да го направя? Предполагам през .htaccess.

Ако под всички резолюции имате предвид 777

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

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

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

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

за mac трябва да е „superuser“;

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

Sudo -s парола:

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

Можете да дадете разрешение за папка и цялото й съдържание, като използвате опцията -R, т.е. рекурсивни разрешения.

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

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

sudo chmod -R 755 /www/store

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

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

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

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

Повече информация

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

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

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

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

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

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

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

$ chmod g=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 $(намерете /path/to/base/dir -type 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 $(намерете /path/to/base/dir -type f)

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

$ find /path/to/base/dir -type f -print0 | xargs -0 chmod 644

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

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

Правата за достъп (Chmod) до файлове се разделят на:

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

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

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

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

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

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

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

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

IN 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 означава - не правете нищо (това, което се обозначава с тире в азбучен запис) Нека се върнем към примера за писане на права за достъп, който дадох малко по-рано: rwx r-- r--. Ако заменим букви и тирета с числа в него, в съответствие с току-що описаното правило, и в същото време съберем числата във всяка тройка, получаваме цифров изгледна този запис: 744. Т.е Оказва се, че сумата от тези числа показва Chmod към файловете или папката. Например:

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

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

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

    4 (r--) =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 трябва да се подхожда избирателно.

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

$ файл chmod 777(rwxrwxrwx)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

$ файл chmod 505(р-х---р-х)

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

$ chmod 755 *

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

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

$ chmod -R 777 *

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

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

Радвам се да ви видя отново или за първи път, абонати и гости на блога уебсайт! Докато изучавате разработката на уебсайтове, определено ще попаднете важен въпрос: как да задам права за достъп до 777 на документ? Защо да направите това и как, ще говорим с вас днес.

Значение на числата и степените

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

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

Цифрите на кода, указващ правата, отговарят за следното:

  • 7 – пълни правомощия;
  • 6 – четене и писане;
  • 5 - четене и изпълнение;
  • 4 – само за четене;
  • 2 – само запис;
  • 1 – само изпълнение;
  • 0 – не правете нищо.

Първата цифра на кода характеризира достъпа до документа за собственика на ресурса, втората за групата и третата за останалите потребители.

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

Ръчно задаване на разрешения

Промяната на разрешенията за файлове отнема буквално няколко секунди. Трябва да отидете в хостинг панела и да намерите обекта за промяна на правата.

Натиснете " Атрибути» или подобна икона и правете редакции.

Запазете промените си. Това е всичко!

Корекции чрез FileZilla

Ако използвате тази програма за преместване на файлове от локален сървърза хостинг или за запазване, можете да промените правата с негова помощ или благодарение на програмата Total Commander. Методът и за двете помощни програми е един и същ.

За да направите това, ще трябва да инсталирате, да намерите желания материал и да щракнете с десния бутон върху него компютърна мишка.

Най-долният ред в падащите функции ще ви бъде полезен. Изберете тази фраза, като щракнете върху нея.

Посочете органа в числата, които искате да въведете, и щракнете върху " Добре ».

Това е всичко, предлагат ви се два бързи и ефективни начина. Единият от тях се изпълнява стандартно, а вторият решава проблема чрез програмата filezillaили тотален командир . Кой метод предпочитате?

Споделете своя опит и успехи в блоговете в коментарите, абонирайте се за моя сайт!

Ще се видим отново!

P/S

С най-добри пожелания, Александър Сергиенко