Разрешение отклонило ошибку при создании файла при помощи файла сценария

Я создал файл сценария, названный black_list.sh.

#!/bin/bash

default_card=`head -1 /proc/asound/modules`
echo $default_card

if [ ! -e /etc/modprobe.d/sound.blacklist.conf ] && [[ "$default_card" =~ "snd_hda_intel" ]]; then
        echo "blacklist snd_hda_intel" > /etc/modprobe.d/sound.blacklist.conf ---> not working            
else
        echo "Default sound card(snd_hda_intel) is already added in black list";
fi

из этого файла сценария я создаю sound.blacklist.conf файл в /etc/modprobe.d но я добрался /etc/modprobe.d/sound.blacklist.conf: Permission denied ошибка.

Так попробованный

echo itsme | sudo -S echo "blacklist snd_hda_intel" > /etc/modprobe.d/sound.blacklist.conf

но это также не работало поэтому, как может создать файл в /etc/modprobe.d каталог из моего файла сценария.

0
задан 10 June 2014 в 14:19

3 ответа

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

echo "blacklist snd_hda_intel" | sudo tee -a /etc/modprobe.d/sound.blacklist.conf

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

if [[ $EUID -ne 0 ]]; then
  echo "Only root can run this. Run again with sudo" 2>&1
  exit 1
fi
2
ответ дан 24 December 2019 в 04:45

Попробуйте эту команду,

sudo sh -c "echo 'blacklist snd_hda_intel' >  /etc/modprobe.d/sound.blacklist.conf"
1
ответ дан 24 December 2019 в 04:45

Необходимо включить перенаправление вывода в sudo также.

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

Для понимания проблемы, если у Вас есть следующая команда: $ sudo "">/etc/file

sudo действие только для выполнения <command> <params>, перенаправление вывода (>) происходит из sudo в этом случае.

1
ответ дан 24 December 2019 в 04:45

Другие вопросы по тегам:

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