Chmod x что это
Перейти к содержимому

Chmod x что это

  • автор:

Linux chmod command

In Unix-like operating systems, the chmod command sets the permissions of files or directories.

This page describes the GNU/Linux version of chmod.

Description

On Unix-like operating systems, a set of flags associated with each file determines who can access that file, and how they can access it. These flags are called file permissions or modes, as in "mode of access." The command name chmod stands for "change mode." It restricts the way a file can be accessed.

For more information about file modes, see: What are file permissions, and how do they work? in our documentation of the umask command. It contains a comprehensive description of how to define and specify file permissions.

In general, chmod commands take the form:

If no options are specified, chmod modifies the permissions of the file specified by file name to the permissions specified by permissions.

permissions defines the permissions for the owner of the file (the "user"), members of the group who owns the file (the "group"), and anyone else ("others"). There are two ways to represent these permissions: with symbols (alphanumeric characters), or with octal numbers (the digits 0 through 7).

Let's say you are the owner of a file named myfile, and you want to set its permissions so that:

  1. the user can read, write, and execute it;
  2. members of your group can read and execute it; and
  3. others may only read it.

This command does the trick:

This example uses symbolic permissions notation. The letters u, g, and o stand for "user", "group", and "other". The equals sign ("=") means "set the permissions exactly like this," and the letters "r", "w", and "x" stand for "read", "write", and "execute", respectively. The commas separate the different classes of permissions, and there are no spaces between them.

Here is the equivalent command using octal permissions notation:

Here the digits 7, 5, and 4 each individually represent the permissions for the user, group, and others, in that order. Each digit is a combination of the numbers 4, 2, 1, and 0:

  • 4 stands for "read",
  • 2 stands for "write",
  • 1 stands for "execute", and
  • 0 stands for "no permission."

So 7 is the combination of permissions 4+2+1 (read, write, and execute), 5 is 4+0+1 (read, no write, and execute), and 4 is 4+0+0 (read, no write, and no execute).

Syntax

Options

-c, —changes Like —verbose, but gives verbose output only when a change is actually made.
-f, —silent, —quiet Quiet mode; suppress most error messages.
-v, —verbose Verbose mode; output a diagnostic message for every file processed.
—no-preserve-root Do not treat '/' (the root directory) in any special way, which is the default setting.
—preserve-root Do not operate recursively on '/'.
—reference=RFILE Set permissions to match those of file RFILE, ignoring any specified MODE.
-R, —recursive Change files and directories recursively.
—help Display a help message and exit.
—version Output version information and exit.

Technical description

chmod changes the file mode of each specified FILE according to MODE, which can be either a symbolic representation of changes to make, or an octal number representing the bit pattern for the new mode bits.

The format of a symbolic mode is:

[ugoa. ][[+-=][perms. ]. ]

where perms is either zero or more letters from the set r, w, x, X, s and t, or a single letter from the set u, g, and o. Multiple symbolic modes can be given, separated by commas.

A combination of the letters u, g, o, and a controls which users' access to the file will be changed: the user who owns it (u), other users in the file's group (g), other users not in the file's group (o), or all users (a). If none of these are given, the effect is as if a were given, but bits that are set in the umask are not affected.

The operator + causes the selected file mode bits to be added to the existing file mode bits of each file; causes them to be removed; and = causes them to be added and causes unmentioned bits to be removed except that a directory's unmentioned set user and group ID bits are not affected.

The letters r, w, x, X, s and t select file mode bits for the affected users: read (r), write (w), execute (x), execute only if the file is a directory or already has execute permission for some user (X), set user or group ID on execution (s), restricted deletion flag or sticky bit (t). For directories, the execute options X and X define permission to view the directory's contents.

Instead of one or more of these letters, you can specify exactly one of the letters u, g, or o: the permissions granted to the user who owns the file (u), the permissions granted to other users who are members of the file's group (g), and the permissions granted to users that are in neither of the two preceding categories (o).

A numeric mode is from one to four octal digits (07), derived by adding up the bits with values 4, 2, and 1. Omitted digits are assumed to be leading zeros. The first digit selects the set user ID (4) and set group ID (2) and restricted deletion or sticky (1) attributes. The second digit selects permissions for the user who owns the read (4), write (2), and execute (1); the third selects permissions for other users in the file's group, with the same values; and the fourth for other users not in the file's group, with the same values.

chmod never changes the permissions of symbolic links; the chmod system call cannot change their permissions. However, this is not a problem since the permissions of symbolic links are never used. However, for each symbolic link listed on the command line, chmod changes the permissions of the pointed-to file. In contrast, chmod ignores symbolic links encountered during recursive directory traversals.

Setuid and setgid bits

chmod clears the set-group-ID bit of a regular file if the file's group ID does not match the user's effective group ID or one of the user's supplementary group IDs, unless the user has appropriate privileges. Additional restrictions may cause the set-user-ID and set-group-ID bits of MODE or RFILE to be ignored. This behavior depends on the policy and functionality of the underlying chmod system call. When in doubt, check the underlying system behavior.

chmod preserves a directory's set-user-ID and set-group-ID bits unless you explicitly specify otherwise. You can set or clear the bits with symbolic modes like u+s and g-s, and you can set (but not clear) the bits with a numeric mode.

Restricted deletion flag (or "sticky bit")

The restricted deletion flag or sticky bit is a single bit, whose interpretation depends on the file type. For directories, it prevents unprivileged users from removing or renaming a file in the directory unless they own the file or the directory; this is called the restricted deletion flag for the directory, and is commonly found on world-writable directories like /tmp. For regular files on some older systems, the bit saves the program's text image on the swap device so it loads quicker when run; this is called the sticky bit.

Viewing permissions in the file listing

A quick and easy way to list a file's permissions are with the long listing (-l) option of the ls command. For example, to view the permissions of file.txt, you could use the command:

. which displays output that looks like the following:

Here's what each part of this information means:

The first character represents the file type: "" for a regular file, "d" for a directory, "l" for a symbolic link.
rwx The next three characters represent the permissions for the file's owner: the owner may read from, write to, ore xecute the file.
rw- The next three characters represent the permissions for members of the file group. Any member of the file's owning group may read from or write to the file. The final dash is a placeholder; group members do not have permission to execute this file.
r— The permissions for "others" (everyone else). Others may only read this file.
1 The number of hard links to this file.
hope The file's owner.
hopestaff The group to whom the file belongs.
123 The size of the file in blocks.
Feb 03 15:36 The file's mtime (date and time when the file was last modified).
file.txt The name of the file.

Examples

Set the permissions of file.htm to "owner can read and write; group can read only; others can read only".

Recursively (-R) Change the permissions of the directory myfiles, and all folders and files it contains, to mode 755. User can read, write, and execute; group members and other users can read and execute, but cannot write.

Change the permissions for the owner of example.jpg so that the owner may read and write the file. Do not change the permissions for the group, or for others.

Set the "Set-User-ID" bit of comphope.txt, so that anyone who attempts to access that file does so as if they are the owner of the file.

The opposite of the command above; un-sets the SUID bit.

Set the permissions of file.cgi to "read, write, and execute by owner" and "read and execute by the group and everyone else".

Set the permission of file.txt to "read and write by everyone.".

Accomplishes the same as the command above, using symbolic notation.

Related commands

chown — Change the ownership of files or directories.
getfacl — Display file access control lists.
ls — List the contents of a directory or directories.

Ezoic

report this ad

Команда chmod: как поменять права доступа к файлам и директориям

Для всех файлов и директорий Linux устанавливаются следующие права доступа:

  • разрешение чтение содержимого файла
  • разрешение на изменение содержимого файла
  • разрешение на исполнение файла

Эти три разрешения устанавливаются отдельно для следующих групп:

  • владелец файла
  • группа владельцев файла, к которой он принадлежит
  • все остальные

Условные обозначения прав доступа и пользователей в chmod

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

Каждую восьмеричную цифру можно представить как три двоичные цифры. Три цифры соответствуют трём параметрам режима доступа: чтение, запись, выполнение. Поэтому права доступа можно представить в виде трёх двоичных цифр, которые можно записать как одну восьмеричную цифру.

Следующая таблица поможет вам понять, что имеется ввиду.

Восьмеричное число Двоичное число Файловый режим
0 000
1 001 —x
2 010 -w-
3 011 -wx
4 100 r—
5 101 r-x
6 110 rw-
7 111 rwx

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

Передав аргумент «600», мы смогли установить разрешения владельца на чтение и запись, удалив при этом все разрешения группы владельца и всех остальных. Хотя запоминание восьмеричного бинарного отображения может показаться неудобным, вам обычно нужно использовать только несколько часто используемых: 7 (rwx), 6 (rw-), 5 (r-x), 4 (r—) и 0 (—).

Либо можно запомнить значение одиночных прав доступа и складывать их значения для получения любых комбинаций: 4 (r—), 2 (-w-), 1 (—x). После того, как вы их запомнили, можно получить любую комбинацию, для прав чтения и записи это 6 (4+2) (rw-), для прав записи и выполнения это 3 (2+1) (-wx), для прав чтения и выполнения это 5 (4+1) (r-x)

chmod также поддерживает символическую запись для указания режимов файлов. Символическая запись делится на три части: на кого повлияет изменение, какая операция будет выполнена и какое разрешение будет установлено. Чтобы указать, на кого это влияет, комбинация символов «u», «g», «o» и «a» используется следующим образом:

Сокращение от «пользователь», но означает владельца файла или каталога.

Сокращение от «других», но означает все остальные.

Сокращено от «все». Сочетание «u», «g» и «o».

Если символ не указан, будет принято «все». Операция может быть «+», указывающим, что разрешение должно быть добавлено, «», указывающим, что разрешение должно быть удалено, или «=», указывающим, что должны применяться только указанные разрешения, и что все остальные должны быть удалены.

Права доступа указываются символами «r», «w» и «x». Вот несколько примеров символической записи:

Обозначение Значение
u+x Добавить разрешение на выполнение для владельца.
u-x Удалить разрешение на выполнение от владельца.
+x Добавить разрешение на выполнение для владельца, группы и всех остальных. Эквивалент a+x.
o-rw Удалить права на чтение и запись у любого пользователя, кроме владельца и группы владельцев.
go=rw Установить для группы владельцев и всех, кроме владельца, права на чтение и запись. Если владелец группы или все остальные ранее имели разрешения на выполнение, эти разрешения удаляются.
u+x,go=rx Добавить разрешение на выполнение для владельца и установить разрешения на чтение и выполнение для группы и других пользователей. Несколько записей могут быть разделены запятыми.

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

Как рекурсивно поменять права доступа в chmod

Для рекурсивного изменения прав доступа используйте опцию -R.

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

Как скопировать права доступа с файла на другие файлы

Если вам нужно установить точно такие же права доступа, как и у другого файла, то используйте опцию —reference=ФАЙЛ_ОБРАЗЕЦ. В этом случае вместо указанного РЕЖИМА, будут установлены права доступа такие же, как и у указанного ФАЙЛА_ОБРАЗЦА.

Липкий бит (sticky bit)

На самом деле, режимы не ограничиваются тремя буквами rwx, полный набор такой: rwxXst. Их значение:

Команда chmod Linux и примеры изменения прав доступа

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

chmod

Что такое CHMОD?

Парадигма любой операционной системы строится на совокупности правил, регламентирующих порядок обращения к объектам информации. Механизм разрешений Linux был изобретен еще в 1970-х годах. В Unix-системах функция разграничения доступа реализована в виде девяти битов режима. С ее помощью описывается, владельцы каких учетных записей могут читать содержимое фaйлов, выполнять их изменение (редактировать) и запускать фaйлы.

