2015-10-31 2 views
0

в среде buildroot Я добавил одного пользователя к групповому колесу. Теперь я могу выполнять команды с привилегиями root с помощью sudo.Разрешение отклонено с помощью sudo

Кажется, он работает, но когда я пытаюсь экспортировать булавку на моем RPi я всегда получаю разрешение отказано:

rpi:~$ sudo echo 4 > /sys/class/gpio/export 
sh: can't create /sys/class/gpio/export: Permission denied 

Здесь содержимое этого каталога:

rpi:~$ ls -l /sys/class/gpio/ 
total 0 
--w------- 1 root  root   4096 Jan 1 00:00 export 
lrwxrwxrwx 1 root  root    0 Jan 1 00:00 gpiochip0 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip0 
--w------- 1 root  root   4096 Jan 1 00:00 unexport 

Не хватает получить привилегию root с sudo для записи в файл экспорта? Я боюсь о владельце и группах. На самом деле, если я набираю:

rpi:~$ sudo chmod a+w /sys/class/gpio/* 

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

ответ

7

Когда вы запустите команду sudo echo 4 > /sys/class/gpio/export, она сначала выполняет sudo echo 4, которая запускает echo с повышенными привилегиями (что является беспредметным). Затем результат передается оболочкой (а не echo) новой команде /sys/class/gpio/export, которая потому что это новая команда, она не выполняется с повышенными привилегиями.

Существует вопрос Unix.SE here, который объясняет это и варианты.

В заключение этой ссылке вы должны быть в состоянии сделать что-то вроде:

sudo sh -c 'echo 4 > /sys/class/gpio/export' 

 Смежные вопросы

  • Нет связанных вопросов^_^