реклама
Значи намери аромат на Linux, който харесваш, но сега сте объркани, защото не сте имали най-слабата представа за терминални команди и разрешения за файлове на Linux?
Или може би имате уебсайт, който се хоства на Linux сървър и се сблъсквате с някои проблеми с разрешение на файлове, които могат да бъдат решени само с някаква магия на командния ред.
Независимо, един от най-съществените Linux команди, за да се научите A-Z на Linux - 40 основни команди, които трябва да знаетеLinux е често игнорираното трето колело за Windows и Mac. Да, през последното десетилетие операционната система с отворен код придоби много сцепление, но това все още е далеч от обмислянето ... Прочетете още е малка, но мощна команда, наречена коригират. Но преди да обясним какво прави командата, първо трябва да разберем малко за това как Linux борави със защитата на файловете.
Основите на Linux Разрешения за файлове
Операционните системи на Linux всъщност са подобни на Unix системи (разбиране на Linux vs. Unix) и Unix-подобни системи подхождат към разрешенията на файлове като така:
Всеки файл има собственик, което определя „потребителския клас на файла“. Всеки файл също има a група, което определя файла на групата. Всеки потребител на системата, който не е собственик и не принадлежи към една и съща група, е определен да бъде други.
Всички файлове в Unix-подобни системи имат разрешения, присвоени и на трите класа, и те определят кои действия могат да бъдат предприети от посочените класове за дадения файл.
Трите действия, налични в система, подобна на Unix са: Прочети (възможност за отваряне и преглед на съдържанието на файла), пиши (възможност за отваряне и промяна на съдържанието на файл) и изпълни (възможност за стартиране на файла като изпълнима програма).
С други думи, разрешенията на файл определят дали:
- Собственикът може да чете, пише и изпълнява файла.
- Групата може да чете, пише и изпълнява файла.
- Всеки друг може да чете, пише и изпълнява файла.
Разрешенията за Linux файлове могат да се показват в два формата.
Първият формат се нарича символична нотация, което е низ от 10 знака: един символ, който представлява типа на файла, а след това девет знака които представят разрешенията за четене (r), запис (w) на файла и изпълнение (x) в реда на собственика, групата и др. Ако не е позволено, се използва символът за тире (-).
Например:
-rwxr-xr--
Това означава, че това е обикновен файл с разрешения за четене, запис и изпълнение на собственика; чете и изпълнява разрешения за групата; и четете само разрешения за всички останали.
Извиква се вторият формат цифрова нотация, което е низ от три цифри, всеки от които представлява съответно потребителски, групови и други разрешения. Всяка цифра може да варира от 0 до 7 и стойността на всяка цифра се получава чрез сумиране на разрешенията на класа:
- 0 означава, че не са разрешени разрешения.
- +1, ако класът може да изпълни файла.
- +2, ако класът може да запише във файла.
- +4, ако класът може да чете файла.
С други думи, значението на всяка цифрена стойност в крайна сметка е:
- 0: Без разрешение
- 1: Изпълнение
- 2: Пишете
- 3: Напишете и изпълнете
- 4: Прочетете
- 5: Прочетете и изпълнете
- 6: Четете и пишете
- 7: Прочетете, напишете и изпълнете
Така че горният пример (-rwxr-xr--
) ще бъде 754 в цифрова нотация.
Това е с две думи разрешенията за Linux.
Какво е Chmod?
В системи, подобни на Unix, коригират е команда на системно ниво, която означава „режим на промяна“ и ви позволява ръчно да променяте настройките на разрешенията на файл.
Да не се бърка с chown, което е друга команда на системно ниво в подобни на Unix системи, която означава „промяна на собственика“ и ви позволява да присвоите собственост върху файл на друг потребител, или chgrp, което означава „група за промяна“ и присвоява файл на друга група. Това е важно да се знае, но не толкова често се използва като chmod.
Какво означава Chmod 644?
Задаването на разрешенията на файл на 644 го прави така, че само собственикът да има достъп и да променя файла, независимо от това Искате, докато всички останали могат да имат достъп само без модификации и никой не може да изпълни файла - дори и този собственик. Това е идеалната настройка за файлове, които са обществено достъпни, защото балансира гъвкавостта и сигурността.
Какво означава Chmod 755?
Задаването на разрешения на файл на 755 е основно същото като 644, освен че всички също имат разрешения за изпълнение. Това се използва главно за обществено достъпни директории, тъй като разрешението за изпълнение е необходимо, за да се промени в директория.
Какво означава Chmod 555?
Задаването на разрешенията на файл на 555 го прави така, че файлът да не може да бъде променян от никого, с изключение на суперпотребителя на системата (научете повече за суперпотребителя на Linux Какво е SU & Защо е важно да използвате Linux ефективно?Linux SU или root акаунтът на потребителя е мощен инструмент, който може да бъде полезен, когато се използва правилно или опустошително, ако се използва безразсъдно. Нека да разгледаме защо трябва да носите отговорност, когато използвате SU. Прочетете още ). Това не е толкова често използвано като 644, но все още е важно да се знае, защото настройката само за четене предотвратява случайни промени и / или подправяне.
Какво означава Chmod 777?
Задаването на разрешенията на файл на 777 го прави така, че всеки да може да прави всичко, което иска с файла. Това е огромен риск за сигурността, особено на уеб сървърите! Буквално всеки може да получи достъп до файла, да го променя, както иска, и да го изпълни в системата. Можете да си представите потенциалните щети, ако измамен потребител получи ръце.
Как да използвате Chmod на Linux
Командата chmod има прост формат:
chmod [разрешения] [файл]
Разрешенията могат да бъдат дадени в цифрова нотация, което е най-добрият формат, който се използва, когато искате да зададете конкретни разрешения за всички класове:
chmod 644 example.txt
Разрешенията могат да бъдат дадени и в символна нотация, което е полезно, когато искате само да промените разрешенията на определен клас. Например:
chmod u = rwx example.txt. chmod g = rw example.txt. chmod o = rw example.txt
Можете да промените разрешения за няколко класа, като този пример, който задава на собственика да чете / пише / изпълнява, но групата и други да чете / изпълнява:
chmod u = rwx, g = rw, o = rw example.txt
Когато присвоявате едни и същи разрешения на няколко класа, можете да ги комбинирате:
chmod u = rwx, go = rw example.txt
Но красотата на използването на символична нотация свети, когато искате само да добавите или премахнете разрешението за конкретно действие за определен клас.
Например това добавя разрешението за изпълнение на собственика на файла:
chmod u + x example.txt
И този Премахва разрешенията за запис и изпълнение за други потребители:
chmod o-wx example.txt
И накрая, ако искате да приложите определен набор от разрешения за всички файлове и папки в определена директория (т.е. рекурсивен chmod), използвайте опцията -R и насочете към директория:
chmod -R 755 пример_директория
Въпреки че командата chmod на пръв поглед изглежда малко луда, всъщност е доста проста и напълно логична. Ако разбирате горното, основно сте усвоили chmod!
Научете повече за овладяването на Linux
Команди като chmod, chown и chgrp са само върхът на айсберга на Linux. Ако сте чисто нов в операционната система, препоръчваме да ги проверите спретнати трикове за новаците в Linux както и тези Linux команди, които никога не трябва да изпълнявате.
Но най-важното е, че ще се справите най-добре, като проверите нашите изчерпателно ръководство за начинаещи за Ubuntu и Linux Ubuntu: Ръководство за начинаещиЛюбопитно за Ubuntu, но не сте сигурни откъде да започнете? Всичко, което е възможно да се наложи да започнете с най-новата версия на Ubuntu, е точно тук, написано на лесен за разбиране, обикновен английски. Прочетете още , което ще ви научи на всичко, което трябва да знаете, за да започнете и да се запознаете достатъчно, за да се чувствате комфортно.
Джоел Лий има B.S. в областта на компютърните науки и над шест години професионален опит в писането. Той е главен редактор на MakeUseOf.