chmod — Википедия

Набор этих девяти битов и трех битов, ответственных за возможность запуска исполняемых фaйлов, составляют код режима доступа к файлу . Эти 12 битов режима записаны в 16-битовое поле индексного дескриптора. Там же хранятся четыре дополнительных бита, которые определяют тип файла. Эти четыре бита не могут быть изменены — они прописываются сразу при создании фaйлов. Команда chmod (сокращение от английского change mode – изменить режим) дает возможность обладателю фaйлa (или суперпользователю) отредактировать содержимое биты режима – изменить правила доступа к данным. Она включена в серию стандартов POSIX, пакет GNU Core Utilities.

gnu

Команда chmod представляется такой конструкцией:

chmod [параметры] задание_разрешений_доступа фaйл

Сущeствуют два варианта oписания прав дoступа – символьный и с помощью восьмеричной системы обозначения (используя числа в диапазоне 0…7).

Параметpы chmod

-c – отобразить сведения о любых изменениях

-f – не выводить на экран ошибки

-v – показать подробную информацию

-R – использовать рекурсивную обработку данных

–help – отобразить документацию

–version – сведения о веpсии

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

    обладатель данных (то есть, тот, кто их создал)

Основные группы принято обозначать первыми буквами: u – user, g – group и o – other.

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

  • r – чтение;
  • w – запись;

Изменение прав при помощи символьной нотации и чисел

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

    для пользователя u ser разрешено чтение ( r ead), запись ( w rite) и возможность его запуска (e x ecute);

В этом случае следует использовать команду вида:

chmod u=rwx,g=rx,o=r имяфайла

Знак равенства « = » в этом выражении обозначает строгое определение права доступа. В строке можно также использовать знак « + » — для добавления указанных режимов к указанным классам и знак « — » — для удаления указанных режимов из указанных классов.

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

Правам доступа для чтения, записи и запуска фaйла соответствуют следующие числовые значения: чтение – четыре, запись – два, запуск – один, не установленные права доступа – ноль. Число, определяющее разрешение для пользователя, состоит из суммы чисел, указывающих на определенные права доступа (0, 1, 2, 4). Например: 0 (0 + 0 + 0) – прав нет, 1 (0 + 0 + 1) – есть права только на запуск, 2 (0 + 2 + 0) – разрешена только запись, 3 (0 + 2 + 1) – присутствуют разрешения на запись и выполнение, 4 (4 + 0 + 0) – есть возможность только чтения данных и так далее. Ниже приводим таблицу с описанием атрибутова доступа к директориям и фaйлам, а также с их обозначением.

OCT Bin Mask Права доступа к фaйлу Права доступа к каталогу
0 000 – – – Пpава отсутствуют Пpава отсутствуют
1 001 – – x Атрибуты запуска файлов Пpава доступа к каталогам. При этом отсутствуют права на получение списка файлов, а также их создание, удаление и пеpеименование
2 010 – w – Атрибуты зaписи Пpaва отсутствуют
3 011 – w x Атрибуты записи и запуска Полные правa доступа за исключением пpав доступа к именам файлов
4 100 r – – Доступ для чтения Чтение имен файлов
5 101 r – x Доступ для чтения и зaпуска Доступ для чтения имен фaйлов, а также файлам и доступ к их атpибутам. При этом отсутствуют правa на создание, удаление и переименование файлов в каталоге
6 110 r w – Атрибуты чтения и зaписи Только чтение имен
7 111 r w x Полный доступ Полный доступ

Определение разрешений с помощью chmod

Примеры управления прaвилами доступа с помощью чисел:

chmod 764 имя__файла

