Linux разрешить выполнение файла

Делаем файл исполняемым в Linux

Чем отличается Linux от Windows в плане исполнений файлов, так это тем, что первая система определяет выполняемые файлы программными не по расширению, а по специальному флагу исполняемости. Так у каждого из них есть три режима исполняемости: чтение, исполнение и запись. Именно эти режимы определяют, что система может делать с конкретным файлом. Когда пользователь скачивает различные установщики из интернета или создает скрипт, то по умолчанию ему присваиваются следующие режимы – чтение и запись. Одним словом, пользователь не сможет сделать с такой программой ничего, так как с ним нужно сделать кое-что еще.

Что означает исполняемость?

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

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

Для понимания системой, какие должны быть выполнены по инструкции, а какие выполнять не нужно, и были придуманы флаги исполняемости. Фактически содержимое никак не изменяется в зависимости от установленного класса исполняемости – отличие сводится только к нескольким строчкам. Со скриптами все работает точно так же, только команды выполняет не процессор, а интерпретатор, например, в bash скриптах — сама оболочка bash. Да и в обычных программ тоже есть свой загрузчик — это ld-linux.so.2.

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

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

$ chmod категория действие флаг адрес_файла

КАК СДЕЛАТЬ ФАЙЛ ИСПОЛНЯЕМЫМ В LINUX

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

Флаг — один из доступных — r (чтение), w (запись), x (выполнение).

Категория — могут устанавливаться для трех категорий: владельца файла, группы данных и всех остальных пользователей. В команде они указываются символами u (user) g (group) o (other) соответственно.

Действие — может быть + (плюс), что будет значить установить флаг или — (минус) снять флаг.

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

Читайте также:  Linux mint языковой пакет

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

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

Посмотреть флаги в терминале можно с помощью утилиты ls

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

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

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

Как установить флаг исполняемости в GUI

Для новичков эта инструкция окажется проще. Рассмотрим на примере менеджера GNOME, Nautilus. Кликните правой кнопкой по нашему объекту программы или скрипта, чтобы открыть контекстное меню, затем выберите свойства:

КАК УСТАНОВИТЬ ФАЛГ ИСПОЛНЯЕМОСТИ В GUI

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

Разрешить выполнение файла как программы:

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

Источник

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

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

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

Мы рассмотрим различные способы сделать файл исполняемым в Linux.

1. Использование командной строки

Вы можете легко проверить, является ли ваш файл исполняемым или нет, используя команду ls -all.

Например, следующая команда отобразит разрешения файла /home/test.sh

ls -all /home/test.sh

В приведенном выше выводе, -rw-r-r- указывает на то, что владелец файла имеет разрешение на чтение(r) и запись(w), но не разрешение на выполнение(x), обозначенное rw-. Это также указывает на то, что и группа, и пользователи, отличные от владельца, имеют разрешение только на чтение, обозначенное r-.

Самый простой способ сделать файл исполняемым — открыть терминал и выполнить команду chmod с параметром +x, за которым следует путь к файлу.

Вот пример того, как сделать файл /home/test.sh исполняемым.

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

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

Теперь, если вы снова проверите разрешение файла с помощью команды ls -all, вы увидите следующее.

Читайте также:  Linux mint disk partitioning

ls -all /home/test.sh

Вы увидите, что owner, group и others имеют ‘x’ (для execute) в своих разрешениях, что указывает на то, что все они имеют право исполнять этот файл.

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

Если вы хотите снять разрешение на выполнение, используйте опцию -x в chmod.

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

Это откроет профиль bash. Добавьте в его конец следующее.

alias [новое имя]='[полный путь к скрипту]'

Замените на имя псевдонима, который вы хотите использовать, а на путь к исполняемому скрипту.

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

Теперь вы можете просто использовать имя псевдонима для вызова вашего скрипта.

2. Использование графического интерфейса пользователя

Вы также можете сделать файл исполняемым с помощью графического интерфейса. Для этого щелкните правой кнопкой мыши на вашем файле и выберите Свойства. Вы увидите следующее окно. Перейдите на вкладку Permissions (Разрешения). Затем установите флажок ExecuteAllow executing file as program (Разрешить выполнение файла как программы)

