Изменение прав на папки в линукс

Если вы просто пользователь Windows, то скорее всего вы даже не слышали, что такое . Но если вы даже новичок в Linux, то скорее всего вы столкнулись у же с тем, что вам пришлось столкнуться с этим понятием. И наверняка у вас возник простой вопрос: к файлу или папке?

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

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

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

  • Чтение: это разрешение дает вам право открывать и читать файл.
  • Разрешение на чтение в каталоге дает вам возможность перечислять его содержимое.
  • Запись.
  • Правильное разрешение дает вам право изменять содержимое файла.
Персонажи довольно легко запомнить.

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

Это говорит о том, что владелец «Дома» может.

  • Чтение файла Запись или редактирование файла.
  • Он не может выполнить файл, так как бит выполнения установлен в -.
Это для группы пользователей «Главная» и групп может. Третья часть для всего мира означает любого пользователя. Это означает, что пользователь может. Скажите, что вы не хотите, чтобы ваш коллега видел ваши личные изображения. Это может быть достигнуто путем изменения прав доступа к файлам.

Существует два способа использования команды. В этом режиме разрешения на доступ к файлам не представлены в виде символов, а трехзначное восьмеричное число. В приведенной ниже таблице указаны номера для всех типов разрешений. Абсолютный код «764» говорит следующее.

Chmod 644 filename

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

U - пользователь (владелец) g - группа o - остальные (не u, не g) a - все пользователи +/-r - добавить/удалить разрешение на чтение +/-w - добавить/удалить разрешение на запись +/-x - добавить/удалить разрешение на выполнение

  • Владелец может читать, писать и выполнять.
  • Пользователь может читать и писать.
  • Мир может читать только.
Так вы можете изменить разрешения на файл, присвоив абсолютное число. В символическом режиме вы можете изменять разрешения определенного владельца.

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

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

Каталоги, ссылки, чтение, запись и выполнение

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

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

Таким образом, чтобы установить изменить права доступа на 644 (независимо от предыдущих прав доступа) можно применить следующие две команды:

Chmod a+r-w-x filename chmod u+w filename

Первая команда задает разрешение для всех: пользователя, группы и остальных (а) на чтение, но не на запись и выполнение (+r-w-x) файла. Вторая разрешает пользователю (u) записывать (+w) в файл. Для выяснения текущего значения атрибутов введите:

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

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

Ls -l filename

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

Самый первый символ в строке обозначает, является ли объект файлом, каталогом или символической ссылкой. Файлы обозначаются дефисом (-), каталоги - буквой d, а символические ссылки - буквой l. Таким образом, без первого символа остается 9 символов, три группы по три, представляющие права доступа по порядку для владельца, группы и остальных.

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

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

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

Поскольку Linux — система многопользовательская, вопрос об организации разграничения доступа к файлам и каталогам является одним из существенных вопросов, которые должна решать операционная система. Механизмы разграничения доступа, разработанные для системы UNIX в 70-х годах (возможно, впрочем, они предлагались кем-то и раньше), очень просты, но они оказались настолько эффективными, что просуществовали уже более 30 лет и по сей день успешно выполняют стоящие перед ними задачи.

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

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

В основе механизмов разграничения доступа лежат имена пользователей и имена групп пользователей. Вы уже знаете, что в Linux каждый пользователь имеет уникальное имя, под которым он входит в систему (логируется). Кроме того, в системе создается некоторое число групп пользователей, причем каждый пользователь может быть включен в одну или несколько групп. Создает и удаляет группы суперпользователь, он же может изменять состав участников той или иной группы. Члены разных групп могут иметь разные права по доступу к файлам, например, группа администраторов может иметь больше прав, чем группа программистов.

Существует три типа обозначений файлов: восьмеричная нотация, символическая нотация и нотация операндов, которая работает на основе символических обозначений. В случае символьной нотации для каждого «блока авторизации» отображается, установлено ли это разрешение, если это так, отображается соответствующая буква, а если нет, появляется знак минуса. Это приводит к десятизначной строке.

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

В индексном дескрипторе каждого файла записаны имя так называемого владельца файла и группы, которая имеет права на этот файл. Первоначально, при создании файла его владельцем объявляется тот пользователь, который этот файл создал. Точнее — тот пользователь, от чьего имени запущен процесс, создающий файл. Группа тоже назначается при создании файла — по идентификатору группы процесса, создающего файл. Владельца и группу файла можно поменять в ходе дальнейшей работы с помощью команд chown и chgrp (подробнее о них будет сказано чуть позже).

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

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

Теперь давайте еще раз выполним команду ls -l . Но зададим ей в качестве дополнительного параметра имя конкретного файла, например, файла, задающего саму команду ls . (Обратите, кстати, внимание на эту возможность команды ls -l — получить информацию о конкретном файле, а не о всех файлах каталога сразу).

$ ls -l /bin/ls

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

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

Вы видите, что в данном случае владельцем файла является пользователь root и группа root. Но нас сейчас в выводе этой команды больше интересует первое поле, определяющее тип файла и права доступа к файлу. Это поле в приведенном примере представлено цепочкой символов -rwxr-xr-x . Эти символы можно условно разделить на 4 группы.

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

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

Чтение, письмо, исполнение. . В случае с файлом эти права легко поняты: доступ для чтения позволяет читать содержимое, содержимое доступа к нему изменяется, и доступ к нему позволяет запустить его. Обратите внимание, что мы часто говорим о «бит», потому что каждое из этих булевых значений может быть представлено 0 или 1. Эти два разрешения позволяют каждому пользователю выполнять программу с правами владельца или группы.

    - = — обычный файл;

    d = — каталог;

    b = — файл блочного устройства;

    c = — файл символьного устройства;

    s = — доменное гнездо (socket);

    p = — именованный канал (pipe);

    l = — символическая ссылка (link).

Далее следуют три группы по три символа, которые и определяют права доступа к файлу соответственно для владельца файла, для группы пользователей, которая сопоставлена данному файлу, и для всех остальных пользователей системы. В нашем примере права доступа для владельца определены как rwx, что означает, что владелец (root ) имеет право читать файл (r), производить запись в этот файл (w), и запускать файл на выполнение (x). Замена любого из этих символов прочерком будет означать, что пользователь лишается соответствующего права. В том же примере мы видим, что все остальные пользователи (включая и тех, которые вошли в группу root ) лишены права записи в этот файл, т. е. не могут файл редактировать и вообще как-то изменять.

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

И вновь созданные записи в таких каталогах автоматически назначаются группе пользователей родительского каталога, а не наследуют основную группу создателя, как обычно. Этот параметр запрещает пользователю изменять основную группу записи при работе в дереве каталогов, совместно используемом несколькими пользователями в той же группе. «Липкий» бит - это право, которое имеет смысл только в каталогах. Он в основном используется во временных каталогах, где у каждого есть доступ на запись: он ограничивает удаление файлов, чтобы только их владельцы могли.

Вообще говоря, права доступа и информация о типе файла в UNIX-системах хранятся в индексных дескрипторах в отдельной структуре, состоящей из двух байтов, т. е. из 16 бит (это естественно, ведь компьютер оперирует битами, а не символами r, w, x). Четыре бита из этих 16-ти отведены для кодированной записи о типе файла. Следующие три бита задают особые свойства исполняемых файлов, о которых мы скажем чуть позже. И, наконец, оставшиеся 9 бит определяют права доступа к файлу. Эти 9 бит разделяются на 3 группы по три бита. Первые три бита задают права пользователя, следующие три бита — права группы, последние 3 бита определяют права всех остальных пользователей (т. е. всех пользователей, за исключением владельца файла и группы файла).

Три команды управляют разрешениями, назначенными файлу. Существует два способа представления разрешений. Из них символическое представление, вероятно, проще всего понять и запомнить. Речь идет о вышеупомянутых символах букв. Вы можете устанавливать разрешения для каждой категории пользователей, либо явно устанавливая, добавляя, либо удаляя их. Права, которые не изменяются добавлением или удалением в такой команде, остаются неизменными. Числовое представление присваивает значение каждому разрешению: 4 для чтения, 2 для записи и 1 для выполнения.

При этом, если соответствующий бит имеет значение 1, то право предоставляется, а если он равен 0, то право не предоставляется. В символьной форме записи прав единица заменяется соответствующим символом (r, w или x), а 0 представляется прочерком.

Право на чтение (r) файла означает, что пользователь может просматривать содержимое файла с помощью различных команд просмотра, например, командой more или с помощью любого текстового редактора. Но, подредактировав содержимое файла в текстовом редакторе, вы не сможете сохранить изменения в файле на диске, если не имеете права на запись (w) в этот файл. Право на выполнение (x) означает, что вы можете загрузить файл в память и попытаться запустить его на выполнение как исполняемую программу. Конечно, если в действительности файл не является программой (или скриптом shell), то запустить этот файл на выполнение не удастся, но, с другой стороны, даже если файл действительно является программой, но право на выполнение для него не установлено, то он тоже не запустится.

Мы объединяем каждую комбинацию разрешений с суммой чисел. Каждое значение затем присваивается другой категории пользователей, помещая их спереди назад в обычном порядке. Наиболее распространенными комбинациями разрешений являются 755 для исполняемых файлов и каталогов и 644 для файлов, содержащих данные. Обычно пользователь, создающий файл или каталог, также является владельцем. Владелец и группа могут быть указаны как мера или по имени. Во всех следующих примерах пользователь временно использует суперпользователя для преодоления ограничений привилегий.

Вот мы и узнали, какие файлы в Linux являются исполняемыми! Как видите, расширение имени файла тут не при чем, все определяется установкой атрибута "исполняемый", причем право на исполнение может быть предоставлено не всем!

Если выполнить ту же команду ls -l , но в качестве последнего аргумента ей указать не имя файла, а имя каталога, мы увидим, что для каталогов тоже определены права доступа, причем они задаются теми же самыми символами rwx. Например, выполнив команду ls -l / , мы увидим, что каталогу bin соответствует строка:

Естественно, что по отношению к каталогам трактовка понятий "право на чтение", "право на запись" и "право на выполнение" несколько изменяется. Право на чтение по отношению к каталогам легко понять, если вспомнить, что каталог — это просто файл, содержащий список файлов в данном каталоге. Следовательно, если вы имеете право на чтение каталога, то вы можете просматривать его содержимое (этот самый список файлов в каталоге). Право на запись тоже понятно — имея такое право, вы сможете создавать и удалять файлы в этом каталоге, т. е. просто добавлять в каталог или удалять из него запись, содержащую имя какого-то файла и соответствующие ссылки. Право на выполнение интуитивно менее понятно. Оно в данном случае означает право переходить в этот каталог. Если вы, как владелец, хотите дать доступ другим пользователям на просмотр какого-то файла в своем каталоге, вы должны дать им право доступа в каталог, т. е. дать им "право на выполнение каталога". Более того, надо дать пользователю право на выполнение для всех каталогов, стоящих в дереве выше данного каталога. Поэтому в принципе для всех каталогов по умолчанию устанавливается право на выполнение как для владельца и группы, так и для всех остальных пользователей. И, уж если вы хотите закрыть доступ в каталог, то лишите всех пользователей (включая группу) права входить в этот каталог. Только не лишайте и себя такого права, а то придется обращаться к суперпользователю! (Примеч.11)

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

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

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

Для изменения прав доступа к файлу используется команда chmod . Ее можно использовать в двух вариантах. В первом варианте вы должны явно указать, кому какое право даете или кого этого права лишаете:

$ chmod wXp имя-файла

где вместо символа w подставляется

    либо символ u (т. е. пользователь, который является владельцем);

    либо g (группа);

    либо o (все пользователи, не входящие в группу, которой принадлежит данный файл);

    либо a (все пользователи системы, т. е. и владелец, и группа, и все остальные).

Вместо X ставится:

    либо + (предоставляем право);

    либо - (лишаем соответствующего права);

    либо = (установить указанные права вместо имеющихся),

Вместо p — символ, обозначающий соответствующее право:

    r (чтение);

    w (запись);

    x (выполнение).

Вот несколько примеров использования команды chmod :

$ chmod a+x file_name

предоставляет всем пользователям системы право на выполнение данного файла.

$ chmod go-rw file_name

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

$ chmod ugo+rwx file_name

дает всем права на чтение, запись и выполнение.

Если опустить указание на то, кому предоставляется данное право, то подразумевается, что речь идет вообще обо всех пользователях, т. е. вместо $ chmod a+x file_name

можно записать просто

$ chmod +x file_name

Второй вариант задания команды chmod (он используется чаще) основан на цифровом представлении прав. Для этого мы кодируем символ r цифрой 4, символ w — цифрой 2, а символ x — цифрой 1. Для того, чтобы предоставить пользователям какой-то набор прав, надо сложить соответствующие цифры. Получив, таким образом, нужные цифровые значения для владельца файла, для группы файла и для всех остальных пользователей, задаем эти три цифры в качестве аргумента команды chmod (ставим эти цифры после имени команды перед вторым аргументом, который задает имя файла). Например, если надо дать все права владельцу (4+2+1=7), право на чтение и запись — группе (4+2=6), и не давать никаких прав остальным, то следует дать такую команду:

$ chmod 760 file_name

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

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

Чтобы завершить рассказ о правах доступа к файлам, надо рассказать еще о трех возможных атрибутах файла, устанавливаемых с помощью той же команды chmod . Это те самые атрибуты для исполняемых файлов, которые в индексном дескрипторе файла в двухбайтовой структуре, определяющей права на файл, занимают позиции 5-7, сразу после кода типа файла.

Первый из этих атрибутов — так называемый "бит смены идентификатора пользователя". Смысл этого бита состоит в следующем.

Обычно, когда пользователь запускает некоторую программу на выполнение, эта программа получает те же права доступа к файлам и каталогам, которые имеет пользователь, запустивший программу. Если же установлен "бит смены идентификатора пользователя", то программа получит права доступа к файлам и каталогам, которые имеет владелец файла программы (таким образом, рассматриваемый атрибут лучше называть "битом смены идентификатора владельца"). Это позволяет решать некоторые задачи, которые иначе было бы трудно выполнить. Самый характерный пример — команда смены пароля passwd . Все пароли пользователей хранятся в файле /etc/passwd, владельцем которого является суперпользователь root . Поэтому программы, запущенные обычными пользователями, в том числе команда passwd , не могут производить запись в этот файл. А, значит, пользователь как бы не может менять свой собственный пароль. Но для файла /usr/bin/passwd установлен "бит смены идентификатора владельца", каковым является пользователь root . Следовательно, программа смены пароля passwd запускается с правами root и получает право записи в файл /etc/passwd (уже средствами самой программы обеспечивается то, что пользователь может изменить только одну строку в этом файле).

Установить "бит смены идентификатора владельца" может суперпользователь с помощью команды

# chmod +s file_name

Аналогичным образом работает "бит смены идентификатора группы".

Еще один возможный атрибут исполняемого файла — это "бит сохранения задачи" или "sticky bit" (дословно — "бит прилипчивости"). Этот бит указывает системе, что после завершения программы надо сохранить ее в оперативной памяти. Удобно включить этот бит для задач, которые часто вызываются на выполнение, так как в этом случае экономится время на загрузку программы при каждом новом запуске. Этот атрибут был необходим на старых моделях компьютеров. На современных быстродействующих системах он используется редко.

Если используется цифровой вариант задания атрибутов в команде chmod , то цифровое значение этих атрибутов должно предшествовать цифрам, задающим права пользователя:

# chmod 4775 file_name

При этом веса этих битов для получения нужного суммарного результата задаются следующим образом:

    4 — "бит смены идентификатора пользователя",

    2 — "бит смены идентификатора группы",

    1 — "бит сохранения задачи (sticky bit)".

Если какие-то из этих трех битов установлены в 1, то несколько изменяется вывод команды ls -l в части отображения установленных атрибутов прав доступа. Если установлен в 1 "бит смены идентификатора пользователя", то символ "x" в группе, определяющей права владельца файла, заменяется символом "s". Причем, если владелец имеет право на выполнение файла, то символ "x" заменяется на маленькое "s", а если владелец не имеет права на выполнение файла (например, файл вообще не исполняемый), то вместо "x" ставится "S". Аналогичные замены имеют место при задании "бита смены идентификатора группы", но заменяется символ "x" в группе атрибутов, задающих права группы. Если равен 1 "бит сохранения задачи (sticky bit)", то заменяется символ "x" в группе атрибутов, определяющей права для всех остальных пользователей, причем "x" заменяется символом "t", если все пользователи могут запускать файл на выполнение, и символом "T", если они такого права не имеют.

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

# ls -l prim1

В. Костромин (kos at rus-linux dot net) - 4.5. Права доступа к файлам и каталогам

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

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

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