Dos fn 43h установитьопросить атрибут файла chmod


Содержание

Права на папки и файлы (unix/chmod)

Примеры использования команды chmod в символьном режиме

Права:

Добавить Забрать
+r -r
+w -w
+x -x

(Изначальное значение прав доступа файла file — rwxrwxrwx – полный доступ для всех) Отмена разрешения на выполнение файла для всех пользователей и групп:

Отмена записи в файл группой и остальными пользователями:

Разрешение выполнения файла владельцем:

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

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

Примеры использования команды chmod в абсолютном режиме

Разрешение чтения, записи, выполнения файла file всеми пользователями и группами (полный доступ):

Установка разрешений на чтение и запись для владельца, группы и остальных пользователей:

Установка полного доступа к файлу для владельца и лишь чтения для группы и остальных пользователей:

Установка полного доступа к файлу владельцу файла и запрет доступа группе и другим пользователям:

Установка разрешений на чтение и запись для владельца файла и лишь чтения для группы и остальных:

Установка разрешений на чтение и запись владельцу файлу и его группе и запрет доступа для других:

Установка доступа к файлу с разрешением чтения для всех пользователей и групп:

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

Разрешение доступа к файлу на чтение и выполнение пользователю и остальным и запрет доступа для группы:

Если вы хотите назначить права доступа на все файлы в текущем каталоге, просто поставьте после назначаемых прав доступа знак * (звездочка):

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

Результатом выполнения вышеприведенной команды будет рекурсивный “обход” всех подкаталогов текущего каталога и назначение полного доступа для всех пользователей и групп. В этой статье рассмотрены лишь некоторые примеры применения команды chmod. Если вы хотите узнать подробнее о работе команды chmod и правах доступа в Linux, обратите внимание на эту статью.

Блог системного администратора

Сайт посвящен тому с чем может столкнуться среднестатистический «эникейщик»

Изменение атрибутов прав доступа к файлам и папкам в Linux

Краткое описание четырех популярных программ предназначенных для управления правами на папки и файлы. Все программы входят в пакет gnu coreutils

  • chmod — Изменяет права доступа к файлу
  • chown — Изменяет владельца файла
  • chgrp — Изменяет группу владельца файла
  • chcon — Изменяет контекст безопасности файла (SELinux)

chmod

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

Синтаксис:
chmod [ОПЦИИ] ПРАВА1[,ПРАВА2. ] file1 [file2 …]
или при использовании символьного вида:
chmod [СУБЪЕКТ][ОПЕРАТОР][ПРАВА] file .

Опции:

  • -c, —changes — Подробно описывать действия для каждого файла, чьи права действительно изменяются.
  • -f, —silent, —quiet — Не выдавать сообщения об ошибке для файлов, чьи права не могут быть изменены.
  • -v, —verbose — Подробно описывать действие или отсутствие действия для каждого файла.
  • -R, —recursive — Рекурсивное изменение прав доступа для каталогов и их содержимого (игнорирует символические ссылки).
  • —help — Выдать подсказку на стандартный вывод и успешно завершиться.
  • —version — Выдать информацию о версии на стандартный вывод и успешно завершиться.

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

  • u — владельца файла;
  • g — других пользователей, входящих в группу владельца;
  • o — всех прочих пользователей;

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

Варианты записи прав с расшифровкой:


Право на запись (w) даёт пользователю возможность записывать или изменять файл, а право на запись для каталога — возможность создавать новые файлы или удалять файлы из этого каталога. Если на каталоге стоит возможность записи (w), то файл внутри этого каталога можно будет удалить, даже если право на запись для него не установлено. (В соответствии с концепцией файловой системы POSIX).

Использование команды в символьном виде:

Напомню синтаксис:
chmod [субъект][оператор][права] file .
Субъект определяет пользователей, которым будут меняться права.

  • U — Владелец файла
  • g — Пользователи, входящие в группу владельца файла
  • o — Остальные пользователи
  • a — Все пользователи (то же что ugo)

