Начнем как всегда... Часто возникает необходимость запуска только определенных приложений под WINE, т.к. если не ограничивать пользователей, они могут запустить или установить "ненужные" приложения (например не лицензионный MSOffice и т.п.) Перейдем к делу. Копируем исходный WINE под другим именем, например wine1 (все действия делаем под рутом)
cp /usr/bin/wine /usr/bin/wine1
Копируем на место настоящего wine следующий срипт с именем wine
#!/bin/bash
# Generated by Dyadyov Oleg & Nepomnyashiy Artem
# Скрипт позволяет запускать windows-приложения только из белого списка list-wine-soft
IFS=$'\t\n' # Переопределение разделителя (для имён с пробелом)
#echo $WINEPREFIX
s=0
arg=$#
if [[ "$arg" == 1 ]]
then
fpath=$1
else
fpath=$1
fileselect=$(basename "$fpath")
while read line
do
if [[ "$line" == "$fileselect" ]]
then
exec /usr/bin/wine1 $fpath $2 $3
exit 0
else
s=$(echo "$s + 1" | bc)
fi
done < /etc/list-wine-soft
fi
fileselect=$(basename "$fpath")
while read line
do
if [[ "$line" == "$fileselect" ]]
then
exec /usr/bin/wine1 $fpath
echo "wine1 " "$fpath"
exit 0
else
s=$(echo "$s + 1" | bc)
echo "s " "$fpath"
fi
done < /etc/list-wine-soft
if [[ "$s" != 0 ]] && [[ "$fpath" != "" ]]
then
zenity --title="Система безопасности" --warning --text="У Вас нет прав\nна запуск данного windows-приложения\nпод ОС Linux в среде WINE\!\n\nОбратитесь к системному администратору.\n\nPS: Или звоните 102\!"
fi
echo $s
В "белый" список list-wine-soft добавляем приложения, кот. можно устанавливать или запускать. Можно пробовать... Были вопросы с запуском отчетов, тоже порешали, но об этом потом...
Да чуть не забыл, чтоб не приписывать себе все медали, данный чудо-скрипт был взят и отредактирован под собственные нужды с сайта http://www.sakryukin.ru/?module=articles&c=articles&b=8&a=5
cp /usr/bin/wine /usr/bin/wine1
Копируем на место настоящего wine следующий срипт с именем wine
#!/bin/bash
# Generated by Dyadyov Oleg & Nepomnyashiy Artem
# Скрипт позволяет запускать windows-приложения только из белого списка list-wine-soft
IFS=$'\t\n' # Переопределение разделителя (для имён с пробелом)
#echo $WINEPREFIX
s=0
arg=$#
if [[ "$arg" == 1 ]]
then
fpath=$1
else
fpath=$1
fileselect=$(basename "$fpath")
while read line
do
if [[ "$line" == "$fileselect" ]]
then
exec /usr/bin/wine1 $fpath $2 $3
exit 0
else
s=$(echo "$s + 1" | bc)
fi
done < /etc/list-wine-soft
fi
fileselect=$(basename "$fpath")
while read line
do
if [[ "$line" == "$fileselect" ]]
then
exec /usr/bin/wine1 $fpath
echo "wine1 " "$fpath"
exit 0
else
s=$(echo "$s + 1" | bc)
echo "s " "$fpath"
fi
done < /etc/list-wine-soft
if [[ "$s" != 0 ]] && [[ "$fpath" != "" ]]
then
zenity --title="Система безопасности" --warning --text="У Вас нет прав\nна запуск данного windows-приложения\nпод ОС Linux в среде WINE\!\n\nОбратитесь к системному администратору.\n\nPS: Или звоните 102\!"
fi
echo $s
В "белый" список list-wine-soft добавляем приложения, кот. можно устанавливать или запускать. Можно пробовать... Были вопросы с запуском отчетов, тоже порешали, но об этом потом...
Да чуть не забыл, чтоб не приписывать себе все медали, данный чудо-скрипт был взят и отредактирован под собственные нужды с сайта http://www.sakryukin.ru/?module=articles&c=articles&b=8&a=5
Автор, большая просьба написать о том, как именно добавлять приложения в белый список list-wine-soft. Прописывание пути до .exe файла, наименования приложения - не позволяют запускать программу. Заранее спасибо
ОтветитьУдалить