1 Востаннє редагувалося ktretyak (29.06.2016 20:53:11)

Тема: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

Не зовсім розумію що я роблю не так:

1. Створив файл dump.sh з наступним вмістом:

#!/usr/bin/bash
mysqldump --opt --protocol=TCP --user=myuser --password=mypassword --host=localhost --routines mydb > dump.sql

.

2. Дав права на запуск усім, але читання і запис лише для рута:

$sudo chmod 711 dump.sh
$ls
-rwx--x--x  1 root   root       133 чер 29 21:04 dump.sh

3. Намагаюсь запустити під звичайним користувачем (тобто скрипт запише дамп в його домашню директорію), видає помилку, що немає прав.

Чому?

2 Востаннє редагувалося 0x9111A (29.06.2016 20:47:38)

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

А просто mysqldump можна запустити?

3

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

0x9111A написав:

А просто mysqldump можна запустити?

Дає, виконало без проблем

4

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

ktretyak написав:

Не зовсім розумію що я роблю не так:

1. Створив файл dump.sh з наступним вмістом:

#!/usr/bin/bash
mysqldump --opt --protocol=TCP --user=myuser --password=mypassword --host=localhost --routines mydb > dump.sql

.

2. Дав права на запуск усім, але читання і запис лише для рута:

$sudo chmod 711 dump-hub.sh
$ls
-rwx--x--x  1 root   root       133 чер 29 21:04 dump.sh

3. Намагаюсь запустити під звичайним користувачем (тобто скрипт запише дамп в його домашню директорію), видає помилку, що немає прав.

Чому?

Права на теку куди пише скрипт які?

5

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

HetmanNet написав:

Права на теку куди пише скрипт які?

Скрипт намагаюсь запустити в домашній директорії користувача.

6

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

З правами 715 на файл для запуску працює без проблем.

7

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

ktretyak написав:
HetmanNet написав:

Права на теку куди пише скрипт які?

Скрипт намагаюсь запустити в домашній директорії користувача.

Адресу повну вказав до місця збереження?

8 Востаннє редагувалося HetmanNet (29.06.2016 21:26:11)

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

ktretyak написав:

З правами 715 на файл для запуску працює без проблем.

Треба права на читання, щойно дійшло.. поглянув на права своїх скриптів -rwxr-xr-x  :D Бо bash якось має прочитати файл скрипта.. він та запускається від прав юзера..

9

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

HetmanNet написав:

Бо bash якось має прочитати файл скрипта.. він запускається від прав юзера..

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

10 Востаннє редагувалося Djalin (30.06.2016 08:44:45)

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

Не зовсім так у вашому випадку скрипт повинен прочитатись - щоб мати змогу виконати команду. бінарні файли будуть просто виконуватись

Подякували: ktretyak, Master_Sergius, leofun013

11

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

По ключовим словам

linux permissions execute only

видає купу лінків на ресурси, де говориться що таки не можна виконувати файли без читання:
Can a script be executable but not readable?
File permission execute only

12

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

Так, і сама правильна відповідь, як і написав Djalin - якщо це бінарний файл, то він виконається і без читання, але якщо цей файл потребує читання інтерпретатором, то очевидно, що його спочатку треба прочитати.

Подякували: Master_Sergius, Djalin2

13 Востаннє редагувалося HetmanNet (30.06.2016 11:44:18)

Re: Права на запуск дав усім -rwx--x--x але не дає запускати. Чому?

ktretyak написав:

Так, і сама правильна відповідь, як і написав Djalin - якщо це бінарний файл, то він виконається і без читання, але якщо цей файл потребує читання інтерпретатором, то очевидно, що його спочатку треба прочитати.

Чомусь навіть бінарники переважно мають право на читання..  *DONT_KNOW*