Оператор определяет операцию, которую будет выполнять chmod:

  • + — добавить определенные права
  • — — удалить определенные права
  • = — установить определенные права

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

  • r — чтение файла или содержимого каталога
  • w — запись в файл или в каталог
  • x — выполнение файла или чтение содержимого каталога
  • X — выполнение, если файл является каталогом или уже имеет право на выполнение для какого-нибудь пользователя
  • S — установленные атрибуты SU >Примеры:
    Установить права на чтение, выполнение и запись для владельца файла и на чтение для всех остальных:
    chmod 744 filename

То же но в символьном варианте:
chmod u=rwx,g=r,o=r filename

Установить права на чтение каталога catalog и всего его содержимого для всех пользователей:
chmod -R a+r ./catalog

Удалить атрибуты SUID и SGID файла filename:
chmod u-s,g-s ./filename

chown

chown — Программа изменяющая владельца и/или группу для указанных файлов. В качестве имени владельца/группы берётся первый аргумент, не являющийся опцией. Если задано только имя пользователя (или числовой идентификатор пользователя), то данный пользователь становится владельцем каждого из указанных файлов, а группа этих файлов не изменяется. Если за именем пользователя через двоеточие следует имя группы (или числовой идентификатор группы), без пробелов между ними, то изменяется также и группа файла. Для работы программе требуются права суперпользователя (root).

Синтаксис:
chown [ПАРАМЕТРЫ] [—dereference] [—reference=rfile] пользователь[:группа] файл…

Параметры:

  • -c, —changes — Выводит подробное описание действий для каждого файла, владелец которого действительно изменяется.
  • -f, —silent, —quiet — Не выдавать сообщения об ошибках для файлов, чей владелец не может быть изменён.
  • -h, —no-dereference — Изменять владельца символьной ссылки, а не с файла, на который она указывает. Данная опция доступна только если в вашей системе имеется системный вызов lchown.
  • -R, —recursive — Рекурсивно изменять владельца каталогов и их содержимого.
  • -v, —verbose — Выводить подробное описание действия (или отсутствия действия) для каждого файла.
  • —dereference — Изменить владельца файла, на который указывает символьная ссылка, вместо самой символьной ссылки.
  • —reference=rfile — Изменить владельца файла на того, который является владельцем файла.
  • —help — Выдать подсказку на стандартный вывод и успешно завершиться.
  • —version — Выдать информацию о версии на стандартный вывод и успешно завершиться.
  • — — Служит для обозначения конца списка опций.

Примеры:
Изменить владельца filename на user:
chown user /var/run/filename

Изменить владельца для myfile на myuser и идентификатор группы на mygroup:
chown myuser:mygroup myfile

Изменить идентификатор группы для /home на 111:
chown :111 /home

chgrp

chgrp — Программа предназначенная для изменения группы (GID) файлов. В отличие от команды chown, chgrp позволяет рядовым пользователям изменять группы, но только те, членами которых они являются. Группа может быть представлена как именем группы, так и её числовым идентификатором (GID).
Расширение GNU (начиная с GNU fileutils−4.0) позволяет использовать —reference=rfile в качестве определения группы: та же группа, что и у rfile.

Синтаксис:
chgrp [ОПЦИИ] группа файл…

