mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

      CHMOD(1)                                               CHMOD(1)

      НАЗВАНИЕ
              chmod - изменение режима доступа к файлам

      СИНТАКСИС
              chmod  режим файл ...

      ОПИСАНИЕ
              Права  доступа  к указанным файлам (среди которых могут
              быть каталоги) изменяются в  соответствии  с  указанным
              режимом.  Режим  может быть задан в абсолютном или сим-
              вольном виде.

              Абсолютный  вид - восьмеричное число, являющееся пораз-
              рядным ИЛИ следующих режимов:

              04000   При выполнении переустановить действующий иден-
                      тификатор пользователя.

              020#0   При выполнении переустановить действующий иден-
                      тификатор группы, если # есть 7, 5,  3  или  1;
                      учитывать блокировку доступа, если # есть 6, 4,
                      2 или 0.

              01000   Бит навязчивости [см. chmod(2)].

              00400   Доступен для чтения владельцем.

              00200   Доступен для записи владельцем.

              00100   Доступен  для  выполнения  (в случае   каталога
                      - для просмотра) владельцем.

              00040   Доступен для чтения членами группы.

              00020   Доступен для записи членами группы.

              00010   Доступен  для  выполнения  (просмотра)  членами
                      группы.

              00004   Доступен для чтения прочими пользователями.

              00002   Доступен для записи прочими пользователями.

              00001   Доступен  для  выполнения  (просмотра)  прочими
                      пользователями.

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

                   Владелец  Группа  Прочие
                     (u)       (g)     (o)
                     rwx       rwx     rwx

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

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

                   [кому]  операция  права

              Часть кому есть комбинация букв u,  g  и  o  (владелец,
              члены группы и прочие пользователи соответственно). Ес-
              ли часть кому опущена или указано a, то это эквивалент-
              но ugo.

              Операция может быть: + (добавить право), - (лишить пра-
              ва), = (в пределах данного класса присвоить права абсо-
              лютно, то есть добавить указанные права и отнять неука-
              занные).

              Права - любая осмысленная комбинация следующих букв:

              r    Право на чтение.

              w    Право на запись.

              x    Право на выполнение (поиск в каталоге).

              s    При выполнении переустанавливать действующий иден-
                   тификатор пользователя или группы.

              t    После выполнения программы сохранять  сегмент  ко-
                   манд (бит навязчивости).

              l    Учет блокировки доступа.

              Опустить часть права можно только если операция есть  =
              (для лишения всех прав).

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

                   chmod u+w,go+x f1

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

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

                   chmod g+x,+l f2
                   chmod g+s,+l f3

              Попытка их выполнения вызовет соответствующую  диагнос-
              тику.

              Изменить режим доступа к файлу может только его  владе-
              лец или суперпользователь. Бит навязчивости может уста-
              новить только суперпользователь. Чтобы  добавить  право
              переустановки идентификатора группы, надо  быть  членом
              этой группы; кроме того, для членов группы должно  быть
              установлено право выполнения.

              Для просмотра прав доступа и контроля при их  изменении
              используется команда ls(1) с флагом -l. Права переуста-
              новки идентификаторов пользователя и группы  отмечаются
              буквой s на месте соответствующей буквы x: малой s, ес-
              ли соответствующая категория пользователей имеет  право
              x, и большой S - если не имеет; право t  отмечается  на
              месте последней буквы x: малой t, если прочие пользова-
              тели имеют право выполнять файл, и большой T - если  не
              имеют. Право l отмечается на месте права x  для  членов
              группы.

      ПРИМЕРЫ
              1. Чтобы установить права, позволяющие владельцу читать
              и писать в файл, а членам группы и прочим пользователям
              только  читать,  надо  сложить 0400, 0200, 0040 и 0004.
              Таким образом, команду можно записать двумя способами:

                   chmod 644 f1
                   chmod u=rw,go=r f1

              2. Позволить всем выполнять файл f2:

                   chmod +x f2

              3. Учитывать блокировку доступа к файлу f3:

                   chmod +l f3

              4. Дать всем права на чтение  запись  и  выполнение,  а
              также на переустановку идентификатора группы при выпол-
              нении файла f4:

                   chmod =rwx,g+s f4
                   chmod 2777 f4

      СМ. ТАКЖЕ
              ls(1).
              chmod(2) в Справочнике программиста.



CHMOD(2)                                               CHMOD(2)

НАЗВАНИЕ 
        chmod - изменение режима доступа к файлу

СИНТАКСИС 
        int chmod (path, mode)
        char *path;
        int mode;

ОПИСАНИЕ 
        Аргумент path является  указателем  на  маршрутное  имя
        файла. Системный вызов chmod устанавливает режим досту-
        па к указанному файлу в соответствии с битным шаблоном,
        содержащимся в аргументе mode.

        Биты прав доступа интерпретируются следующим образом:

        04000   При выполнении переустановить действующий иден-
                тификатор пользователя.

        020#0   При выполнении переустановить действующий иден-
                тификатор группы, если # есть 7, 5,  3  или  1;
                учитывать блокировку доступа, если # есть 6, 4,
                2 или 0.

        01000   Бит  навязчивости  -  сохранить  сегмент команд
                после завершения выполнения.

        00400   Доступен для чтения владельцем.

        00200   Доступен для записи владельцем.

        00100   Доступен для выполнения (в  случае  каталога  -
                для просмотра) владельцем.

        00040   Доступен для чтения членами группы.

        00020   Доступен для записи членами группы.

        00010   Доступен  для  выполнения  (просмотра)  членами
                группы.

        00004   Доступен для чтения прочими пользователями.

        00002   Доступен для записи прочими пользователями.

        00001   Доступен  для  выполнения  (просмотра)  прочими
                пользователями.

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

        Если действующий идентификатор пользователя процесса не
        равен идентификатору суперпользователя, то бит навязчи-
        вости (01000) обнуляется.

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

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

        Если бит переустановки идентификатора группы при выпол-
        нении  равен  1,  а бит 00010 (выполнение или поиск для
        группы) обнуляется, то для обычного файла  устанавлива-
        ется режим учета блокировки, что может сказаться на вы-
        полнении последующих вызовов open(2), creat(2), read(2)
        и write(2) для этого файла.

        Системный вызов chmod завершается неудачей и режим дос-
        тупа не изменяется, если выполнено хотя бы одно из сле-
        дующих условий:

        [ENOTDIR]   Компонент маршрута не является каталогом.

        [ENOENT]    Указанный файл не существует.

        [EACCES]    Для компонента маршрута  отсутствует  право
                    на поиск.

        [EPERM]     Действующий идентификатор  пользователя  не
                    равен идентификатору  владельца  файла  или
                    суперпользователя.

        [EROFS]     Указанный файл расположен в файловой систе-
                    ме, доступной только на чтение.

        [EFAULT]    Аргумент path указывает за пределы отведен-
                    ного процессу адресного пространства.

        [EINTR]     Во время выполнения системного  вызова  пе-
                    рехвачен сигнал.

        [ENOLINK]   Маршрутное имя path указывает на  удаленный
                    компьютер, связи с которым в данный  момент
                    нет.

        [EMULTIHOP] Компоненты path требуют многократного обра-
                    щения к удаленным компьютерам.

СМ. ТАКЖЕ 
        chown(2),  creat(2),   fcntl(2),   mknod(2),   open(2),
        read(2), write(2).
        chmod(1) в Справочнике пользователя.

ДИАГНОСТИКА 
        При успешном завершении результат  равен  0;  в  случае
        ошибки возвращается -1, а переменной errno присваивает-
        ся код ошибки.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк