CHMOD на пръстите

Всъщност, темата отдавна се смуче от всички страни и всички nelenivy хора да намират лесно с цялата необходима информация, но ... HZ защо това въпросите за правата ", но" е, но за достъп възникват със завидна регулярност. Така че аз ще се опитам за хиляден път да изобретяваме колелото и да представи основите на правата на достъп до файлове в NIX системи *, както и някои не-очевидни финес, когато се занимават с тях.

Част първа. Какви са различните права за достъп.

Има три основни вида разрешения за достъп: чете (R), записващи (w) и изпълнение (х). Първите две, според мен, няма въпроси предизвикват. Но последният за хората, които са свикнали да Windows ще бъде изненада. Фактът, че Никс и прозорци се използват различни подходи, за да се разграничат изпълними (програми) или изпълними файлове (файлове с данни). В Windows, той е отговорен за файловите разширения (EXE, COM, прилеп, както и някои други, се възприемат като изпълними, а всички останали - не са налични) и NIX - правото да изпълни файла. Това означава, че за един и същи потребител един и същи файл може да бъде извършена, както и за друго - не. Това може да бъде много полезно, ако администраторът трябва да се забрани на обикновените потребители да използват дадена програма, но в същото време, за да може да го използва.

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

Втора част. Какво искаш да кажеш 0755 или пишете правила на правата за достъп.

Има две основни форми на запис файла разрешения - числени и символни. Най-разпространената форма числен като най-кратък. Символ използва, когато видимостта е по-важно.

1) цифров формат.
2) означението на символ.

В този случай, правата на достъп са представени като 9 символите R, W, X, или тире. Те отиват в следния ред: rwxrwxrwx. Първите три са отговорни за разрешения на собственика, както следва - и последната група - всички останали. За да се покаже, че някои от тях не разполагат с достъп до тази или онази възможност, тя се заменя с тире характер. По този начин записа 0755 г., който забранява промяна на файла, за да всички, с изключение на собственика, в символично представяне ще изглежда така: rwxr-XR-х.

Трета част. Специални случаи.

1) за разрешения на папките.
2) Кой може да променя правата за достъп?

Правата на всеки отделен файл може да има две: на собственика и суперпотребител (корен). В този случай, корен по подразбиране има пълен достъп до всички файлове. Често срещани, когато уеб хостинг сървър работи от името на един и същи потребител и уебмастър - от друга. В резултат на това на уебмастера често лишени от възможността да редактирате файлове, създадени от уеб сървъра, и не може да промените разрешенията, така че възможността да получат, защото файлът е собственост на своя създател. Изходи от тази ситуация, може да има две: първо - да се свържат с техническата подкрепа на домакин на втория - да напише кратък скрипт на PHP, което ще се промени правата за достъп до по-широк и да го стартирате от името на уеб сървъра. Ето един пример за такъв сценарий:

3) Моля, обърнете внимание, вратичка!
4) най-полезните правата за достъп.

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

  • 0777 - rwxrwxrwx - Пълен достъп до всички. То се използва за папката, която трябва да бъде в състояние да се запишат всички желаещи. Често такъв достъп е обвързан за папката, в която софтуер двигател зарежда файловете, публикувани от потребителите.
  • 0755 - rwxr-XR-х - Правото на четене и изпълнение на разрешения за всички, правото да пише на собственика. Обикновено поставя на изпълними файлове и програмни системи или CGI скриптове.
  • 0644 - RW-R-г- - Право да прочетете за всички, пишат разрешение за собственика. Обикновено постави на повечето файлове с данни или neprivatnymi PHP скриптове, които се изпълняват с помощта на mod_php.
  • 0600 - RW --- - Право да чете и пише за собственика, нищо за всички останали. Обикновено това се поставя върху файла с лични данни.
  • 0750 - rwx-р-х- - Право да чете, пише и изпълнява за собственика, правото на четене и изпълнение на групата, както и липса на достъп за другите. Често пуснати на дома папка на потребителя, заедно с 0700.
  • 0700 - rwx-- - Пълен достъп за собственика, нищо за другите. Както 0750-често се поставя върху потребителското домашни папки и папки с лични данни, но е по-трудно е да се направи това.