Параметры:

  • -R — Рекурсивное изменение группы для каталогов и их содержимого. Возникающие ошибки не прекращают работы команды.
  • -h — Для каждого аргумента, который является символьной ссылкой, изменить группу самой этой ссылки, а не объекта, на который она указывает. Если система не поддерживает группы для символьных ссылок, то ничего не делать.
  • -H (полулогический метод) — (Используется совместно с -R.) Для каждого аргумента, который является символьной ссылкой на каталог, изменить группу самого каталога и всех файлов в иерархии этого каталога.
  • -L (логический метод) — (Используется совместно с -R.) Для каждого файла, указанного ли в командной строке, или встреченного при обходе дерева каталогов, если этот файл является символьной ссылкой на каталог, изменить группу самого этого каталога и всех файлов в иерархии этого каталога.
  • -P (физический метод) — (Используется совместно с -R.) Для каждого файла, указанного ли в командной строке, или встреченного при обходе дерева каталогов, если этот файл является символьной ссылкой, изменить группу самой этой ссылки, а не объекта, на который она указывает. Если система не поддерживает группы для символьных ссылок, то ничего не делать. Это поведение по умолчанию.
  • -c, —changes — Подробно описывать действия для каждого файла, чья группа действительно изменяется.
  • -f, —silent, —quiet — Не выдавать сообщения об ошибке для файлов, чья группа не может быть изменена.
  • -h, —no-dereference — Работать с самими символьными ссылками, а не с файлами, на которые они указывают. Данная опция доступна только если в вашей системе имеется системный вызов lchown.
  • -v, —verbose — Подробно описывать действие или отсутствие действия для каждого файла.
  • —help — Выдать подсказку на стандартный вывод и успешно завершиться.
  • —version — Выдать информацию о версии на стандартный вывод и успешно завершиться.
  • — — Завершает список опций.

Пример:
Изменить группы filename на guser:
chgrp ugser ./filename

chcon

chcon — вносит изменения в контекст SELinux для файлов. Изменения, вносимые с помощью команды chcon не сохраняются после перемаркирования файловой системы или выполнения команды /sbin/restorecon. (Так что для настройки контекста лучше использовать другие программы)

Синтаксис:
chcon [ПАРАМЕТРЫ]. CONTEXT FILE.
chcon [ПАРАМЕТРЫ]. —reference=RFILE FILE.

Параметры:

  • -c, —changes — Действует как описанный ниже параметр -v, выводя подробное описание для обработанного файла, но лишь в случае внесения изменений.
  • -h, —no-dereference — Действует на символьные ссылки (меняет контекст ссылки, доступно только если в вашей сборке присутствует системный вызов lchown который меняет владельца символьной ссылки)
  • -f, —silent, —quiet — скрывает большую часть сообщений об ошибках.
  • -l, —range — устанавливает указанный диапазон для целевого контекста безопасности.
  • —reference=RFILE — использует контекст RFILE вместо существующего значения.
  • -R, —recursive – требует рекурсивного изменения типа для каталога и всего его содержимого
  • -r, —role — Меняет роль в контексте безопасности для объекта.
  • -t, —type — Изменение типа файла. С этим параметром необходимо указать тип который должен быть установлен, например: httpd_sys_content_t, и имя файла или каталога.
  • -u, —user — Добавить пользователя в целевой контекст безопасности для файла
  • -v, —verbose — Выводит подробное описание для каждого обработанного файла
  • —help — Показать справку и выйти
  • —version — Показать информацию о версии программы и выйти

Примеры:
Установить для файла filename тип httpd_sys:
chcon -t httpd_sys_content_t filename

Установить тип httpd_sys для каталога catalogname и всего его содержимого:
chcon -R -t httpd_sys_content_t catalogname

Изменение атрибутов файла, просмотр, FASM

12.10.2015, 13:01

Изменение атрибутов
Нужно изменить атрибуты во всех файлах в текущей категории. Написать в тасм. Спасибо за помощь!

Имя файла [FASM]
Всем привет, вообщем такая проблема Есть код format mz mov ah,5bh mov cx,0 mov.

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

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


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

CHMOD (777, 755, 444): настройка прав доступа к файлам и папкам блога WordPress

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

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

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

CHMOD для пользователей и права доступа к файлам и папкам (директориям)

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

Согласитесь, грех не воспользоваться возможностью серьезно усилить безопасность вашего блога WordPress. Конечно, в этом случае редактирование некоторых файлов будет занимать немного больше времени, но тут уж приходится выбирать: либо оптимизация безопасности системы, либо. Ниже я постараюсь систематизировать информацию по CHMOD (правам доступа), потому что здесь есть несколько нюансов, которые необходимо знать вебмастеру. Итак, начнем.

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

  1. «user» — владелец файла
  2. «group» — один из членов группы, к которой принадлежит и владелец
  3. «world» — “остальной мир”, то есть все остальные пользователи

