Команда chmod в linux

Chmod

Теперь давайте перейдем к команде chmod.

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

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

ls -lh

В показанном списке самый левый столбец объясняется следующим образом.

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

Каждый из этих символов напрямую определяет тип доступа: чтение, запись и выполнение.

Если есть дефис (минус), то соответствующее действие запрещено. Чтение означает открытие файла и просмотр его содержимого. Запись позволяет вносить изменения в объект, а выполнение – запускать программу / скрипт.

Что касается каталогов, запреты работают следующим образом:

только чтение каталога запрещено(-wx) запрещена только запись в каталог(r–х) запрещено только выполнение каталога(rw-)
изменить папку + +

просматривать файлы в папке

+ +
удалить файлы в папке +

создавать / изменять файлы в папке

+ +

Вы можете заметить, что эффект запрета на чтение прямо противоположен эффекту запрета на исполнение.

В зависимости от прав доступа владелец может перемещать и удалять объекты, созданные от его имени.

Запись! В статье не рассматриваются изменения в битах Set-User-ID и Set-Group-ID из-за конкретной области их применения.

Манипулирование этими правилами осуществляется двумя способами, описанными ниже:

См. также:

  • Linux — Основные права доступа к файлам и каталогам
  • Как предоставить пользователю привилегии chown и chmod для определенного каталога в Linux
  • ️ Как рекурсивно изменить права на папки и подкаталоги

Установка прав по умолчанию с помощью umask

Выше вы узнали, как работать с ACL по умолчанию. Если вы не используете ACL, есть параметр оболочки, который определяет права по умолчанию, которые вы получите: umask (обратная маска). В этом разделе вы узнаете, как изменить разрешения по умолчанию с помощью umask.

Вы, наверное, заметили, что при создании нового файла устанавливаются некоторые разрешения по умолчанию. Эти разрешения определяются настройкой umask. Этот параметр оболочки применяется ко всем пользователям при входе в систему. В параметре umask используется числовое значение, которое вычитается из максимальных разрешений, которые могут быть автоматически установлены для файла; максимальная настройка для файлов — 666, а для каталогов — 777.

Однако некоторые исключения относятся к этому правилу. Вы можете найти полный обзор настроек umask в таблице внизу.

Из цифр, используемых в umask, как и в случае числовых аргументов для команды chmod, первая цифра относится к разрешениям пользователя, вторая цифра относится к разрешениям группы, а последняя относится к разрешениям по умолчанию, установленным для других. Значение umask по умолчанию 022 дает 644 для всех новых файлов и 755 для всех новых каталогов, созданных на вашем сервере.

Полный обзор всех числовых значений umask и их результатов в таблице ниже.

Есть два способа изменить настройку umask: для всех пользователей и для отдельных пользователей. Если вы хотите установить umask для всех пользователей, вы должны убедиться, что параметр umask учитывается при запуске файлов среды оболочки, как указано в /etc/profile. Правильный подход — создать сценарий оболочки с именем umask.sh в каталоге /etc/profile.d и указать umask, который вы хотите использовать в этом сценарии оболочки. Если в этом файле изменяется umask, он применяется ко всем пользователям после входа на сервер.

Альтернативой настройке umask через /etc/profile и связанные файлы, где он применяется ко всем пользователям, входящим в систему, является изменение настроек umask в файле с именем .profile, который создается в домашнем каталоге каждого пользователя.

Настройки, примененные в этом файле, применяются только для отдельного пользователя; следовательно, это хороший метод, если вам нужно больше детализации. Мне лично нравится эта функция, чтобы изменить значение umask по умолчанию для пользователя root на 027, тогда как обычные пользователи работают с umask по умолчанию 022.

chmod +x vs chmod 777 comparison

Instead of using shorthand for permissions, allows you to use numbers, which is called .

File permissions in Linux are stored in , and those bits varies between user groups.

  • r (read) = 4
  • w (write) = 2
  • x (execute) = 1

To set permission to a group using numbers, you need to add the digits according to what was mentioned above. For example:

  • To represent rwx triplet use 4+2+1=7
  • To represent rw- triplet use 4+2+0=6
  • To represent r– triplet use 4+0+0=4
  • To represent r-x triplet use 4+0+1=5

