Обяснени са командата Chmod и разрешенията за файлове на Linux

Обяснени са командата Chmod и разрешенията за файлове на Linux

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





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





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





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

Операционните системи Linux всъщност са системи, подобни на Unix ( разбиране на Linux срещу Unix ) и Unix-подобни системи се доближават до разрешенията за файлове по следния начин:

Всеки файл има собственик , който определя „потребителския клас“ на файла. Всеки файл също има група , който определя „групов клас“ на файла. Всеки потребител на системата, който не е собственик и не принадлежи към същата група, се определя като такъв други .



Всички файлове в 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-подобни системи, chmod е команда на ниво система, която означава „режим на промяна“ и ви позволява ръчно да променяте настройките за разрешения на файл.

разберете какво е изтрито видео в youtube

Да не се бърка с чаун , която е друга команда на системно ниво в Unix-подобни системи, която означава „промяна на собственика“ и ви позволява да присвоите собствеността върху файл на друг потребител, или chgrp , което означава „промяна на групата“ и присвоява файл на друга група. Те са важни за познаване, но не толкова често използвани като chmod.

Какво означава Chmod 644?

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

как да поправя син екран на windows 10

Какво означава Chmod 755?

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

Какво означава Chmod 555?

Задаването на разрешения на файл на 555 прави така, че файлът изобщо не може да се променя от никого, освен от суперпотребителя на системата (научете повече за суперпотребителя на Linux). Това не се използва толкова често, колкото 644, но все пак е важно да се знае, защото настройката само за четене предотвратява случайни промени и/или подправяне.

Какво означава Chmod 777?

Задаването на разрешения на файл на 777 го прави така, че всеки може да прави каквото си иска с файла. Това е огромен риск за сигурността, особено на уеб сървърите! Буквално всеки може да получи достъп до файла, да го модифицира както иска и да го изпълни в системата. Можете да си представите потенциалните щети, ако измамникът ги хване.

Как да използвате Chmod в Linux

Командата chmod има прост формат:

chmod [permissions] [file]

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

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 example_directory

Въпреки че командата chmod изглежда малко луда на пръв поглед, всъщност е доста проста и напълно логична. Ако разбирате горното, по принцип сте усвоили chmod!

Научете повече за овладяването на Linux

Команди като chmod, chown и chgrp са само върхът на айсберга на Linux. Ако сте съвсем нов в операционната система, препоръчваме ви да проверите тези чисти трикове за начинаещи в Linux, както и тези команди на Linux, които никога не трябва да изпълнявате.

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

Дял Дял Туит електронна поща 5 съвета за зареждане на вашите VirtualBox Linux машини

Уморени ли сте от лошото представяне на виртуалните машини? Ето какво трябва да направите, за да увеличите производителността на VirtualBox.

Прочетете Напред
Свързани теми
  • Linux
  • Команди на Linux
За автора Джоел Ли(1524 публикувани статии)

Джоел Лий е главен редактор на MakeUseOf от 2018 г. Той има бакалавърска степен по компютърни науки и над девет години професионален опит в писането и редактирането.

Още от Джоел Лий

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате
Категория Linux