пятница, 28 августа 2015 г.

sudo: аргументы и wildcard

Как прописать права для sudo пользователю так, чтобы можно было использовать аргументы? Простая запись вида /sbin/ifconfig позволит только запустить команду без аргументов, а на любой аргумент будет запрашивать пароль.
В таком случае, надо прописывать команду как
/sbin/ifconfig *

Замечание:
 Wildcards in command line arguments should be used with care.  Because
 command line arguments are matched as a single, concatenated string, a
 wildcard such as ‘?’ or ‘*’ can match multiple words.
So, only one wildcard is needed per command.

Таким образом, одной * достаточно.
Учитываем, что
   Wildcards
     sudo allows shell-style wildcards (aka meta or glob characters) to be used in host names, path names and command line arguments in the sudoers file.  Wildcard matching is done via the POSIX glob(3) and fnmatch(3) routines.  Note that these are not regular expressions.

пятница, 14 августа 2015 г.

mint 17: добавляем свежий флэш

Штатно идёт пакет mint-flashplugin аж от 2011 года (дистр 2015!), с флэшем 11.2.ххх
Даже di.fm и тот отказывается играть на такой старой и дырявой версии.

Суть в том, что adobe забросила свободную версию и её подхватил гугл, назвав pepper flash. Поставим
sudo apt-get install pepperflashplugin-nonfree

Далее (при необходимости - у меня chromium, заработало и так):
sudo update-pepperflashplugin-nonfree --install

Перезапускаем хромиум, смотрим
chrome://plugins/
появился

Adobe Flash Player - Version: 18.0.0.233
Shockwave Flash 18.0 r0

Возможные проблемы:
после перезапуска флэш теряется, помогает переустановить пакет
sudo gedit /etc/chromium-browser/default,И в самом конце файла вставь следующую строчку:. /usr/lib/pepflashplugin-installer/pepflashplayer.sh,затем сохрани.
http://mintlinux.ru/forum/thread4772-1.html

также вариант
Строка . /usr/lib/pepflashplugin-installer/pepflashplayer.sh исчезает — перезаписывается/заменяется файл /etc/chromium-browser/default .
Оттуда же.
Для себя я решил проблему костылём, по принципу "Если гора не идёт к Магомету..." — в конфиге, постоянно откатывающемся, прописан путь к .so , ну так я этот путь и создал. В /usr/lib/ сделал ссылку (гуем, разумеется) на pepflashplugin-installer/ , обозвал её pepperflashplugin-nonfree

ЗЫ почему-то firefox обычно не теряет плагин, вариант тогда - перейти на него. Хотя вариант сомнительный.

понедельник, 10 августа 2015 г.

debian 7: сборка nginx в пакет

/etc/apt/sources.list.d/nginx.list:
deb http://nginx.org/packages/mainline/debian/ wheezy nginx
deb-src http://nginx.org/packages/mainline/debian/ wheezy nginx

сборка
cd /usr/src
apt-get source nginx && apt-get install build-dep nignx
cd nginx-(version)
cd debian
nano rules
правим правила configure
nano changelogs
добавить запись о новой версии (или просто поставить пакет на холд, чтобы его не обновило потом)
cd ../../
apt-get source -b nginx или из из папки исходников debuild -uc -us


четверг, 6 августа 2015 г.

вторник, 4 августа 2015 г.

nginx и обработка POST параметров

Есть набор переменных, $arg_* и массив $args, но туда попадают только переменные из строки запроса (прежде всего это будут GET запросы, но и у POST могут быть). А что делать, если надо обработать POST запросы? Зачем? Например, есть некий софт, который запрашивает файл через post, надо получить имя и отдать его с диска. Только ради этого писать обёртку на любом языке, которая требует ресурсов, обслуживания, обновлений, проверки что оно всегда работает итд? А если эта прослойка не успела ещё запуститься или просто упала, а файл уже запросили? Всего-то дел, получить имя из запроса...
Увы, штатного метода нет, но благодаря модулям со сторонними языками это реализуемо, правда пока найдено только 2 метода.

tengine - nginx версия от taobao

https://github.com/alibaba/tengine/
http://tengine.taobao.org/