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

Итак, у меня есть сценарий bash "get-data.sh, который запускает два других python скрипты

#!/bin/bash

scripts=/root/scripts
datos=/root/zabbixdata
fecha=$(date +"%Y_%m_%d")

sudo $scripts/filesystem.py > $datos/filesystem_$fecha.log &
sudo $scripts/cpu.py > $datos/cpu_$fecha.log &

и когда я запускаю скрипт, я получаю следующую ошибку

./get-data.sh: line 8: /root/zabbixdata/filesystem_2020_01_02.log: Permission denied
./get-data.sh: line 9: /root/zabbixdata/cpu_2020_01_02.log: Permission denied

Разрешения скриптов python:

-rwxrwxr-x 1 myuser myuser 1629 Jan  2 12:01 cpu.py
-rwxrwxr-x 1 myuser myuser 1680 Jan  2 11:06 filesystem.py

разрешение скрипта bash:

-rwxrwxr-x 1 myuser myuser   326 Jan  2 11:51 get-data.sh

разрешение целевого каталога

drwxrwxr-x 2 myuser myuser 6 Jan  2 11:43 zabbixdata

разрешение каталог сценариев

drwxrwxr-x 2 myuser myuser 93 Jan  2 12:14 scripts

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

какие-нибудь идеи?

1
задан 2 January 2020 в 17:21
1 ответ

Я предполагаю, что разрешение Вашего / корневого каталога 0550 (значение по умолчанию в сервере Centos).

# stat /root/
File: /root/
Size: 4096          Blocks: 8          IO Block: 4096   directory
Device: fd01h/64769d    Inode: 10747905    Links: 23
Access: (0550/dr-xr-x---)  Uid: (    0/    root)   Gid: (    0/    root)

, Если Вы выполняете сценарий, "добираются-data.sh" с пользователем myuser, перенаправление стандартного вывода выполняется Вашей оболочкой, которая не имеет разрешения получить доступ к корню/. Перенаправление вывода не выполняется sudo.

существует отсутствие 'x' флаг в 'другом' разделе корневого разрешения/, которое позволяет получать доступ к подкаталогам/root/zabbixdata/, но возможно Вы не хотите, добавляет это из соображений безопасности. В [1] можно найти некоторый пример использования перенаправления с sudo.

[1] https://stackoverflow.com/questions/82256/how-do-i-use-sudo-to-redirect-output-to-a-location-i-dont-have-permission-to-wr

1
ответ дан 3 January 2020 в 14:50

Теги

Похожие вопросы