To be able to compare with , we should look at them from the same perspective:

  • is equal to , which means «add executable permission to for all user groups»
  • is equal to , which means «set read, write, executable permission to for all user groups»

These commands usually produce the same results, but in reality they are fundamentally different.

Как сделать файл исполняемым

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

И здесь необходимо учитывать следующее:

  • Флаг — один из доступных флагов — r (чтение), w (запись), x (выполнение).
  • Категория — флаги могут устанавливаться для трех категорий: владельца файла, группы файла и всех остальных пользователей. В команде они указываются символами u (user) g (group) o (other) соответственно.
  • Действие — может быть + (плюс), что будет значить установить флаг или — (минус) снять флаг.

Таким образом, чтобы сделать исполняемым скрипт в Linux, пользователю необходимо выполнить:

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

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

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

Снять флаг исполняемого файла очень просто. Используется та же команда только со знаком минус:

Дальше рассмотрим вопрос установки управляемости в GUI.

Номер разрешения

Разрешение файла может быть представлено в числовом или символьном формате. В этой статье мы сосредоточимся на числовом формате.

Номер разрешения может состоять из трех или четырех цифр от 0 до 7.

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

Разрешения на запись, чтение и выполнение имеют следующее числовое значение:

  • (читать) = 4
  • (написать) = 2
  • (выполнить) = 1
  • нет разрешений = 0

Цифра разрешений определенного класса пользователей — это сумма значений разрешений для этого класса.

Каждая цифра номера разрешений может быть суммой 4, 2, 1 и 0:

  • 0 (0 + 0 + 0) — Нет разрешения.
  • 1 (0 + 0 + 1) — только разрешение на выполнение.
  • 2 (0 + 2 + 0) — только разрешение на запись.
  • 3 (0 + 2 + 1) — права на запись и выполнение.
  • 4 (4 + 0 + 0) — разрешение только на чтение.
  • 5 (4 + 0 + 1) — разрешение на чтение и выполнение.
  • 6 (4 + 2 + 0) — права на чтение и запись.
  • 7 (4 + 2 + 1) — разрешение на чтение, запись и выполнение.

Например, если номер разрешения установлен на 750, это означает, что владелец файла имеет разрешения на чтение, запись и выполнение, группа файла имеет разрешения на чтение и выполнение, а другие пользователи не имеют разрешений:

  • Владелец: rwx = 4 + 2 + 1 = 7
  • Группа: rx = 4 + 0 + 1 = 5
  • Другое: rx = 0 + 0 + 0 = 0

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

  • setuid = 4
  • setgid = 2
  • липкий = 1
  • без изменений = 0

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

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

Linux File Permissions

Прежде чем идти дальше, давайте объясним основную модель разрешений Linux.

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

Владелец файла. Участники группы. Другие (все остальные).

Владелец файла может быть изменен с помощью команд и .

Существует три типа прав доступа к файлам, которые применяются к каждому классу:

Разрешение на чтение. Разрешение на запись. Разрешение на выполнение.

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

Права доступа к файлам можно просмотреть с помощью команды :

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

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

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

Каждая из трех тройок разрешений может состоять из следующих символов и иметь разные эффекты в зависимости от того, заданы они для файла или для каталога:

Влияние разрешений на файлы

разрешение символ Значение в файле
Читать Файл не читается. Вы не можете просматривать содержимое файла.
Файл доступен для чтения.
Написать Файл не может быть изменен или изменен.
Файл может быть изменен или изменен.
казнить Файл не может быть выполнен.
Файл может быть выполнен.
Если он найден в триплете он устанавливает бит . Если он найден в триплете, он устанавливает бит . Это также означает, что установлен флаг . Когда в исполняемом файле флаги или , файл исполняется с правами владельца файла и / или группы.
То же, что и но флаг не установлен. Этот флаг редко используется в файлах.
Если он найден в триплете он устанавливает бит. Это также означает, что установлен флаг . Этот флаг бесполезен для файлов.
То же, что и но флаг не установлен. Этот флаг бесполезен для файлов.

Влияние разрешений на каталоги (папки)

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

разрешение символ Значение по каталогу
Читать Содержимое каталога не может быть показано.
Содержимое каталога может быть показано. (Например, вы можете перечислить файлы внутри каталога с помощью .)
Написать Содержимое каталога не может быть изменено.
Содержимое каталога может быть изменено. (Например, вы не можете создавать новые файлы, удалять файлы .. и т. д.)
казнить Каталог не может быть изменен на.
Каталог может быть перемещен с помощью .
Если он найден в триплете, он устанавливает бит . Если он найден в триплете, он устанавливает бит . Это также означает, что установлен флаг . Когда в каталоге флаг новые файлы, созданные в нем, наследуют идентификатор группы каталогов (GID) вместо идентификатора основной группы пользователя, создавшего файл. не влияет на каталоги.
То же, что и но флаг не установлен. Этот флаг бесполезен для каталогов.
Если он найден в триплете он устанавливает бит. Это также означает, что установлен флаг . Если для каталога установлен бит закрепления, только владелец файла, владелец каталога или пользователь с правами администратора могут удалять или переименовывать файлы в каталоге.
То же, что и но флаг не установлен. Этот флаг бесполезен для каталогов.

Какие бывают права доступа в Linux?

  1. Чтение (read, “r”, 100 (4)) – для файлов это означает, что можно ознакомиться с его содержимым. Для каталога – показать его содержимое.
  2. Запись (write, “w” 010 (2)) – для файлов это – изменить содержимое. Для каталога – манипуляции с файлами внутри каталога (есть нюансы).
  3. Выполнение (execute, “x” 001 (1)) – для файлов – запустить файл на выполнение. Для каталога – перейти в него и получить атрибуты файлов (не имена). Нюанс, о котором говорил про “w” на каталоге – работает вместе с “x”.

Обратите внимание на числовые коды – их можно использовать вместо буквенных. Например, если нужно назначить право на выполнение – можно установить код 1

Если – на чтение и выполнение – то 5 (4+1). Если на всё – то 7 (4+2+1).

Синтаксис

Основные параметры:

  • -c — показать информация обо всех изменениях.
  • -f — не показывать ошибки.
  • -v — вывод полной информации.
  • -R — рекурсивно обрабатывать файлы и каталоги.
  • —help — показать справочную информацию.
  • —version — информация о версии.

Применят часто символьную запись прав:

  • -r —  на чтение
  • -w — на запись
  • -x — на выполнение, права на запуск
  • -s — на выполнение от супер пользователя root.

Категории пользователей:

  1. -u (owner) — владелец.
  2. -g (group) — группа.
  3. -o (others)- другие.

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

Чтобы прибавить права используется знак «+», убавить «-«.

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

  • 0 — все запрещено
  • 1 — выполнение, разрешено запускать документ
  • 2 — запись, изменение.
  • 3 — выполнение и запись.
  • 4 — разрешено читать.
  • 5 — читать и выполнять
  • 6 — читать и писать
  • 7 — все разрешено, писать, читать, выполнять.

Здесь 777:

  1. первая цифра назначает разрешения для владельца документа;
  2. вторая цифра — для группы;
  3. третья  — для всех остальных.

Примеры прав на директорию:

  • 744 — первая цифра говорит, что имеет полный доступ владельц, вторая цифра четыре — чтение для группы, третья цифра четыре — всем другим можно читать;
  • 765 — для владельца — полные права, для группы — читать, писать и другим читать, выполнять;
  • 774 — полный доступ для владельца, полный доступ для группы, чтение для остальных;
  • 777 — всем все разрешено.

Примеры

Назначим для файлу test полный доступ всем.

Чтобы посмотреть какие права для файлы test, выполним дополнительную команду ls, с ключом -l. Подробней о команде ls можно посмотреть здесь.

На экране видим:

  1. -rwxrwxwx 1 — права доступа.
  2. Первый root — имя пользователя.
  3. Второй root — имя группы.
  4. 583 — размер файла test.
  5. test — название документа.

Сделаем тоже самое, только уже с помощью букв.

Здесь:

  • u — владелец;
  • g -группа;
  • o — остальные;
  • + — включить;
  • r — читать;
  • w — писать;
  • x — выполнять.

Создадим новый документ «logi» с помощью команды touch и разрешим любым пользователям выполнять его и изменять. За выполнение отвечает буква «х», за изменения «w».

В буквенном виде запись будет выглядеть так:

Чтобы владельцу дать полный доступ, изменим первую цифру 3 на 7. Получается так:
Дадим полный доступ всем, на каталог «catalog».

Чтобы дать разрешения 777 на папку и включая все ее содержимое, необходимо добавить звездочку. Получается так:

Теперь подкаталоги и файлы имеют 777.

Символьный (текстовый) метод

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

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

u — Владелец файла. g — пользователи, которые являются членами группы. o — Все остальные пользователи. a — Все пользователи, идентичные ugo .

Если флаг пользователя пропущен, то по умолчанию используется флаг и разрешения, установленные umask, не затрагиваются.

Второй набор флагов ( ), флаги операции, определяет, нужно ли удалять, добавлять или устанавливать разрешения:

— Удаляет указанные разрешения. + Добавляет указанные разрешения. = Изменяет текущие разрешения на указанные разрешения. Если после символа = не указаны разрешения, все разрешения из указанного класса пользователя будут удалены.

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

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

Ниже приведены некоторые примеры использования команды в символическом режиме:

Дайте членам группы разрешение на чтение файла, но не на запись и выполнение:
chmod g=r filename
Удалить разрешение на выполнение для всех пользователей:
chmod ax filename
Отвратительно удалите разрешение на запись для других пользователей:

chmod -R ow dirname
Удалите права на чтение, запись и выполнение для всех пользователей, кроме владельца файла:
chmod og-rwx filename
То же самое можно сделать с помощью следующей формы:
chmod og= filename
Дайте разрешение на чтение, запись и выполнение владельцу файла, разрешения на чтение для группы файла и никаких разрешений для всех остальных пользователей:
chmod u=rwx, g=r, o= filename
Добавьте разрешения владельца файла к разрешениям, которые имеют члены группы файла:

chmod g+u filename
Добавьте липкий бит в данный каталог:
chmod o+t dirname

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

В символьном виде использование команды chmod позволяет более гибко добавлять, устанавливать или убирать права на файл(ы) или каталоги.

References определяют пользователей, которым будут меняться права. References определяются одной или несколькими буквами:

Reference Class Описание
u user Владелец файла
g group Пользователи, входящие в группу владельца файла
o others Остальные пользователи
a all Все пользователи (или ugo)

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

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

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

Mode Name Описание
r read чтение файла или содержимого каталога
w write запись в файл или в каталог
x execute выполнение файла или чтение содержимого каталога
X special execute выполнение, если файл является каталогом или уже имеет право на выполнение для какого-нибудь пользователя
s setuid/gid установленные атрибуты SUID или SGID позволяют запускать файл на выполнение с правами владельца файла или группы соответственно
t sticky устанавливая t-бит на директорию, мы меняем это правило таким образом, что удалить файл может только владелец этого файла

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

Установить права «rwxr-xr-x» (0755) для файла:

chmod u=rwx,g=rx,o=rx filename

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

chmod u+x,g-x,o-wx filename

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

chmod -R a+r directory

Рекурсивно удалить атрибуты SUID и SGID:

chmod -R u-s,g-s directory

Chown

Давайте начнем с команды chown.

Используя ее, вы можете изменить владельца или группу объектов (другими словами, файлы, поскольку все в GNU / Linux представлено в этой форме).

Это влияет на установленные права доступа к ним.

Чтобы просмотреть владельца файла, введите:

ls -lh

Третье и четвертое поля показывают имя владельца и имя группы.

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

Чтобы сменить текущего владельца на нового, используйте команду:

chown root OBJECT

где OBJECT – имя файла (или нескольких разделенных пробелом).

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

Если терминал указывает, что для выполнения этого действия недостаточно прав, сначала добавьте sudo:

sudo chown root OBJECT

Чтобы изменить группу, укажите ее с помощью команды:

chown root:root OBJECT

или

chown :root OBJECT

чтобы изменить только группу:

Помимо флага рекурсивной операции существуют и другие (которые похожи на chmod).

Например, –from позволяет вносить изменения только для объектов с указанным владельцем и группой.

Имеет смысл использовать его вместе с рекурсией:

chown --from=anton:anton http:http -R OBJECT

Отслеживание активных процессов

Существует несколько различных инструментов для просмотра/перечисления запущенных в системе процессов. Двумя традиционными и хорошо известными из них являются команды ps и top:

Команда ps

Отображает информацию об активных процессах в системе, как показано на следующем скриншоте:

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

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

   UID — идентификатор пользователя, которому принадлежит процесс (тот, от чьего имени происходит выполнение).

   PID — идентификатор процесса.

   PPID — идентификатор родительского процесса.

   C — загрузка CPU процессом.

   STIME — время начала выполнения процесса.

   TTY — тип терминала, связанного с процессом.

   TIME — количество процессорного времени, потраченного на выполнение процесса.

   CMD — команда, запустившая этот процесс.

Также можно отобразить информацию по конкретному процессу, используя команду , например:

Есть и другие опции, которые можно использовать вместе с командой :

    — показывает информацию о процессах по всем пользователям;

    — показывает информацию о процессах без терминалов;

    — показывает дополнительную информацию о процессе по заданному UID или имени пользователя;

    — отображение расширенной информации.

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

Обратите внимание на выделенный заголовок. Команда поддерживает функцию сортировки процессов по соответствующим столбцам

Например, чтобы отсортировать список процессов по потреблению ресурсов процессора (в порядке возрастания), введите команду:

Результат:

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

Результат:

Еще один очень популярный пример использования команды — это объединение её и для поиска заданного процесса по его имени:

Результат:

Команда top

Команда top отображает информацию о запущенных процессах в режиме реального времени:

Рассмотрим детально:

   PID — идентификатор процесса.

   USER — пользователь, которому принадлежит процесс.

   PR — приоритет процесса на уровне ядра.

   NI — приоритет выполнения процесса от до .

   VIRT — общий объем (в килобайтах) виртуальной памяти (физическая память самого процесса; загруженные с диска файлы библиотек; память, совместно используемая с другими процессами и т.п.), используемой задачей в данный момент.

   RES — текущий объем (в килобайтах) физической памяти процесса.

   SHR — объем совместно используемой с другими процессами памяти.

   S (сокр. от «STATUS») — состояние процесса:

   S (сокр. от «Sleeping») — прерываемое ожидание. Процесс ждет наступления события.

   I (сокр. от «Idle») — процесс бездействует.

   R (сокр. от «Running») — процесс выполняется (или поставлен в очередь на выполнение).

   Z (сокр. от «Zombie») — зомби-процесс.

   %CPU — процент используемых ресурсов процессора.

   %MEM — процент используемой памяти.

   TIME+ — количество процессорного времени, потраченного на выполнение процесса.

   COMMAND — имя процесса (команды).

Также в сочетании с основными символами состояния процесса (S от «STATUS») вы можете встретить и дополнительные:

    — процесс с высоким приоритетом;

    — процесс с низким приоритетом;

    — многопоточный процесс;

    — фоновый процесс;

    — лидер сессии.

Примечание: Все процессы объединены в сессии. Процессы, принадлежащие к одной сессии, определяются общим идентификатором сессии — идентификатором процесса, который создал эту сессию. Лидер сессии — это процесс, идентификатор сессии которого совпадает с его идентификаторами процесса и группы процессов.

Команда glances

Команда glances — это относительно новый инструмент мониторинга системы с расширенными функциями:

Примечание: Если в вашей системе отсутствует данная утилита, то установить её можно с помощью следующих команд:

RHEL/CentOS/Fedora

Debian/Ubuntu/Linux Mint

Зачем использовать Chmod

В UNIX-системах — FreeBSD, Ubuntu, Debian, Centos — у каждого файла и папки (каталога) есть свои владелец и группа, к которым они относятся. Сделано это с целью разграничения прав доступа на чтение (r, read), запись (w, write) и исполнение (x, execute) для разных пользователей: владельцев (u), пользователей, входящих в группу владельца (g) и остальных (o).
Например, если вы пользуетесь хостингом, то должны знать, что ваш сайт физически находится на одном сервере рядом со множеством других сайтов таких же, как вы, пользователей со своими сайтами. Чтобы вы не смогли помешать друг другу, у каждой директории с сайтами свой владелец и группа пользователей, к которым они относятся.
На shared хостинге о вас позаботятся профессиональные системные администраторы. А если вы имеете свой сервер VDS/VPS, то просто обязаны следить за прописанными правами на доступ к файлам. Например, если вдруг с помощью уязвимости на сайте злоумышленник сможет записать backdoor в директорию для загрузки файлов, то с правильно прописанными правами доступа он не сможет причинить большого вреда файловой системе. Конечно, в директории для загрузки файлов должно быть принудительно отключено исполнение скриптов, но это тема уже для другого разговора.

3 ответа

Вы можете пометить файл как исполняемый:

Затем вы можете запустить его следующим образом:

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

Добавьте это в конец файла:

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

ответ дан
12 November 2016 в 05:28

Выполнить:

Чтобы сделать его невыполняемым, выполните:

Например, я создал файл:

После того, как я напишу код в редакторе vi, я выйду из редактора vi:

ответ дан
12 November 2016 в 05:28

Есть два способа сделать файл исполняемым:

Метод графического интерфейса:

Щелкните файл правой кнопкой мыши и выберите «Свойства».
Перейдите на вкладку разрешений, затем установите флажок или в Nautilus в Thunar. [] 1267] Терминал / Метод команды:

Вы можете использовать:

Затем запустите

Или просто запустите:

также имеет несколько дополнительных параметров:

Пробелы показывают, что он разделен:

Первый набор — это Пользователь. Второй — Группа, а последний — Другой (кто угодно)

r означает чтение, w для записи и x для eXecute.

Таким образом, чтобы разрешить всем читать его, но только Группа для выполнения и Пользователь для чтения и записать его (но по какой-то причине не выполнить) будет:

Но это будет добавлено к команде как:

также может делать это в числах. Он основан на двоичном формате (я думаю, что это 1,2 и 4)

Итак, вот эти числа:

Выполнить пользователем — .
Выполнить по группе: .
Выполнить другим — .

Запись пользователем — .
Запись по группе: .
Запись другим пользователем — .

Прочитанное пользователем — .
Группа читает .
Прочитано другим: .

Затем вы складываете их вместе, чтобы получить желаемую комбинацию.

Таким образом, чтобы разрешить всем читать его, но только Группа для выполнения и Пользователь для записи (но для по какой-то причине не выполняется) будет:

и и

В сумме получается 600 + 050 + 004 = 654.

Затем вы можете запустить команду.

, чтобы установить его.

И чтобы установить все разрешения, вы можете ввести:

или (это немного проще написать, но сложнее запомнить каждый):

Наконец, вы можете сделать:

Отобрать все разрешения у всех.

И:

Чтобы добавить чтение и запись для пользователя, не влияя на другие разрешения (например, разрешения на выполнение).

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

Однако не все возможные комбинации целесообразно использовать; используются следующие основные:

755 — имеет все, а и могут читать и выполнять

700 — имеет все

644 — может читать и писать, а и могут читать

600 — может читать и писать

И, если вы используете нетривиальные группы пользователей:

775 — может читать и писать, а ] и может читать

770 — и имеют все, а может читать и выполнять

750 — имеет все, и может читать и выполнять

664 — и может читать и писать, и может просто читать

660 — и могут читать и писать

640 — может читать и писать,и может читать

777 и 666 используются редко, за исключением /tmp.

. Спасибо Илмари Каронен за на общие использование!

ответ дан
12 November 2016 в 05:28

Работа с символическими ссылками

Символьные ссылки всегда имеют разрешений.

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

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

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: