Права доступа в Linux
Начинающим пользователям Linux сложно разобраться со всеми премудростями этой системы. Куча новых терминов и понятий отпугивает новичков от пользования Линукс. А ведь тот кто сумеет научится в ней работать получит полный контроль над своим компьютером. В этой статье хочется помочь начинающим линуксоидам одолеть некоторые проблемы линукса, в частности объясняется, что такое CHMOD или права доступа. На первый взгляд может показаться, что это совсем бесполезная вещ присутствующая в ОС как приятное дополнение, но chmod права делают Linux более устойчивой к вирусам, не позволяя им что-либо стереть или подменить.
Linux является многопользовательской ОС, одновременно в ней может работать несколько пользователей. Было бы не логично, если один пользователь смог читать и редактировать файлы других, поэтому в Unix-подобных ОС есть такие понятия как пользователь, суперпользователь, владелец, группа, права доступа. С первым понятием все более-менее ясно, но вот что такое суперпользователь?
Как уже было сказано, Линукс достаточно мощная многопользовательская ОС с распределение прав доступа - пользоваетль не может работать с файлом, если chmod права ему это не позволяют. Но как-то ведь нужно настраивать систему и редактировать системные файлы. Для этого и был введен суперпользователь root, которому можно делать с системой все, что угодно. root может редактировать, удалять любой файл. У каждого файла есть владелец и группа, которой принадлежит этот файл.
CHMOD представляет собой трехзначное восьмеричное число, в котором хранится информация о том, что позволено делать с файлом владельцу, группе и всем остальным. Для наглядности приведу простую таблицу
Владелец | Группа | Остальные | |
Восьмеричное значение | 7 | 5 | 5 |
Символьная запись | rwx | r-x | r-x |
Стандартным значением chmod для файлов является число 644, для папок - 755. В зависимости от того, какие действия разрешены пользователю, группе или остальным, число может изменятся от 0 до 7. Еще одна табличка прояснит ситуацию
Двоичная | Восьмеричная | Символьная | Права на файл | Права на директорию |
000 | 0 | --- | нет | нет |
001 | 1 | --x | выполнение | чтение файлов |
010 | 2 | -w- | запись | нет |
011 | 3 | -wx | запись и выполнение | все, кроме чтения списка файлов |
100 | 4 | r-- | чтение | чтение списка файлов |
101 | 5 | r-x | чтение и выполнение | доступ на чтение |
110 | 6 | rw- | чтение и запись | чтение имен файлов |
111 | 7 | rwx | все права | все права |
Как видите все предельно просто. Для изменения chmod существует одноименная утилита, которая имеет следующий синтаксис.
#chmod [-opt] 0755 /home/user
где 0755 - права выставляемые на файл или папку /home/user. Для изменения группы существует команда chgrp.
#chgrp [-opt] group /var/www/
Владельца файла можно изменить командой chown, которая также позволяет сменить и группу.
#chown [-opt] owner[:group] /var/www/
Все три команды нужно выполнять от имени root. Напоследок хочется добавить, что свою безопасность линукс получила благодаря ограничению прав пользователей, поэтому входить в систему от имени root рекомендуется только для проведения административных задач.