Permissions

Нажмите кнопку Закрыть/Сохранить/Ок, в зависимости от вашего дистрибутива Linux, чтобы применить изменения.

Заключение

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

Похожие записи:

Источник

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

Весьма часто в инструкциях по установке игр в Linux или в других ситуациях необходимо сделать файл выполняемым. У новичков, особенно тех кто перешёл на Ubuntu с операционной системы Windows этот момент возбуждает много вопросов. Давайте разберёмся в тонкостях и посмотрим как сделать всё правильно. Для начала чуть-чуть теории. в Windows, исторически ещё со времён DOS, было реализовано определение исполняемых файлов по их продолжению.

В Linux и других unix системах ситуация иная. Здесь расширение файлов как таковые отсутствуют, т.е. безусловно вы можете в имени файла использовать точку и три буквы в качестве расширения, но только из собственных эстетических соображений. Для операционной системы это не будет иметь никакого значения. Ну и главный вопрос как же операторная система определяет какой файл исполняемый, является программой, а какой нет. Всё очень элементарно — это устанавливается одним из битов прав на файл.

Исполняемые файлы в Linux

В вопросах исполняемых файлов, то есть, когда по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые компданные имеют расширение exe (в основном), а внутри представляют из себя нечитаемый набор байтов. А в Ubuntu выполняемым может быть даже текстовый файл. Сразу скажу, что exe — это программы для Windows и в Ubuntu они не трудятся без Wine (приложения для запуска исполняемых файлов Windows в Linux), но вообще говоря и в Wine они трудятся далеко не всегда.

Читайте также:  Linux закладки firefox где хранятся закладки

Итак, что же такое исполняемый файл с точки зрения Ubuntu? Практически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на исполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от охватываемого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и представляется, а если не помечен — то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Иное дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в запасе Ubuntu есть масса методов запуска файлов с совершенно различным содержимым.

Характерные черты исполняемых файлов в Linux

Пользователи, активно применяющие в повседневной работе операционную систему Windows, свыкнули к тому, что программы имеют расширение «.exe». Такие файлы содержат скомпилированный программный код, или иными словами – последовательность байтов, которая загружается в оперативную память и выполняется процессором. Linux реализует асбсолютно другой подход. Ранее, изучая написание скриптов командного интерпретатора Bash, мы уже поспели рассмотреть пример создания исполняемого файла. Он в отличие от Windows представляет собой обыкновенный текстовый документ с набором команд. Его особенностью является то, что перед основным содержимым дополняется специальный комментарий, говорящий операционной системе Linux, какую программу использовать для интерпретации. Кроме скрипта, исполняемым файлом является и скомпилированная программа. Таким образом, все файлы в Linux смогут быть, как обычными текстовыми документами, так и исполняемыми программами. Отличие лишь в специальных флагах и преимуществах доступа операционной системы (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство).

Назначение прав для запуска файла в Linux

Сделать файл вразумительным для запуска можно с помощью графической оболочки. Нажмите по ярлыку правой кнопкой мыши. В контекстуальном меню выберите пункт «свойства». Открывшееся окно должно содержать вкладку «преимущества», в котором нужно активировать пункт «разрешить выполнение файла как программы». Данный метод будет отличаться в зависимости от дистрибутива Linux и графической оболочки. Также возможно приставить права запуска через консоль. Для этого используется команда chmod. Пример, презентованый ниже, устанавливает право выполнения для владельца файла и его группы. Вы можете скопировать Bash-скрипт из первоначального примера в файл и провести с ним данную операцию.

Установка прав на пуск в Linux

Для того чтобы сделать файл исполняемым в Ubuntu Linux необходимо осуществить в окне терминала простую команду:

Вот и все, сейчас вы знаете как сделать файл исполняемым в Linux. И если нужно будет запустить script или установщик из интернета, у вас не возникнет никаких проблем. Если остались вопросы, спрашивайте в комментах!

Источник

Оцените статью
Adblock
detector