Если вы подключаетесь к серверу по протоколу FTP и заходите под своим логином и паролем, то будете идентифицированы как “user” (u), если кто-либо другой подключается по FTP, то будет определен как “group” (g), если же пользователь использует браузер, то попадает под категорию “world” (o).

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

  • r (read) — право на чтение данных файла
  • w (wright) — право на изменение содержимого (можно произвести только редактирование содержимого — запись, но удалять нельзя)
  • x (eXutive) — право на исполнение файла

Права доступа к папкам (директориям):

  • r — право на чтение папки (можно получить содержимое директории, то есть список файлов, входящих в нее)
  • w — право на изменение содержимого ( разрешение на создание и удаление объектов в директории, если вы имеете право на запись файлов, то удалять можно даже те объекты, которые вам не принадлежат)
  • x — право доступа в ту или иную директорию (особенность здесь такая, что если даже вы имеете все необходимые права на файл, который расположен “в глубине” директорий, но не имеете права доступа хотя бы к одной поддиректории на пути к этому объекту, то не сможете получить доступ к нему)

Значком дефиса «-» отмечают отсутствие каких-либо прав. Все эти права прописываются администратором, который получает эту возможность посредством ввода пароля. Если мы сможем установить максимально возможные ограничения на права доступа CHMOD к тем или иным файлам ресурса, то сможем практически исключить опасность реализации своего “черного дела” вирусным программам.

Для наглядности рассмотрим пример, когда владелец файла u имеет все возможные права: на чтение, запись и исполнение. Пользователи, отнесенные к категории g (group) — только на чтение и запись, все остальные (w) имеют только право на чтение. Тогда запись CHMOD будет выглядеть следующим образом: «rwx rw- r- -».

Права доступа к файлам и папкам в цифровом выражении: CHMOD (777, 755, 444)

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

  • r (чтение) — 4
  • w (запись) — 2
  • x (исполнение) — 1
  • — (нет прав) — 0

Теперь вновь разберем вышеприведенный пример для назначения прав доступа «rwx rw- r- -». Для отображения прав каждого пользователя применяется сложение его прав (r чтение + w запись + x исполнение). Таким образом часть записи для владельца файла u (user) — «rwx » превратится в 7 (4+2+1). Для члена группы g (group) — «rw-» в 6 (4+2+0) и для остальных пользователей o (world) — «r- -» в 4 (4+0+0). В качестве резюме представлю сводную таблицу со значениями прав доступа CHMOD, выраженными как в буквах, так и в цифрах:

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

Это основные комбинации, которые наиболее часто используются в работе вебмастера. Остальные формируются по аналогии. Если вы являетесь администратором сайта или блога, но работаете с проектом, не подсоединившись по FTP протоколу, вы также относитесь к группе “Остальные пользователи”. В таком случае при работе с сайтом в таком режиме нужно учитывать последнюю цифру в значении CHMOD.

Обычно на сервере, где находятся файлы вашего WordPress блога, на папки выставляются права доступа 755, а на файлы, которые входят в их состав, 644. Это справедливо, когда ресурс построен с использованием файлов HTML, однако в современных условиях для построения сайта массово используются CMS (системы управления контентом), к которым относится и WordPress. А здесь могут находиться объекты, в которые нужно производить записи от группы пользователей “world”. Могут находиться папки кэширования, в которые загружается контент, в том числе изображения.

Поэтому назначения прав CHMOD на те или иные файлы необходимо дифференцировать. Если вы входите в управление сайтом по FTP, то можете производить любые действия, однако во многих случаях мы работаем со своим проектом через браузер, а в этом случае могут возникнуть проблемы, если права слишком завышены, и, наоборот, если права доступа к тому или иному файлу (папке) занижены, то возрастает угроза безопасности. Посему на основании вышесказанного можно определить некоторые рекомендации по практическому применению CHMOD для блога WordPress:

777 — для папок, в которых постоянно происходит запись и стирание файлов (для папки кэширования)
755 — применительно к папкам, в которые постоянно записываются файлы, но не удаляются
666 — для файлов, в которые необходимо время от времени добавлять запись (например, файл .htaccess)
644 — для файлов, которые используются только для чтения (.php, .html и др.)

Также рекомендую на папки, находящиеся в корне сайта, поставить код доступа CHMOD 444.

Как настроить права доступа CHMOD с помощью FTP менеджера FileZilla

Если при работе с ресурсом будет необходимо внести какие-то изменения, но по причине наличия запрета на редактирование это сделать невозможно, нужно подсоединиться к серверу хостинга по протоколу FTP и изменить права доступа на 777. Однако после внесения в файл изменений рекомендуется вновь выставить прежний CHMOD.

Теперь подробнее о том, как проделать эту операцию с помощью ФТП (FTP) клиента FileZilla. Для этого открываем программу и соединяемся посредством FTP к серверу хостера. В левой части «Удаленный сервер» сначала отмечаем файлы, атрибуты которых будут подвергнуты редактированию:

И из контекстного меню, вызванного нажатием правой кнопки мыши, выбираем «Права доступа к файлу». После этого появится диалоговое окно «Изменить атрибуты файла»:

Здесь присваиваем нужные значения CHMOD для выбранного (или выбранных) файлов. Но это только, если вы выбирали файл или группу файлов. В случае, если вы хотите установить или изменить значения CHMOD для каталога (папки) при выборе «Изменить атрибуты файла» появится аналоговое окно, несколько отличное от расположенного выше, а именно:

Видите, здесь появились дополнительные настройки. Если вы поставите галочку напротив строки «Перенаправить во вложенные каталоги», это значит, что заданные права доступа будут применены ко вложенным в эту директорию каталогам (папкам) либо файлам. При отмеченной галочке ниже расположенная группа настроек станет активной и вам потребуется еще выбрать, как нужно применять настройки: ко всем файлам и каталогам, только ко вложенным файлам либо только к каталогам.

На этом, пожалуй закончу сегодня. Надеюсь, теперь вы знакомы с процедурой назначения прав доступа CHMOD к файлам и папкам и сможете теперь применить ее на практике. Если статья понравилась, не забудьте поделиться с друзьями и подписывайтесь на обновления блога по e-mail и RSS, чтобы не пропустить актуальные материалы.

Примеры команд Chmod в Linux

Рано или поздно в мире Linux вам придется изменить разрешение для файла или каталога. Это делается с помощью команды chmod.

В этой статье мы поделимся с вами некоторыми практическими примерами команды chmod. А также объясним некоторые популярные термины, такие как chmod 777 или chmod 755 или chmod -r.

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

Команда Chmod в Linux


Что такое CHMOD? chmod обозначает режим изменения. Эта команда используется для изменения режима доступа.

Но подождите! Разве это не предназначено для изменения разрешения? На самом деле, в первые дни Unix разрешения назывались режимом доступа. Вот почему эта конкретная команда была названа chmod.

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

Прежде чем вы увидите, как использовать chmod, вы должны знать его параметры.

  • -v : выводить диагностику для каждого обработанного файла
  • -c : нравится многословно, но сообщать только при внесении изменений
  • –Reference = FILE: использовать режим FILE вместо значений MODE
  • – R : рекурсивно изменять права

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

Примеры команд Chmod в Linux

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

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

Вы можете сделать то же самое в символическом режиме.

Если вам нужен простой способ узнать разрешение файла Linux в числовом или символьном режиме, вы можете использовать этот калькулятор chmod. Просто выберите соответствующие разрешения, и они сообщат вам разрешения как в абсолютном, так и в символическом режиме.

Изменить разрешение на все файлы в каталоге рекурсивно

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

chmod 777: все для всех

Возможно, вы слышали о chmod 777. Эта команда предоставит права на чтение, запись и выполнение владельцу, группе и общедоступным.

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

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

chmod + x или chmod a + x: выполнение для всех

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

CHMOD 755: только владелец может писать, читать и выполнять для всех

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

chmod 700: все только для владельца

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

CHMOD 666: никто не выполняет

Чтобы дать владельцу, группе и всем остальным права на чтение и запись в файл.

CHMOD 644: каждый может читать, только владелец может писать

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

CHMOD 600: владелец может читать и писать, больше ни для кого

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

Примеры команд chmod в символическом режиме

В приведенных выше примерах мы использем битовую маску для установки нового РЕЖИМА. Это легко рассчитать. Требуется простое дополнение. Учтите следующее:

Теперь вы можете легко увидеть, откуда у нас 755, 666, 640 . Вам не нужно использовать битовую маску для установки нового разрешения. Доступен более читабельный способ. Этот второй формат выглядит так:

Хотя это может показаться сложным, это довольно просто. Сначала вы набираете chmod и нужные вам ОПЦИИ. Затем спросите себя: для кого я меняю права доступа? Пользователь, Группа, Другие. Это даст вам первый раздел команды:

На следующем шаге для завершения команды вы решаете добавить биты прав доступа (+), удалить права доступа (-) или установить разрешение ( . Последнее добавит или удалит разрешения по мере необходимости, чтобы установить разрешение по вашему запросу.

В следующем разделе вы решаете РЕЖИМ разрешения применить (+), удалить (-) или сопоставить ( . Вы можете указать любую комбинацию RWX.

В следующем примере будет применено разрешение на чтение/запись для файла для владельца. Подробная опция заставит chmod сообщать о действии.

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

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

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

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

Слово предупреждения!


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

Мы надеемся, что эти примеры команд chmod были полезны для вас. Есть вопрос или предложение? Пожалуйста, оставьте комментарий ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Команда chmod в Linux

Команда chmod, команда chown и команда chgrp.

Команда chmod

Команда chmod предназначена для изменения прав доступа файлов и директорий в Linux. Название команды произошло от словосочетания «change mode».

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

Разрешения можно задавать двумя способами:

  • Числом
  • Символами

Изменение прав доступа командой chmod

Запись прав доступа числом

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

  • Первая цифра используется для указания прав доступа для пользователя.
  • Вторая цифра для группы.
  • Третья для всех остальных.

В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):

Число Разрешения Символьное обозначение
разрешения отсутствуют
1 x — запуск —x
2 w — изменение -w-
3 x+w — запуск+изменение -wx
4 r — чтение r—
5 r+x — чтение+запуск r-x
6 r+w — чтение+изменение rw-
7 r+w+x — чтение+изменение+запуск rwx

Рассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:

Это означает (см. таблицу выше), что для файла myfile мы устанавливаем права доступа 7 6 4 , которые означают:

  • 7 — права для владельца-пользователя. Владелец файла может читать, изменять и запускать файл (r+w+x).
  • 6 — права для группы. Пользователи, которые принадлежат группе могут читать и изменять файл (r+w).
  • 4 — права для всех остальных. Все остальные могут только читать файл (r).

Если записать 764 с помощью символов (см. таблицу), то мы получим: «rwxrw-r-».

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

Числовое
обозначение
«rwx»-обозначение Описание
400 -r——— Владелец файла может только читать файл. Для всех остальных все действия с файлом запрещены.
644 -rw-r—r— Все пользователи могут читать файл. Владелец может изменять файл.
660 -rw-rw—- Владелец и группа могут читать и изменять файл. Для всех остальных все действия с файлом запрещены.
664 -rw-rw-r— Все могут читать файл. Владелец и группа могут изменять.
666 -rw-rw-rw- Все могут читать и изменять файл.
700 -rwx—— Владелец может читать, изменять и запускать файл. Для всех остальных все действия с файлом запрещены.
744 -rwxr—r— Все могут читать файл. Владелец может также изменять и запускать файл.
755 -rwxr-xr-x Все могут читать и запускать файл. Владелец может также изменять файл.
777 -rwxrwxrwx Все пользователи могут читать, изменять и редактировать файл.

Запись прав доступа символами

Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «» и такие символы как, например, «g» или «u».

Общий синтаксис можно записать примерно так:

Обозначения для владельцев файла следующие:

Обозначение Описание
u Владелец-пользователь.
g Группа.
o Все остальные.
a Вообще все.

Математические операции означают следующее:

Оператор Описание
+ Добавляет к текущим правам доступа новое разрешение.
Удаляет из текущих прав доступа определенное разрешение.
= Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми).

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

В данном случае мы не используем обозначения для владельцев, а значит разрешения устанавливаются для всех пользователей. «+x» означает — установить разрешение на запуск (x) файла для всех пользователей. Это эквивалентно выполнению команды: chmod a+x myfile1 .

Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).

Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.

Разрешаем владельцу (u) и группе (g) запускать файл (x).

Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.

Рекурсивное изменение прав доступа


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

И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:

Видео-обзор команды chmod

Команда chown — изменение владельца и группы

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

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

Например, установим для файла myfile нового владельца vasya:

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

Например, установим для файла myfile нового владельца vasya и группу sambashare:

Команда chgrp — изменение группы

Есть еще одна команда — chgrp. Она позволяет изменить только группу. Например:

Резюме

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

Разрешения задаются для владельца, группы и для всех остальных.

Есть три вида разрешений — r — чтение, w — изменение, x — запуск.

Чтобы изменить разрешения у файла используется команда chmod.

Чтобы изменить владельца или группу используется команда chown.

Чтобы изменить группу используется chgrp.

Dos fn 43h: установить/опросить атрибут файла chmod

Просто блог. Памятки, прежде всего для себя, о том как была решена та или иная задача.

23 июля 2009 г.

Как рекурсивно массово установить chmod на папки и файлы?

Во время проведения очередного бэкапа заметил в ISP Manager одну неприятную особенность: когда распаковываешь архив, извлечённым файлам устанавливается нежелательный chmod — для папок 777, для файлов — 666 (многообещающе, неправда ли). В случае когда файлов и вложенных директорий много смена им всем прав вручную — убийственное занятие. Благо, FirstVDS предоставляет root-доступ, поэтому проблема была решена из консоли по ssh следующими командами:

Заходим в целевую директорию

Массово устанавливаем chmod 644 на всё

Массово устанавливаем chmod 755 отдельно на папки. Файлы остаются с правами 644.

Операционная система MS-DOS

3.7. Изменение атрибутов, времени и даты файлов

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

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

Для работы с полем атрибутов файла предназначена функция 43h прерывания INT 21h:

На входе: AH = 43h
AL = выполняемая операция:
00h чтение атрибутов файла
01h установка новых атрибутов файла
CX = новые атрибуты файла, если AL = 01h:
Биты:
5 — бит архивации
4 — каталог
3 — метка диска
2 — системный файл
1 — скрытый файл
0 — только читаемый файл
DS:DX = путь файла в формате ASCIIZ
На выходе: AX = Код ошибки, если был установлен в 1 флаг переноса CF
CX = Если не было ошибки, этот регистр содержит атрибуты файла

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

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

Для работы с полями времени и даты последней модификации файла предназначена функция 57h прерывания INT 21h:

На входе: AH = 57h
AL = выполняемая операция:
00h чтение даты и времени
01h установка даты и времени
BX = файловый индекс открытого файла
CX = время
DX = дата
На выходе: AX = Код ошибки, если был установлен в 1 флаг переноса CF
CX = Если не было ошибки, этот регистр содержит время последнего изменения файла
DX = Если не было ошибки, этот регистр содержит дату последнего изменения файла

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

Формат поля времени:

Стандартные библиотеки трансляторов Microsoft QC 2.5 и C 6.0 содержат функции для чтения и изменения атрибутов файлов и времени/даты их последней модификации.

Для определения атрибутов файла можно использовать функцию _dos_getfileattr():

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

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

Для изменения атрибутов файла можно использовать функцию _dos_setfileattr():


Параметр attrib может принимать следующие значения:

_A_ARCH установка бита архивации
_A_HIDDEN файл скрытый
_A_NORMAL обычный файл
_A_RDONLY только читаемый файл
_A_SUBDIR каталог
_A_SYSTEM системный файл
_A_VOLID метка диска

Для определения времени последней модификации файла можно использовать функцию _dos_getftime():

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

Если вам надо изменить время или дату последней модификации файла, используйте функцию _dos_setftime():

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

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

Программа сначала считывает байт атрибутов, затем инвертирует соответствующий бит и устанавливает новое значение байта атрибутов.

Атрибуты файлов и права доступа к файлу

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

– тип файла (обычный файл, каталог, специальный файл и т. п.);

– пароль для доступа к файлу;

– информация о разрешенных операциях доступа к файлу;

– времена создания, последнего доступа и последнего изменения;

– текущий размер файла;

– максимальный размер файла;

– признак «только для чтения»;

– признак «скрытый файл»;

– признак «системный файл»;

– признак «архивный файл»;

– признак «временный» (удалить после завершения процесса);

– длина записи в файле;

– указатель на ключевое поле в записи;

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

Значения атрибутов файлов могут непосредственно содержаться в каталогах, как это сделано в файловой системе MS-DOS. Другим вариантом является размещение атрибутов в специальных таблицах, когда в каталогах содержатся только ссылки на эти таблицы. Такой подход реализован, например, в файловой системе ufs ОС UNIX. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла – так называемая ufs-таблица, в которой сосредоточены значения атрибутов файла. В том и другом вариантах каталоги обеспечивают связь между именами файлов и собственно файлами.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Для студентов недели бывают четные, нечетные и зачетные. 9438 — | 7438 — или читать все.

188.64.174.135 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Как изменить права у файла при помощи chmod BASH

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

оператор описание
+ добавить определенные права
удалить определенные права
= установить определенные права

С ключом -R команда chmod будет рекурсивно накидывать всем файлам права 777 на выполнение. Даже если в папке folder одна тысяча файлов, то все они будут иметь права 777 или rwx.

Вы можете проверить свои права. Предлагаю простенький скрипт.

Таблица с правилами владельца

значение описание
u владелец
g группа
o прочие пользователи
a все пользователи (или ugo)
значение описание
r атрибут чтения. разрешает читать файл
w атрибут записи, разрешает редактировать, удалять, переименовывать или добавлять файлы
x атрибут выполнения, позволяющий запускать на выполнение
s suid — атрибут, позволяющий любому пользователю запустить файл на выполнение с правами его владельца sudo

Символьное представление выглядит примерно так: r:w:x|r:w:x|r:w:x. Я специально поставил разделитель |, чтобы показать три блока.

Числовое представление выглядит примерно так: 4:2:1|4:2:1|4:2:1.

Владельцы: u | g | o | a. Например, chmod u=rwx,g=rx,o=rx filename.txt — эта команда установит права «rwxr-xr-x» (755) для файла filename.txt

chmod 0777 filename.txt — эта команда разрешает всем все действия (чтение, запись, выполнение) с файлом.

Воспользуйтесь выводом команды ls -l. В одном из столбцов будет символьное представление прав файла.

значение описание
1 —x
2 -w-
3 -wx
4 r—
5 r-x
6 rw-
7 rwx

Например, -rw-rw-rw равносильно chmod 666 file.txt. Предлагаю вам простой способ для накидывания прав. Запомнить все таблицы сложно и не нужно. Вы добавляете большие права файлу chmod 777 file.txt и потом лишаете его некоторых прав. Допустим файлы нельзя выполнять chmod o-x file.txt. Прочие пользователи (не root) не смогут запускать файл, но смогут читать и записывать информацию в файл.

Довольно часто нужно создать папку с нужными правами. Смотрите статью как создать папки mkdir BASH. Если при создании файла указали не верные права, то вам не нужно заново создавать файл. Вы можете воспользоваться командой chmod с нужными ключами.

Вы можете изменить владельца файла, директории или ссылки. Файлы с включённым режимом StickyBit может удалить только владелец файла (u=user2).

Илон Маск рекомендует:  Выводим цветной текст на форме под любым углом
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL