Сигурност

Обяснени разрешения за Linux

Обяснени разрешения за Linux

Операционната система (OS) Linux е разработена да бъде многозадачна и многопотребителска. Многозадачната операционна система ни позволява да стартираме различни програми едновременно, многопотребителската ОС позволява на различни потребители да я използват едновременно. Което означава, че Linux е многозадачна операционна система, защото може да изпълнява програми едновременно, докато е многопотребителска, защото можете да се свържете с устройство и да го използвате чрез ssh, докато друг потребител го използва.Ако не греша, най-новите версии на Windows, поне версиите на сървъра, позволяват на различни потребители да използват компютъра през отдалечен работен плот, те също поддържат ssh чрез OpenSSH.  Но за разлика от Linux, Windows първоначално е разработен като лична операционна система и в продължение на много години Linux и Unix базирани системи монополизират многозадачни и многопотребителски функции, което означава повишена сигурност и стабилност за система, разработена за споделяне между потребители без разрешения за прекъсване системата чрез стартиране на опасен код или премахване на жизненоважен файл.Като многопотребителска операционна система Linux е включила много усъвършенстван начин за управление на разрешенията за потребители, потребителски групи, файлове, директории и дори дялове или дискове.

Разбиране на синтаксиса на разрешенията под Linux

В Linux имаме 3 вида разрешения:

Разрешение за четене: Разрешение за четене на файл, например, можем да прочетем кода на скрипт, но не можем да го изпълним.

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

Разрешение за изпълнение: С това разрешение можем да стартираме скрипта или да изпълняваме програми.

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

Потребителя: Собственикът на файла или директорията.

Групата: Потребители или програми, принадлежащи към групата на файла.

Всеки:  Някой друг.

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

Синтаксисът на разрешенията на Linux е почти следното:

rwxrwxrwx
rwxrwxrwx

В този случай, в който потребителят, групата и всеки друг има пълни права, ние имаме 9 знака, R, W И X повторени 3 пъти. Първите 3 знака определят правата / разрешенията на потребителя, 3-те знака определят правата / разрешенията на групата, докато последните 3 знака определят правата / разрешенията на някой друг. В този случай потребителят, групата и всеки друг имат разрешения за четене, писане и изпълнение.

Така че синтаксисът, обяснен по-горе, наистина ще изглежда така: Но разрешенията винаги се предшестват от „-“ в случай на файлове, за „d“ в случай на директории (ние няма да навлизаме по-дълбоко с тях, но също така и B за блок устройства, C за символно устройство, S за Unix сокет и P за Named Pipe).

-rwxrwxrwx
или
drwxrwxrwx

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

Както беше казано по-горе, файл с пълни права за всички ще бъде -rwxrwxrwx, файл с пълни права за потребителя и групата, но не и за никой друг би бил -rwxrwx-, с 3 реда, заместващи буквите за всеки друг.

A директория с пълни права за потребителя, права за четене биха били само за групата и всеки друг drwxr-r-.

Тези символи имат числови еквиваленти, които можем да използваме с командите chmod:

rwx= 7 (пълни разрешения)
rw- = 6 (само разрешения за четене и запис, без разрешение за изпълнение)

r-x  = 5 (само разрешения за четене и изпълнение, без разрешение за писане)

r-  = 4 (само разрешение за четене, без разрешения за писане и изпълнение)

-wx= 3 (само разрешения за запис и изпълнение, без разрешение за четене)

-w- = 2 (само разрешение за писане, без разрешения за четене или изпълнение)

= 1 (изпълнение само на разрешение, без четене и изпълнение)

- = 0 (без разрешения)

Първи стъпки с chmod

Командата в Linux за определяне на разрешения за файл е chmod, преди да започнете с chmod, създайте празен файл с nano:

nano fileforchmod

След като влезете в новия файл, напишете „tutorial for chmod“ и натиснете CTRL + X и Y за да запазите и излезете.

След като запазим файла, нека видим дали има разрешения, за да видим типа разрешения на файл или директория:

ls -l

В такъв случай:

ls -l fileforchmod

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

Ако изпълним командата по-малко, ще можем да видим нашия документ:

Сега позволява да излезете от всички разрешения за този файл, като дадете разрешение 0 (-), за да се изпълни:

chmod a-rw файл forchmod

Където:

chmod = извиква програмата за промяна на разрешенията

а = означава „Всички“

-= означава минус, премахваме права, а не добавяме.

rw = права за четене и писане

fileforchmod = име на файл.

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

Например:

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

а = всички

u = потребител

ж = група

o = други / някой друг

За да определим дали искаме да добавим или премахнем разрешение, което използваме:

- = премахване на разрешение.
+= добавете разрешение.

Видове разрешения: rwx

filename = име на файла, който искате да промените.

Сега да видим дали е работило, като се стартира отново “ls -l fileforchmod

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

Предоставяне на права за четене на потребителя:

chmod u + r fileforchmod

Предоставяне на права за писане на групата:

Предоставяне на други права за изпълнение:

chmod o + x fileforchmod

Както виждаме дали бягамеls -l fileforchmod ” сега имаме правата, които добавихме.

Важно е да напомним, че трябва само да дефинираме обекта на нашето правило: потребителя, групата или други, отколкото ако добавяме или намаляваме разрешения (+ или -) и разрешението, което искаме да добавим или премахнем (rwx).

Ако искаме да добавим или премахнем разрешения за всички, използваме вместо ugo (можем да използваме и ugo), сега, ако искате да добавите разрешение за изпълнение както за потребителя, така и за групата, можете да въведете:

chmod ug + x fileforchmod

След това проверете с ls -l fileforchmod ако правата за изпълнение са добавени правилно:

За да променим рекурсивно разрешението на директория, ще използваме параметъра -R.

Преди всичко създайте директория, наречена directoryforchmod, като използвате командата:

mkdir directoryforchmod

Влезте в директорията с помощта на командата cd:

cd directoryforchmod

Върнете се с помощта на командата:

cd ..

За да проверим правата на директорията, трябва да добавим параметър към ls. Тип:

ls -ld директорияforchmod


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

chmod u-r директория forchmod

Както виждаме след хвърляне на нов ls -ld разрешенията за четене бяха променени за потребителя.

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

chmod u + r, g-r, o-r директория forchmod

Както виждаме след друг ls -ld правата за четене бяха възстановени за потребителя и премахнати за групата и други.

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

Урок за OpenTTD
OpenTTD е една от най-популярните бизнес симулационни игри там. В тази игра трябва да създадете прекрасен транспортен бизнес. Въпреки това, ще започне...
SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...
Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...