Изменение прав на файлы или папки в Linux

С каждым объектом, который находится в ведении Mac OS X, связан опреде­ленный набор прав доступа (в unix-среде используется термин привилегии до­ступа), который полностью определяет, кто является владельцем этот объекта и что с ним могут делать разные пользователи.

Эти права можно просмотреть в окне свойств объекта – команда Файл>>Свойства , раздел Общий доступ и права доступа.

Кому назначаются права доступа

В окне свойств объекта, в колонке Имя указаны пользователи или точнее, ка­тегории пользователей, которые обладают какими-то специфическими права­ми на этот объект: зарегистрированный пользователь обозначен силуэтом одного человека, группа – два силуэта и все остальные – три силуэта. Рассмо­трим их подробнее.

Зарегистрированный пользователь . По умолчанию первым таким пользо­вателем указан владелец - тот, кто создал этот объект. Им может быть любой зарегистрированный пользователь или root (в Finder root фигурирует под име­нем system).

Группа . В окне свойств обычно указывается ее имя, в нашем примере это staff. Само понятие группы используется для того, чтобы так-то отделить от «всех остальных» некий определенный круг людей, которым нужно дать осо­бые права доступа к этому объекту.

Например, если речь идет о каком-то важном документе в пределах организа­ции, - скажем, рабочем расписании, - то доступ к нему с правом чтения могут иметь все сотрудники этой структуры, а право изменять его - только строго определенный круг лиц. Администратор, определяющий привилегии доступа к этому файлу, объединит людей, имеющих право вносить коррективы в файл, в отдельную группу и даст ей нужные права.

В Mac OS по умолчанию заданы и используются такие группы: Admin - все зарегистрированные администраторы, и в том числе tool, Wheel - все зареги­стрированные системные администраторы, по умолчанию это только root, и Staff – все зарегистрированные пользователи и root, группы можно создавать в панели Учетные зашей в Системных настредтках.

Остальные (everyone) – это все иные пользователи, которые не являются владельцами этого элемента и не входят в группу, обладающую особыми права­ми по отношению к этому объекту.

Какие бывают права доступа

Что касается прав, связанных с определенным объектом, то в Finder вы сможе­те задать такие из них:

  • Только чтение обозначает, что пользователь может, если это файл, откры­вать его, а если папка – открывать и копировать ее содержимое. Обычно такие права имеют документы и папки, предназначенные лишь для просмотра. Поль­зователь с правом «только чтение» не сможет как-то изменять или удалять эти объекты. Визуальным обозначением папки, содержимое которой вы не можете изме­нять, служит значок «перечеркнутый карандаш», который появляется В левом нижнем углу окна Finder.
  • Только запись (почтовый ящик) обозначает, что пользователь может со­хранять в этой папке свои файлы. При этом если в паре с пей не идет право «чтение», то он. даже не сможет видеть, что находится внутри этой папки. По­лучается такой «черный ящик», в который можно только что-либо бросить.
  • Чтение и запись – пользователь имеет все права: он может- и открывать этот элемент, и изменять его, и удалять. Обычно такие права доступа имеют создан­ные вами папки и документы.
  • Нет доступа полное отсутствие каких-либо прав по отношению к этому объекту. Пользователь сможет только видеть его иконку – и все. Так, если вы откроете личную папку другого пользователя, то папки, которые вы не можете открывать, будут обозначены дорожным знаком «Проезд запрещен».
  • Настройка прав доступа к объекту

    Когда вы создадите в своей личной папке новую папку или сохраните сюда соб­ственный файл, этот объект получит такие права доступа: владелец имеет все права – может и записывать в нее файлы, и открывать содержащиеся объекты; члены группы staff (то есть зарегистрированные пользователи), могут просматривать ее содержимое; все остальные (то есть те, кто подключился к вашему Маку с гостевыми правами) - тоже просматривать ее содержимое.

    Как видите, права, которые получает каждая создаваемая вами папка, очень демократичны (они существенно отличаются от предустановленных папок - к ним имеете доступ только вы, как владелец). Если вы не хотели бы, чтобы каж­дый пользователь вашего компьютера имел доступ ко всей информации в этой папке, обязательно отредактируйте связанные с ней права.

    В окне выбора пользователей и групп есть объект Адресная книга. Выделив его, вы получите доступ к списку людей, чьи контакты хранятся в вашей Адресной книге. Пользователи, которых вы. добавите туда, будут автоматически регистрироваться па вашем Маке только для сетевого доступа.

    Пользователи или группы, которые в окне свойств находятся в верхней части списка пользователей, имеют преимущество перед нижними. Например, если вы добавите в список группу kids и дадите им права чтения и записи, то они уже не будут ограничены правами группы staff, хоть и будут входить в ее число.

    Учтите, что свободно изменять права доступа к объектам могут только админи­страторы. Если обычный пользователь, например, попробует «чужой» документ сделать «своим», ему придется ввести пароль администратора.

    Групповая настройка прав доступа

    Как быть, если необходимо изменить права доступа к нескольким объектам? Конечно, вам не придется перебирать их по одному. Есть несколько вариантов решения этой задачи.

  • Нужно изменить права доступа к нескольким объектам , которые находятся в одной папке, но не ко всему содержимому этой папки. Выделите нужные объ­екты. Это должны бьть однородные объекты, то есть, только файлы или толь­ко папки. Дальше, удерживая нажатой клавишу Alt, выберите Файл>Показать инспектор. Откроется общее окно свойств, в котором вы, развернув раздел Общий доступ и прав доступа, сможете изменить нрава доступа к всем вы­деленным объектам.
  • Нужно изменить права доступа к папке (диску) и всем объектам, которые на­ходятся внутри. Может случиться, что из-за ваших неправильных действий или некорректной работы каких-то программ были изменены права доступа к вашей личной папке или ее содержимому Это может повлиять на работу программ, хранящих свои файлы в вашей личной папке (например, Mail и Адресной кни­ги).

    Если при попытке запустить такую программу вы получите сообигение, что «Программа не отвечает» или что-то в этом роде, проверьте, правильно ли за­даны привилегии доступа к папке -/Библиотеки/.

  • Вы должны быть единственным пользователем с правами чтения и записи. Все остальные должны иметь категорию «нет доступа».

  • Игнорировать права доступ на диске (томе) , В окне свойств незагрузочно­го диска, в разделе Общий доступ и пра&а доступа, есть опция Игнорировать владельцев в этом томе. Если она отключена, то есть права доступа на этом томе принимаются во внимание, вы можете столкнуться с ситуацией, что вам недоступны ваши же документы, которые находятся в старой личной папке (из которой вы давно «переехали»).
  • В таком случае включите Игнорировать владельцев в этом томе и спокойно открывайте все документы. Иногда для этого, может потребоваться перезагру­зить компьютер.

    «Скорая помощь» для прав доступа

    Советую очень осторожно относиться к изменению прав доступа, особенно к папкам, содержащим системные и программные компоненты. После некото­рых, казалось бы, совершенно безобидных изменений – например, запрещения всем остальным пользователям иметь доступ к системным папкам – возможна неправильная работа системы и остальных программ.

    Поэтому лучше ограни­читься настройкой прав для своих собственных папок, которые вы хотели бы скрыть от всеобщего доступа.

    Но не всегда положение дел с правами будет зависеть только от вас. Есть ряд ситуаций, после которых возможны изменения в правах доступа к системным компонентам, что чревато сбоями в работе системы и некоторых программ. Перечислим основные причины появления проблем с правами.

  • Установщики программ сторонних производителей могут некорректно уста­навливать права для своих папок и файлов, и даже для папки /Программы/, Симптомом таких нарушений становится появление вопросительного знака вместо иконок программ в Доке и, возможно, проблемы с подключением к Интернету.
  • Перезагрузившись с другого системного диска и включив опцию Игнориро­вать владельцев в этом томе, вы фактически получаете права суперпользова­теля по отношению ко всем файлам Mac OS X, которые находятся на жестком диске – можете переносить, удалять и изменять даже ее системные компонен­ты. Чтобы избежать дальнейших проблем в работе такой системы, лучше не вы­полнять никаких действий С незнакомыми элементами, даже не открывать их.
  • Решить проблемы в работе системы, связанные с неправильно установленны­ми правами, можно с помощью программы Дисковая утилита (/Программы/ Служебные программы/). В левом окне профаммы вылелите диск (или раздел диска), где находится «проблемная» Mac OS, в правом – откройте закладку Первая помощь (First Aid). Что можно сделать:

    Проверить права доступа . Программа проверит, нет ли конфликтов в правах доступа на этом диске. Вы получите отчет о проверке, на основании которого сможете решить, нужно ли их исправлять или нет.

    Восстановить права доступа . Если в ходе проверки прав доступа были обнаружены какие-то проблемы, можете попробовать их исправить. На сообщения типа «ACL обнаружен, но не ожидается», можно не обращать внимания. Наличие ACL не нарушает работы системных компонентов и Дисковая утилита их, как правило, не удаляет.

    В Леопарде восстанавливать права доступа можно без перезагрузки с установочного диска, как того требовали предыдущие версии Mac OS. Права доступа ко всем компонентам операционной системы и программам Apple будут сброшены в состояние «по умолчанию». Программы Apple в процессе установки записывают информацию о своих компонентах в папку /Библиотеки/Receipts/. Эти данные дисковая утилита и использует для восстановления прав. Если содержимое папки со сведениями об этих пакетах было уничтожено, утилита восстановит только системные права.

    Без изменений останутся программы сторонних производителей, и если они при установке изменяли права доступа к системному программному обеспечению, то после восстановления прав доступа могут работать некорректно.

    Средства обмена данными между пользователями

    До сих пор мы рассказывали как Mac OS защищает данные пользователей от постороннего доступа. Но есть множество ситуаций, когда наоборот - многие данные, такие как медиатека iTunes или фотоснимки iPhoto должны стать до­ступными всем пользователям одного Мака. Рассмотрим, какие есть средства организацгии обмена файлами всех зарегистрированных пользователей.

    Папка Общий доступ . Находится в папке /Пользователи/. Информация вну­три этой папки доступна всем пользователям, – они могут копировать из нее существующие объекпл и записывать свои.

    Папка Общие . Находится в вашей личной папке. Информация в этой папке доступна остальным пользователям только с правом чтения. Все могут могут открывать ее, просматривать файлы и что-либо из нее копировать.

    Папка Почтовый ящик . Находится в папке -/Общие/). Только вы будете иметь к ней полный доступ. Все остальные могут в нее только что-либо запи­сывать, без права даже просматривать ее содержимое.

    Итак, если вам нужно предоставить файл или папку для всеобщего пользования – поместите ее в папку /Пользователи/Общий доступ/. Только не спешите копировать туда свою медиатеку или фототеку. Чтобы разместить в ней файлы каких-то программ, лучше обратиться к справке этих программ – здесь могут быть нюансы относительно того, какие компоненты лучше туда скопировать и как остальным пользователям «подключиться» к общим данным. Но если музыкальные файлы или изображения хранятся у вас за пределами медиатеки или фототеки, можете смело переносить их в папку Общий доступ – они тут же станут доступными для всех пользователей.

    Если хотите, чтобы все могли пользоваться вашими файлами, но не могли их удалять или добавлять свои - запишите эти файлы в папку -/Общие/. И, наконец, чтобы передать файл кому-либо лично, бросьте его в Почтовый ящик этого пользователя.

    Вы также можете создавать и другие папки для обмена данными, назначая остальным пользователям соответствующие права доступа.

    Команда сhmod (ch ange mod e) служит для изменения прав доступа к файлам и папкам.

    Синтаксис

    Команды chmod имеет следующий синтаксис:

    $ chmod permissions file[s]

    • -R, —recursive; изменять файлы и директории рекурсивно
    • -f, —silent, —quiet; не выводить сообщения об ошибках

    Показать текущие права на файл / директорию можно с помощью команды ls :

    $ ls -l MyFile.txt -rw-r--r-- 1 john admin 0 2012-12-02 04:30 MyFile.txt $ ls -ld MyDir drwxr-xr-x 2 john admin 4096 2012-12-02 04:29 MyDir

    или используя команду stat :

    $ stat -c "%A %a %n" MyFile.txt -rw-r--r-- 644 MyFile.txt $ stat -c "%A %a %n" MyDir drwxr-xr-x 755 MyDir

    Классы доступа

    Классы доступа используются для того, чтобы определить какому пользователю назначаются права. Если класс доступа не указан, то по умолчанию используется класс “all”. Классы доступа представлены одной или несколькими из ниже перечисленных букв:

    Операторы

    Программа chmod использует оператор для того, чтобы указать каким образом будут применены права доступа к файлам или папкам. Приняты следующие операторы:

    Права доступа

    Права доступа указывают какие полномочия следует предоставить или забрать у указанного класса. Существуют три основных вида прав доступа, которые соответствуют базовым полномочиям:

    [X ] сам по себе не является правом доступа, но тем не менее, может использоваться вместо x . Он на самом деле полезен только в случае использования оператора ‘+’ в сочетании с опцией -R, для того чтобы предоставить группе или остальным пользователям права доступа к дереву каталога, не давая прав на исполнение обычных файлов (например текстовых), что случится при применении команды ‘chmod -R a+rx’. Таким образом вместо нее можно использовать ‘X’, и соответственно выполнить ‘chmod -R a+rX’.

    Числовые права доступа

    Возможно использование прав доступа как в символьной, так и в числовой форме.

    Числовая форма для прав доступа:

    • Первая user (пользователь)
    • Вторая цифра используется для обозначения group (группа)
    • Третья цифра используется для обозначения others (остальные)

    10 Простых Примеров:

    1. Добавить всем права на чтение файла:

    $ chmod a+r file

    2. Забрать права на исполнение файла у всех:

    $ chmod a-x file

    3. Добавить всем права на чтение и запись:

    $ chmod a+rw file

    4. Установить права на чтение и запись для владельца и забрать права у всех остальных:

    $ chmod u=rw,go= file

    5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных:

    $ chmod -R u+w,go-w directory

    6. Забрать у всех все права:

    $ chmod file

    7. Дать всем права на права на чтение, запись и выполнение файла:

    $ chmod 777 file

    8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение:

    $ chmod 664 file

    9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных:

    $ chmod -R u+rwX,g-rwx,o-rwx directory

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

    Занимаясь созданием своего собственного сайта или работая с файлами на сервере, вы наверняка сталкивались с ограничением прав доступа к какому-либо файлу или папке. К примеру, для успешной установки определенных скриптов необходимо установить права на запись для определенных файлов и папок, иначе установка пройдет с ошибками. В данном руководстве вы узнаете, как изменить права доступа к файлам и папкам. Но перед этим немного теории.

    Для чего может понадобится изменение прав доступа

    Изменение прав доступа может понадобится во многих случаях. Не удаляясь от темы создания сайта, оно может понадобиться при установке какой-либо CMS, при установке плагинов, модулей или для улучшения защиты вашего сайта. Правильно выставленные права к файлам движка вашего сайта являются залогом того, что ваш сайт будет гораздо устойчивее к вредоносным программам или попыткам взлома. Однако необходимо учесть, что стоит внимательно отнестись к изменению прав доступа, так как неправильно выставленные значения могут серьезно повлиять на работу вашего сайта.

    Какие существуют права доступа

    Всего существует три вида прав доступа для файлов и папок. Однако несмотря на то, что обозначаются они одинаково, значение для файлов и папок у них немного разное.

    Для файлов:

    • r – права на чтение данных файла.
    • w – права на изменение содержимого файла.
    • x – права на исполнение файла.

    Для папок:

    • r – права на просмотр содержимого папки.
    • w – права на изменение содержимого папки.
    • x – права на вход в папку.

    Однако в случае с изменением прав доступа через FTP-клиент, вам необходимо знать об их числовом значении.

    • Права на чтение – 4
    • Права на запись – 2
    • Права на выполнение – 1

    К примеру, чтобы установить все права доступа к файлу необходимо указать числовое значение 7. То есть 4 (чтение) + 2 (запись) + 1 (выполнение) = 7 (все права доступа).

    Еще одной темой для знакомства станут группы. Права доступа могут устанавливаться для нескольких групп:

    • u – владелец
    • g – группа владельца
    • o – все остальные

    К примеру, чтобы установить все права доступа для всех пользователей необходимо выставить такое значение 777. Первое число все права для владельца, второе для группы, третье для всех остальных.

    В данном руководстве мы затронем изменение прав только с помощью Файлового Менеджера и FTP-клиента.

    Для получения информации об изменении прав доступа на Linux посетите .

    Перед тем, как вы начнете это руководство, вам понадобится следующее:

    • Доступ к панели управления вашим хостингом
    • FTP-клиент или Файловый Менеджер

    Вариант 1 - Изменение прав доступа с помощью Файлового Менеджера

    Для начала вам необходимо войти в Файловый Менеджер.

    1. Войдите в панель управления Hostinger и нажмите на иконку Файловый Менеджер в разделе Файлы .
    1. Далее кликните правой кнопкой мыши на файле или папке для которой вам необходимо поменять права доступа и выберите опцию Разрешения .


    1. В открывшемся окне установите необходимые права и нажмите Изменить .


    При включении опции Рекурсивно такие же права доступа будут установлены для всех файлов и папок внутри нее.

    Слева в графе По-умолчанию показываются стандартные права доступа для папки.

    Справа в графе Изменения показываются права доступа которые будут установлены после изменения.

    Значения прав представлены как в буквенном, так и числовом формате.

    drwxr - xr - x (755 )

    • d – означает тип файла, то есть каталог.
    • rwx – все права доступа для владельца.
    • r-x – права на чтение и выполнение для группы владельца.
    • r-x – такие же права для всех остальных.

    Вариант 2 - Использование FTP-клиента для изменения прав доступа

    В данном руководстве мы будем использовать FTP-клиент FileZilla , однако, вы можете использовать любой другой.

    1. Для начала подключитесь к вашему хостинг аккаунту с помощью клиента FileZilla.
    1. Далее выберите необходимый вам файл и кликните на него правой кнопкой мыши, далее Права доступа к файлу .


    1. В новом окне установите необходимые права доступа удобным вам способом и нажмите кнопку ОК .

    Числовое значение – права для всех групп в числовом значении. К примеру, 777 все права для всех групп.

    Перенаправить во вложенные каталоги – все изменения будут рекурсивно применены для всех папок или файлов внутри данной папки.

    Функция Смена прав доступа

    Если вы случайно изменили права и не можете удалить или редактировать определенные файлы, то вы можете воспользоваться функцией Смена прав доступа .

    1. Войдите в панель управления Hostinger. Найдите иконку Смена прав доступа в разделе Другое и нажмите на нее.


    1. В открывшемся окне поставьте галочку напротив Я понимаю, что права доступа на мои файлы будут сменены на значения по умолчанию и нажмите кнопку Выполнить .


    ВАЖНО! Используйте эту функцию с осторожностью, так как при ее использовании все разрешения на действия с файлами вашего сайта будут изменены на значения по умолчанию. Ее использование рекомендуется только в определенных случаях.

    Заключение

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

    Изменить владельца и права доступа на файлы и папки в Linux и *BSD системах

    Представленная ниже информация будет полезная начинающим Linux и *BSD системным администраторам. По большому счету, в любой операционной системе, будь то Linux, Windows или FreeBSD, корректная работа приложений, сервисов и безопасность системы в целом напрямую зависит от прав доступа на файлы и папки. Используя ниже приведённые средства, можно решить практически 90% проблем, возникающих при настройке прав доступа.

    Сменить владельца для всех папок и файлов . Для этих целей в Unix используется команда chown . Она обладает рядом параметров:

    • Опции. Например, для того, чтобы изменения коснулись не только данной директории, но и всех поддиректорий, нужно применить команду рекурсивно, т.е. с параметром «-R».
    • Владелец или группа владельцев («user:group» или «user»).
    • Пути до папок / файлов, к которым нужно применить команду. Например, «/mnt/pool1/dts1/backup».

    Таким образом, команда для смены смены владельца (и группы владельцев) для директорий и всех вложенных папок и фалов будет выглядеть так:

    sudo chown -R user:group /home/user/dir/

    Изменить права доступа на файл или папку в Linux и *BDS системах можно командой chmod . Стоит отметить, что в Unix имеются свои особенности в работе данной команды и принципа разделения прав. Так, кроме владельца файла или папки, можно настроить, какие операции может выполнять этот самый владелец и группа, а также все остальные пользователи. В Unix идёт разделение возможностей следующим способом — владелец, группа владельцев и другие. Также присутствует следующее разделение прав:

    • Право на запуск файла (для папок — проход по директории).
    • Право на изменение файла (создание и удаление файлов и папок в директории)
    • Право на чтение файла (для папок — это право на просмотр содержимого директории)

    Для удобства использования и запоминания, используется следующая кодировка:

    • запуск — 1
    • изменение — 2
    • чтение — 4

    Складывая данные цифровые обозначения мы получим набор прав, предоставляемый владельцу/группе/другим. Разберем данную информацию на примере:

    Изменять файл имеет право только владелец, группа владельце может читать, остальные — ничего не могут, соответственно команда будет такой:

    chmod 640 /media/fileshare/file.txt

    Создавать файлы в папке могут все, но видит их только владелец:

    chmod 622 /media/fileshare/messages/

    Чтобы все могли запускать какую-либо программу, но никто, кроме владельца, не мог её редактировать:

    chmod 711 /media/share/exec

    Для изменения прав на все вложенные файлы и папки (т.е. рекурсивно) используется опять же ключ «-R».

    Выполняя данные операции, стоит понимать — изменять права на файлы и директории могут только администраторы и владелец этих папок и файлов.

    Изменение прав только на файлы или только на папки — команда find . При этом файлы обозначаются как file (f), а директории, соответственно — d. Например:

    В операционной системе Linux есть много отличных функций безопасности, но она из самых важных — это система прав доступа к файлам. Linux, как последователь идеологии ядра Linux в отличие от Windows, изначально проектировался как многопользовательская система, поэтому права доступа к файлам в linux продуманы очень хорошо.

    И это очень важно, потому что локальный доступ к файлам для всех программ и всех пользователей позволил бы вирусам без проблем уничтожить систему. Но новым пользователям могут показаться очень сложными новые права на файлы в linux, которые очень сильно отличаются от того, что мы привыкли видеть в Windows. В этой статье мы попытаемся разобраться в том как работают права файлов в linux, а также как их изменять и устанавливать.

    Основные права доступа к файлам в Linux

    Изначально каждый файл имел три параметра доступа. Вот они:

    • Чтение — разрешает получать содержимое файла, но на запись нет. Для каталога позволяет получить список файлов и каталогов, расположенных в нем;
    • Запись — разрешает записывать новые данные в файл или изменять существующие, а также позволяет создавать и изменять файлы и каталоги;
    • Выполнение — вы не можете выполнить программу, если у нее нет флага выполнения. Этот атрибут устанавливается для всех программ и скриптов, именно с помощью него система может понять, что этот файл нужно запускать как программу.

    Но все эти права были бы бессмысленными, если бы применялись сразу для всех пользователей. Поэтому каждый файл имеет три категории пользователей, для которых можно устанавливать различные сочетания прав доступа:

    • Владелец — набор прав для владельца файла, пользователя, который его создал или сейчас установлен его владельцем. Обычно владелец имеет все права, чтение, запись и выполнение.
    • Группа — любая группа пользователей, существующая в системе и привязанная к файлу. Но это может быть только одна группа и обычно это группа владельца, хотя для файла можно назначить и другую группу.
    • Остальные — все пользователи, кроме владельца и пользователей, входящих в группу файла.

    Именно с помощью этих наборов полномочий устанавливаются права файлов в linux. Каждый пользователь может получить полный доступ только к файлам, владельцем которых он является или к тем, доступ к которым ему разрешен. Только пользователь Root может работать со всеми файлами независимо от их набора их полномочий.

    Но со временем такой системы стало не хватать и было добавлено еще несколько флагов, которые позволяют делать файлы не изменяемыми или же выполнять от имени суперпользователя, их мы рассмотрим ниже:

    Специальные права доступа к файлам в Linux

    Для того, чтобы позволить обычным пользователям выполнять программы от имени суперпользователя без знания его пароля была придумана такая вещь, как SUID и SGID биты. Рассмотрим эти полномочия подробнее.

    • SUID — если этот бит установлен, то при выполнении программы, id пользователя, от которого она запущена заменяется на id владельца файла. Фактически, это позволяет обычным пользователям запускать программы от имени суперпользователя;
    • SGID — этот флаг работает аналогичным образом, только разница в том, что пользователь считается членом группы, с которой связан файл, а не групп, к которым он действительно принадлежит. Если SGID флаг установлен на каталог, все файлы, созданные в нем, будут связаны с группой каталога, а не пользователя. Такое поведение используется для организации общих папок;
    • Sticky-bit — этот бит тоже используется для создания общих папок. Если он установлен, то пользователи могут только создавать, читать и выполнять файлы, но не могут удалять файлы, принадлежащие другим пользователям.

    Теперь давайте рассмотрим как посмотреть и изменить права на файлы в linux.

    Как посмотреть права доступа к файлам в Linux

    Конечно, вы можете посмотреть права доступа к файлам в Linux с помощью файлового менеджера. Все они поддерживают эту функцию, но так вы получите неполную информацию. Для максимально подробной информации обо всех флагах, в том числе специальных, нужно использовать команду ls с параметром -l. Все файлы из каталога будут выведены в виде списка, и там будут показаны все атрибуты и биты.

    Чтобы узнать права на файл linux выполните такую команду, в папке где находится этот файл:


    За права файлов в linux тут отвечают черточки. Первая это тип файла, который рассмотрен в отдельной статье. Дальше же идут группы прав сначала для владельца, для группы и для всех остальных. Всего девять черточек на права и одна на тип.

    Рассмотрим подробнее, что значат условные значения флагов прав:

    • — нет прав, совсем;
    • —x — разрешено только выполнение файла, как программы но не изменение и не чтение;
    • -w- — разрешена только запись и изменение файла;
    • -wx — разрешено изменение и выполнение, но в случае с каталогом, вы не можете посмотреть его содержимое;
    • r— — права только на чтение;
    • r-x — только чтение и выполнение, без права на запись;
    • rw- — права на чтение и запись, но без выполнения;
    • rwx — все права;
    • —s — установлен SUID или SGID бит, первый отображается в поле для владельца, второй для группы;
    • —t — установлен sticky-bit, а значит пользователи не могут удалить этот файл.

    В нашем примере, файл test1 имеет типичные разрешения для программ, владелец может все, группа только чтение и выполнение, а все остальные — только выполнение. Для test2 дополнительно установлен флаг SUID и SGID. А для папки test3 установлен Sticky-bit. Файл test4 доступный всем. Теперь вы знаете как посмотреть права на файл linux.

    Как изменить права файла в Linux

    Чтобы изменить права на файл в linux вы можете использовать утилиту chmod. Она позволяет менять все флаги, включая специальные. Рассмотрим ее синтаксис:

    $ chmod опции категория действие флаг файл

    Опции сейчас нас интересовать не будут, разве что только одна. С помощью опции -R вы можете заставить программу применять изменения ко всем файлам и каталогам рекурсивно.

    • u — владелец файла;
    • g — группа файла;
    • o — другие пользователи.

    Действие может быть одно из двух, либо добавить флаг «+», либо убрать флаг — «-«. Что касается самих прав доступа, то они аналогичны выводу утилиты ls: r — чтение, w — запись, x — выполнение, s — suid/sgid, в зависимости от категории, для которой вы его устанавливаете, t — устанавливает sticky-bit. Например, всем пользователям полный доступ к файлу test5:

    chmod ugo+rwx test5

    Или заберем все права у группы и остальных пользователей:

    chmod go-rwx test5

    Дадим группе право на чтение и выполнение:

    chmod g+rx test5

    Остальным пользователям только чтение:

    Для файла test6 установим SUID:

    А для test7 — SGID:

    Посмотрим что получилось:


    Как видите, изменить права на файл в linux очень просто. К тому же вы можете изменить основные права с помощью файлового менеджера.

    Выводы

    Вот и все, теперь вы знаете не только что такое права доступа к файлам в linux, но и как их посмотреть, и даже как их изменить. Это очень важная тема, в которой действительно стоит разобраться новичкам, чтобы использовать свою систему более полноценно. Если у вас остались вопросы, спрашивайте в комментариях!

    На завершение хочу предложить неплохое видео про права доступа в linux:



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: