Как Лицензът на файловете на Linux работи?

Съдържание:

Как Лицензът на файловете на Linux работи?
Как Лицензът на файловете на Linux работи?

Видео: Как Лицензът на файловете на Linux работи?

Видео: Как Лицензът на файловете на Linux работи?
Видео: Virtualization Explained - YouTube 2024, Може
Anonim
Ако сте използвали Linux за известно време (и дори OS X), вероятно ще срещнете грешка "разрешения". Но какво точно са те и защо са необходими или полезни? Нека да вземем вътрешен поглед.
Ако сте използвали Linux за известно време (и дори OS X), вероятно ще срещнете грешка "разрешения". Но какво точно са те и защо са необходими или полезни? Нека да вземем вътрешен поглед.

Потребителски разрешения

През деня компютрите бяха масивни машини, които бяха невероятно скъпи. За да се възползват максимално от тях, бяха свързани няколко терминала за компютри, които позволиха на много потребители да работят едновременно. Обработката и съхраняването на данни са извършени на машината, докато самите терминали са малко повече от средство за преглеждане и въвеждане на данни. Ако мислите за това, всъщност това е начинът, по който имаме достъп до данните за "облака"; погледнете в системата на Amazon Cloud MP3, Gmail и Dropbox и ще забележите, че докато промените могат да бъдат направени локално, всичко се съхранява дистанционно.

(Изображение: Zenith Z-19 "глупав" терминал; кредит: ajmexico)
(Изображение: Zenith Z-19 "глупав" терминал; кредит: ajmexico)

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

Достъп до файловете

В този чакащ свят за много потребители вече сме настроили граници за това, какво могат да направят потребителите. Но какво да кажем за достъп до тях? Е, всеки файл има набор от разрешения и собственик. Определянето на собственика, обикновено обвързано при създаването на файла, декларира кой потребител принадлежи на него и само този потребител може да променя своите разрешения за достъп.
В този чакащ свят за много потребители вече сме настроили граници за това, какво могат да направят потребителите. Но какво да кажем за достъп до тях? Е, всеки файл има набор от разрешения и собственик. Определянето на собственика, обикновено обвързано при създаването на файла, декларира кой потребител принадлежи на него и само този потребител може да променя своите разрешения за достъп.

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

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

Промяна на разрешенията в Ubuntu

GUI

За да промените разрешенията на файл, който притежавате в Ubuntu, трябва само да кликнете с десния бутон на мишката върху файла и да отидете на "Properties".

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

Командна линия

Можете също да направите това чрез командния ред. Отидете в директория с файлове в нея и въведете следната команда, за да видите всички файлове в списък:

ls -al

До всеки файл и директория ще видите специална секция, която очертава разрешенията, които има. Това изглежда така:
До всеки файл и директория ще видите специална секция, която очертава разрешенията, които има. Това изглежда така:

-rwxrw-r–

Най- R означава "прочетете" w означава "пишете" и х означава "изпълни". Директорите ще започнат с "d" вместо с "-". Ще забележите също, че има 10 интервала, които държат стойност. Можете да пренебрегнете първото, а след това има 3 набора от 3. Първият комплект е за собственика, вторият комплект е за групата, а последният комплект е за света.

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

chmod [class][operator][permission] file

chmod [ugoa][+ or –] [rwx] file

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

  • u: Това е за собственика.
  • g: Това е за групата.
  • o: Това е за всички останали.
  • a: Това ще промени разрешенията за всички по-горе.

След това операторите:

  • +: Знакът "плюс" ще добави разрешенията, които следват.
  • -: Знакът минус ще премахне разрешенията, които следват.

Все още ли с мен? А последният раздел е същият като когато проверихме разрешенията на файл:

  • r: Позволява достъп за четене.
  • w: Позволява достъп за запис.
  • x: Позволява изпълнение.

Сега, да ги съберем заедно. Да приемем, че имаме файл, наречен "todo.txt", който има следните разрешения:

-rw-rw-r–

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

-rwxr-–

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

chmod u+x todo.txt

След това ще премахнем разрешението за писане за групата.

chmod g-w todo.txt

И накрая, ще премахнем разрешенията за четене за всички останали потребители.

chmod o-r todo.txt

Също така можем да ги комбинираме в една команда:

chmod u+x,g-w,o-r todo.txt

Можете да видите, че всеки раздел е разделен със запетаи и няма интервали.
Можете да видите, че всеки раздел е разделен със запетаи и няма интервали.

Ето някои полезни разрешения:

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

Има няколко други неща, които можете да правите с chmod - като setuid и setgid - но те са малко по-задълбочени и повечето потребители няма да имат нужда да ги използват така или иначе.

В корен или супер-потребител и системни файлове

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

Е, Unix и неговите производни - Linux, OS X, между другото - също така разграничават неща, управлявани от потребителя, неща, които се управляват от администратор или с администраторски права, и неща, управлявани от самата система. Като такива, нещата, които са неразделна част от системата, изискват администраторски права да бъдат променени или достъпни. По този начин не правите нищо случайно.

В Ubuntu, за да правите промени в системните файлове, използвайте "sudo" или "gksudo", за да получите еквивалента на администраторските права. В други дистрибуции превключвате към "корен" или "супер-потребител", което ефективно прави същото, докато не излезете.

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

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

Мислите, че можете да обясните нещата по-лесно? Имате ли корекция? Искате ли да напомните за старите дни? Направете почивка и поставете мислите си в коментарите.

Препоръчано: