Права доступа к файлам в Linux — что такое Chmod 777 и как его использовать
Если вы новый пользователь Linux(new Linux user) , вы, вероятно, уже сталкивались с командой Chmod в какой-то момент. Возможно, кто-то сказал вам «chmod 777», чтобы переместить файл в определенную папку, и это сработало! Так что же делает команда chmod и что означают цифры?
В этой статье мы обсудим все, что вам нужно знать о правах доступа к файлам в Linux . Это важно знать, чтобы понимать команду chmod и числа, соответствующие определенным уровням доступа. Независимо от того, используете ли вы Ubuntu , Fedora или более экзотический дистрибутив Linux(Linux distro) , вы должны понимать, когда можно установить разрешения 777 с помощью команды CHMOD , а когда следует использовать другую настройку.
Как работают права доступа к файлам в Linux
В Linux операционная система определяет, кто может получить доступ к определенному файлу, на основе прав доступа к файлу, владельца и атрибутов. Система позволяет вам, владельцу или администратору, включать ограничения доступа к различным файлам и каталогам. Вы можете повысить безопасность своей системы, предоставив доступ только тем пользователям и программам, которым вы доверяете.
Понимание классов пользователей(Understanding User Classes)
Конкретный пользователь и группа владеют каждым отдельным файлом и каталогом. Это означает, что существует три категории пользователей(three categories of users) , которым вы можете назначить определенный уровень доступа. Эти пользователи классифицируются следующим образом:
- Владелец
- Группа
- Другие
Вы можете увидеть эти группы визуально в Ubuntu , щелкнув правой кнопкой мыши любой каталог, выбрав « Свойства(Properties) » и перейдя на вкладку « Разрешения ».(Permissions)
Хозяин — это(Owner) человек, обладающий всей властью. Обычно они имеют полный доступ ко всем файлам и каталогам, а также могут изменять права доступа к файлам других пользователей.
Группа состоит(Group) из ряда пользователей, имеющих определенный уровень доступа к файлу или каталогу, предоставленному Владельцем(Owner) . Например, группе пользователей можно запретить изменять файл, но при этом им будет предоставлен доступ для просмотра этого файла.
Класс Others просто представляет гостевых пользователей, которые не попадают в две другие категории. По умолчанию их уровень доступа обычно ограничен. Владелец(Owner) должен определить, что могут или не могут делать гостевые пользователи.
Общие сведения об уровнях доступа к файлам(Understanding File Permission Levels)
Как владелец(Owner) вы можете назначить три уровня доступа к своим файлам и каталогам:
- Чтение(Read) : дает вам ограниченный доступ к файлу или каталогу. Все, что вы можете сделать, это прочитать файл или просмотреть содержимое каталога. Вы не можете редактировать файлы и не можете удалять или добавлять новые файлы в каталог.
- Запись(Write) : позволяет читать и редактировать файлы. Если вы назначаете этот уровень доступа к каталогу, вы также можете удалять или добавлять файлы.
- Execute : это важно только при запуске или выполнении файлов. Например, вы не можете запустить сценарий или программу без разрешения Execute .
Комбинируя классы и разрешения, вы можете контролировать, какой доступ у конкретного пользователя к файлу или каталогу.
Объяснение символов(Symbols) и цифр(Numbers) разрешений
Права доступа к файлам представлены в числовом или символическом виде. Вы можете использовать как символы, так и цифры для изменения прав доступа к файлам и каталогам. Самый простой способ — с цифрами, но вы также должны понимать символы. Итак, давайте сначала посмотрим на символы, стоящие за правами доступа к файлам.
Символы прав доступа к файлам(File Permission Symbols)
Вы можете просмотреть свои разрешения для всего контента в определенном каталоге, если введете следующую команду в терминале:
лс -л(ls -l)
Вы можете перейти в любой каталог с помощью команды cd . Если вы полный новичок, ознакомьтесь с нашей статьей об основных командах Linux(basic Linux commands) .
В нашем примере каталог содержит два других каталога и один файл. Разрешения записываются с использованием (1+) 9 символов, которые можно разделить на триплеты для облегчения понимания. Давайте рассмотрим первый набор разрешений для каталога Books :
drwxrwxr-х(drwxrwxr-x)
Давайте разделим его для удобства чтения:
d rwx rwx rx
Первый символ - d, и он обозначает каталог. Это также может быть символ тире, если это файл, как вы можете видеть в третьем наборе разрешений для файла Outline.docx .
Далее у нас есть три группы символов. Первая группа представляет уровни разрешений владельца, вторая группа — для класса группы(Group) , а третья — другие.
Каждый набор из 3 символов означает чтение, запись, выполнение — именно в таком порядке. Таким образом, владелец(Owner) имеет разрешение на чтение, запись и выполнение всех файлов и каталогов, находящихся внутри тестового(Test) каталога. Вот визуальное представление:
Когда вы видите символ тире вместо r, w или x, это означает, что разрешения не существует.
Номера прав доступа к файлам(File Permission Numbers)
Числовой формат для прав доступа к файлам прост. По сути, коды доступа к файлам состоят из трех цифр:
- Первый — для владельца файла.
- Второй представляет группу файла.
- Последняя цифра для всех остальных.
Цифры варьируются от 0 до 7, где:
- 4 = читать.
- 2 = написать.
- 1 = выполнить.
- 0 = нет разрешения.
Цифра разрешения каждого класса определяется путем суммирования значений разрешений. Другими словами, каждая цифра для каждого класса может быть суммой 4, 2, 1 и 0. Вот полный список разрешений:
- 0 (0 + 0 + 0) = Класс пользователя не имеет разрешений.
- 1 (0 + 0 + 1) = Только разрешение на выполнение .(Execute)
- 2 (0 + 2 + 0) = разрешение только на запись .(Write)
- 3 (0 + 2 + 1) = разрешения на запись и выполнение.(Write)
- 4 (4 + 0 + 0) = разрешение только на чтение .(Read)
- 5 (4 + 0 + 1) = права на чтение и выполнение.(Read)
- 6 (4 + 2 + 0) = права на чтение и запись.(Read)
- 7 (4 + 2 + 1) = все разрешения.
Например, разрешение 644 означает, что владелец файла имеет права на чтение и запись, а два других класса имеют разрешение только на чтение. Установка разрешений с использованием числового формата требует только базовой математики.
Разрешение 777
Как вы, наверное, уже догадались, разрешение 777 дает права на чтение, запись и выполнение всем трем классам пользователей. Другими словами, любой, кто имеет доступ к вашей системе, может читать, изменять и выполнять файлы. Используйте его только тогда, когда вы доверяете всем своим пользователям и вам не нужно беспокоиться о нарушениях безопасности.
Разрешение 777 используется часто, потому что оно удобно, но его следует использовать с осторожностью. На самом деле, мы рекомендуем никогда не использовать его, потому что риски безопасности слишком велики. Неавторизованный пользователь может поставить под угрозу вашу систему или, например, изменить ваш веб-сайт для распространения вредоносных программ.
Вместо этого вы должны дать разрешение 755. Таким образом, вы, как владелец файла, имеете полный доступ к определенному файлу или каталогу, в то время как все остальные могут читать и выполнять их, но не могут вносить какие-либо изменения без вашего разрешения.
Изменение прав доступа к файлам(File) с помощью Chmod
Вы можете изменить права доступа к файлу с помощью команды chmod. Самый простой способ использования этой команды без каких-либо других переменных выглядит следующим образом:
chmod 777 имя файла(chmod 777 filename)
Замените «(Replace “) имя файла» на имя файла и путь к нему.
Имейте в виду, что единственными пользователями, имеющими право изменять права доступа к файлам, являются пользователи с root-доступом, владельцы файлов и все остальные с полномочиями sudo .
Related posts
5 способов автоматизировать резервное копирование файлов в Linux
Понимание разрешений Linux и использования chmod
Игры на Ubuntu Linux — это хорошо?
Команда Linux FIND с примерами
5 веских причин отказаться от Windows в пользу Linux
Установите Adobe Digital Editions в Ubuntu Linux
Найдите и измените свое имя хоста в Ubuntu
7 лучших бесплатных антивирусных программ для Linux
10 лучших приложений Linux для пользователей Ubuntu
Как установить и настроить файлы TCP/IP в Linux (настройки TCP/IP для Linux)
Трюки с терминалом: используйте терминал в качестве будильника
9 полезных вещей, которые может сделать Linux, но не может Windows
20 лучших приложений для Linux
9 лучших дистрибутивов Linux для взлома
Как перейти на последнюю версию Ubuntu
Как переустановить Linux Mint без потери данных и настроек
Руководство для начинающих по Ubuntu Linux
Самый простой способ удаленного подключения к Linux Mint из любой ОС
Создайте собственный дистрибутив Live Linux с помощью Linux Live Kit
7 способов заархивировать и разархивировать файлы в Linux