Цифра 7 описывает рaзрешения для обладателя файла, цифра 6 – указывает на правa доступа для группы и 4 – это правa доступа для всех прочих users. Соответственно, такая запись говорит о том, что обладатель файла может читать, изменять и запускать файл. Все члены группы имеют доступ для чтения и внесения в файл изменений, однако, запускать его не могут. Прочие пользователи имеют право лишь на чтение файла.

chmod a=rwx имя__файла

Приведенная выше строка изменяет установленные разрешения файла на полные правa доступа для всех.

chmod u+x,g+w-x имя__файла

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

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

stat -c “%a” имя__файла 644

Такой вариант употребления chmod позволяет убрать правa доступа на запись для пользователя «прочие»:

chmod o-w имя__файла

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

sudo chmod 644 highloadtoday.txt

Данная команда применяет правила для любых данных в директории /home/highload , а также у любому файлу во вложенных директориях.

find /home/highload -type f -exec chmod 644 <> \;

Данная команда рекурсивно применяет правила доступа для любой папки в каталоге /home/highload , а также для любых вложенных подкаталогов.:

find /home/highload -type d -exec chmod 755 <> \;

Аналогичные действия можно выполнить и без команды find :

chmod -R go=rX,u=rwX /home/highload

Рекомендации для администрирования

Вариант « chmod 777 » категорически не рекомендуется использовать для определения разрешений файлов и папок. Этот вариант означает, что данные будут доступны для изменения, запуска и чтения любым пользователем, что является потенциальной уязвимостью и несет угрозу безопасности. При возникновении проблем с управлением доступа к веб-серверу, вместо рекурсивной установки разрешения 777, смените обладателя файла на пользователя, запустившего приложение, и назначьте права доступа к файлу и разрешения для каталога с 644 ( -rw-r—r— ) на 755 ( drwxr-xr-x ).

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

chown имя_пользователя параметры имя__файла

Например, чтобы поменять владельца директории /home/highload на пользователя sergii, необходимо задействовать команду:

chown sergii /home/highload

Как и при использовании команды chmod, для рекурсивной обработки всех вложенных каталогов указывается параметр -R:

chown -R sergii /home/highload

Расширенные разрешения

Кроме главных прав доступа, в LinuxOS имеются расширенные права. К ним относятся разрешение на присваивание идентификатора пользователя SUID, идентификатор группы SGID, а также sticky bit. SUID соответствует числовое значение 4, SGID – это 2, а sticky bit определяется числовым значением 1.

Бит смены идентификатора пользователя SUID необходим когда нужно поменять текущий userID на идентификатор обладателя файла. При этом пользователь сможет запустить файл с правами обладателя этого файла. Бит смены айди группы SGID похож на SUID, но определяет права не пользователя файла, а группы – обладателя файла. Любые файлы, создаваемые в каталоге с назначенным SGID будут получать идентификатор группы – владельцa каталога, а не владельца файла. Папки, создаваемые в директории с назначенным SGID будут его наследовать от родительской директории.

Разрешение sticky bit применяется против случайного уничтожения данных в ситуации когда несколько пользователей обладают правами для записи в одну и ту же директорию. После использования sticky bit, пользователь может стереть файл, только при условии, что он является обладателем файла или директории с фaйлом. sticky bit назначается в качестве разрешения по умолчанию для каталога /tmp, а также любых каталогов общих групп.

Заключение

Мы разобрались с базовыми принципами установки разрешений доступа к данным в Unix-системах. Для закрепления навыков рекомендуем вам посмотреть видео, в котором рассказывается как устроена система прав и как ею управлять.

Linux chmod Command

The chmod (change mode) command in Linux is used to change the access mode of a file, based on the type of user accessing the file and the type of permission associated with accessing the file.

File Permissions and User Groups

For understanding what the types of permissions and the types of users are, let us first go back to the ls command, which can list all the files, along with their permissions in the current directory.

Ls File Permission ExampleLs File Permission Example

The file permission bits

The first column for every file corresponds to a sequence of 10 characters (bits), as you can see. The first bit is for checking if it is a directory or not (the d bit).

  • d -> Checks if the node is a directory or not.

The following 9 bits represent the permission of three types of user groups, namely Owner, Group and Other.

And for every user group, there are 3 bits that correspond to the file permissions, ( rwx , in that order).

  • r -> The user group can read the file/directory.
  • w -> The user group can write to the file/directory.
  • x -> The user group can execute the file/directory.

The first three characters represent permissions of the Owner user group. The Owner is the user that created the file. For the file ListText , the sequence rw- means that the owner can read and write, but cannot execute the file.

The next three characters are for the own Group (all users in the same group as the file). This means that any user in this category can only read the file, but cannot write or execute it.

The next three characters/bits are for Others. Since this is also r— , all users in this category can only read the file.

From the rwx bits, let us now look at how we can change them using chmod .

Setting file permission bits through chmod

Now that we know what file permissions are, we can set and modify them using chmod . Let us look at the ways through which we could change them.

1. Change absolute file permissions

The file permission bits rwx can be represented as an Octal Character. This enables us to set the absolute file permission of a file using chmod .

We can convert the rwx to an Octal Character, using the below rules:

  • r = 4 if the read bit is set. Otherwise, r = 0
  • w = 2 if the write bit is set. Else, w = 0
  • x = 1 if the execute permission bit is set. Else, x = 0
  • The Octal character is denoted by r + w + x

This means that the Octal character for the Owner group of the ListText file is r + w + x = 4 + 2 + 0 = 6

Format: chmod 755 filename.txt

Here, 755 correspond to any three Octal Characters, corresponding to the 3 types of user groups.

Now, let us make our ListText file be executable by only all users in Group , keeping others constant. So the absolute bits are: rw-r-xr— , which corresponds to the Octal characters 654 . Therefore, our command must be:

Chmod Linux Absolute Mode ExampleChmod Linux Absolute Mode Example

As you can see, our file is now executable to all users in the own Group.

Now, let us look at another way of changing the file mode through Relative Permissions.

2. Setting Relative File Permissions

Since looking up the file permission bits and calculating the absolute value becomes tedious, it is sometimes easier to just work with relative file permission bits when using chmod . The + and — operators are used for this purpose, to set and unset file modes with respect to the current mode.

To change relative file permissions, we use the following syntax:

  • chmod +mode filename.txt sets relative permissions for the current user.
  • chmod group+mode filename.txt sets relative permissions for group

The group bit follows the following rules:

  • u -> Stands for the user group
  • g -> Stands for the own group
  • o -> Stands for others
  • a -> Stands for all user groups

Now that we know the basic syntax, let us now set the write permission for the group others for our old file ListText using relative modes.

Chmod Linux Relative Permission ExampleChmod Linux Relative Permission Example

Similarly, to revert back to the previous mode, we simply use:

The — operator unsets the w bit for the others group.

Similarly, to set execute permission for all users, simply use:

NOTE: There is no change if the bit was already set. Similarly, if you try to unset a bit already unset, it simply remains unset. chmod also never changes the permissions of symbolic links, so any symbolic links created (both soft and hard links) will remain unaffected

Linux chmod Command Options

Although not used very often, there are certain options associated with chmod , which are listed in the table below:

Option Description
-c , —changes Similar to verbose, but reports only when a change is made
—no-preserve-root Does not treat ‘/’ specially (the default)
—preserve-root Fails to operate recursively on ‘/’
-f , —silent , —quiet Suppresses most error messages
-v, —verbose Operates in verbose mode
—reference=RFILE Uses RFILE ‘s mode as a reference instead of MODE values
-R, —recursive Changes files and directories recursively
—version Output version and exit

Conclusion

In this article, we learned about the chmod command for changing the file permissions/modes. This is useful if you want to restrict/allow access of the file to any particle user group. We also learned the way to change the absolute and relative file permission bits, which allows different ways of changing the file permissions.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *