Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

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 присваивается код ошибки.

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...