Октябрь 08, 2017, 02:43:22 pm

Автор Тема: Нужна помощь в проекте xroot - GUI для su/sudo  (Прочитано 5358 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AlexL

  • Любопытный
  • **
  • Сообщений: 50
  • Рейтинг помощника: +2/-0
Проект: http://code.google.com/p/xroot/
Исходники: http://xroot.googlecode.com/files/xroot-src-0.0.3.tar.gz
Готова версия xroot-0.0.3 для тестирования.
На сайте http://code.google.com/p/xroot/downloads/list выложены архивы для 32bit и для 64bit. Из них надо лишь извлечь исполняемый файл xroot неважно куда (например, в /usr/bin/). Можно просто положить xroot на Рабочий стол и дважды щелкнуть - запустится окно, в котором будет предложено ввести команду, пароль и выбрать su/sudo. Возможна отладка: надо запустить xroot в консоли с параметром debug, поэтому если какая-то программа ведет себя странно, то попытайтесь по возможности выяснить почему.
Более подробное описание: http://code.google.com/p/xroot/wiki/003

Необходимо составить и здесь написать список программ, которые запускаются удачно и список программ проблемных.
Также необходимо протестировать в различных DE (KDE, LXDE, Gnome и т.д.) и в различных дистрибутивах у кого какие установлены.

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

Получить бинарник из исходников просто:

1) установить пакеты fpc и fpc-src,
2) затем выполнить скрипт get_msegui_32_64,
3) затем выполнить скрипт build_xroot_without_gui_32 (или build_xroot_without_gui_64).

Для сборки rpm-пакетов есть xroot.spec, а для сборки deb-пакетов есть скрипт debian.compile.sh
Консоль на мыло. Надо развивать графику.

Оффлайн andreyluk2

  • Модераторы
  • Новичок
  • ***
  • Сообщений: 41
  • Рейтинг помощника: +2/-0
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #1 : Март 20, 2012, 10:10:05 am »
Вопрос для чего єта  програма надо? Кто знает какую нужно запустить  команду он и в консоли запустит, а кто не знает то єта програма ему не поможет.

Оффлайн etc

  • Модераторы
  • Долгожитель
  • ***
  • Сообщений: 578
  • Рейтинг помощника: +47/-0
  • PCLinuxOS : Radically Simple
    • EtcPCLinuxOS
« Последнее редактирование: Март 31, 2012, 10:15:50 am от etc »

Оффлайн AlexL

  • Любопытный
  • **
  • Сообщений: 50
  • Рейтинг помощника: +2/-0
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #3 : Март 20, 2012, 07:58:50 pm »
Это пока тестовый вариант, когда будет релиз я напишу, пока в репозиторий не ложите.
Надо протестить:
1) как работает на разных локалях, отличной от английской:
- при запуске xroot в консоли будет показано как переведены сообщения из .mo-файлов - если нет кракозябров, то вроде как правильно переведено, о кракозябрах сообщайте,
- если присутствуют при этом в переводе непереведенные английские фразы, то надо разбираться действительно ли они в системе не переведены, сообщайте о непереведенных английских фразах, которые в системе на самом деле переведены,
2) надо проверить правильно ли работает sudo: запустить несколько иксов и проверить на том ли дисплее работает.

Просьба выложить spec-файл. Не понятно почему файловые утилиты если это системная программа.

Для чего программа xroot?
До написания xroot в linux напрочь отсутствовал унифицированный простой вариант получения root-привилегий в графике.
kdesu только для kde, можно использовать и в других DE, но потянет половину кед, xroot при этом работает в любых DE и не тянет за собой вообще ничего, да еще и без установки работает.
beesu только для федоры,
gksu требует установки, предустановлен не везде, при установке тянет порядка восьми дополнительных пакетов, не развивается, но при этом sudo уже давно надо запускать через скрипт xsudo.
Преимущества xroot:
- унифицирован для всех DE,
- не тянет зависимостей,
- работает без установки,
- использует скрипт xsudo,
- xroot - это всего один единственный исполняемый файл, но при этом говорит пока на двух языках - английском и русском, имеет свой собственный терминал (показывается при опции debug),
- не привязан к системе и командам из этой системы кроме su и sudo, другие команды не используются в коде,
- если админ через /etc/sudoers разрешил запуск какой-то программы беспарольно, то через xroot она также запустится беспарольно.
Преимущества существенны перед другими аналогами.
Примеров использования xroot можно привести много: часто сторонней программе требуется запросить root-привилегии и выполняться под root (так работает установка и удаление программ, настройка системных параметров и т.д., драйвера тоже ставятся под root, различные инсталляторы и т.д).
Теперь автор таких программ не должен заботиться о том как запросить и получить root-привилегии, он не должен искать kdesu/gksu/beesu, их может и не быть установлено, xdg-su-скрипт тоже больше не нужен, да и не сможет он всегда сработать. Теперь достаточно включить в такую программу всего один-единственный бинарник xroot и через него запуститься.

С появлением xroot могут начать сильнее развиваться различные инсталляторы программ как то сделано в Windows, драйвера. Да, в linux принято ставить пакеты, но как вариант если программа имеет свой инсталлятор и uninstall (можно будет ставить инсталлятором пакеты всем скопом тоже, относящимися к устанавливаемой программе) то почему бы и нет, к тому же существует масса виндовых программ, которые работают в одной директории, думается, что xroot сможет породнить винду и линукс, уменьшить различия между ними, по крайней мере новичкам существенно облегчится многое.

Отвечая для себя на вопрос о том почему Ubuntu стал самым популярным дистрибутивом, я пришел к выводу о том, что он sudo-дистрибутив, а как известно для sudo можно передать пароль админа простым перенаправлением ввода вывода! Поэтому, именно в Ubuntu легко сторонней программе получить root-привилегии. Отсюда и такая популярность. С появлением xroot получить root привилегии для su-дистрибутивов стало также легко.

Почему никто не написал xroot ранее? Потому что su требует терминала для ввода пароля и пришлось бы в фронтэнде для su реализовать свой терминал. На Си оказалось, что реализовать свой терминал не так просто - итоговая программа оказывалась зависимой от других программ и библиотек, а сам код оказывался сложным.
Посмотрите код xroot - он прост и понятен даже школьнику. Дело всё в том, что автор msegui сделал свой компонент tterminal, и, как следствие, программа на паскале оказывалась бы проще сишной. Но у msegui есть и другие преимущества - отсутствие привязки к DE. И вот результат: xroot прост и в действии и в коде и его функционал особенный.

Приведу более конкретные примеры применения xroot чтобы было понятно зачем он нужен и почему именно он:
1) проект http://code.google.com/p/vpnpptp/ - программа настройки и программа установления интернет соединения требует административных полномочий, для того чтобы работать в различных дистрибутивах и DE работает через beesu/kdesu/gksu, но ведь эта программа только должна еще настроить интернет нельзя же в отсутствие интернета установить gksu и восемь (!) пакетов к gksu - через xroot упрощение установки в разы.
2) проект http://code.google.com/p/addonsetup/ - по сути это болванка с репозиторием и инсталлятор на этой болванке, но вот беда как получить root-привилегии? xroot решает эту задачу легко, достаточно положить его бинарники для 32bit и 64 bit на диск, следствие - установка прог для линукс с дисков,
3) проект http://code.google.com/p/vpnpptpsetup/ пользователи любят за то, что он ставит пакеты, выбирая нужные пакеты для дистрибутива, да, архив не малый, но это всего один файл, но если пользователь не разбирается совсем, то ему проще инсталлятор использовать, который за него все сделает, и главное, что практика показала востребованность такого инсталлятора (его скачивают 1500 раз в месяц), упаковав в него xroot, инсталлятор легко запросит root привилегии и установит необходимый софт.
Арч линукс тоже на xroot уже глаз положил. Так что сфера применения безгранична, я описал лишь свои проекты.
« Последнее редактирование: Март 20, 2012, 09:02:57 pm от AlexL »
Консоль на мыло. Надо развивать графику.

Оффлайн AlexL

  • Любопытный
  • **
  • Сообщений: 50
  • Рейтинг помощника: +2/-0
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #4 : Март 20, 2012, 10:11:48 pm »
Да, еще часто задают вопрос безопасно ли использование xroot. Да, безопасно.
Когда вводится пароль root в графическом окне, то он также вводится в терминале, который есть у xroot (и который невидим без опции debug). После ввода пароля root если все ОК, то в этом терминале запускается программа. То есть нет никаких отличий от обычного запуска программ в терминале через su/sudo, только через графику xroot это удобнее. Пользователь пароль root не знает. Использование xroot также безопасно как и использование kdesu/beesu/gksu. Будут безопасны и все проекты, использующие xroot, если в них будет исходный код проекта xroot, а бинарник xroot соберется при сборке пакета такой программы или если у этой программы xroot находится в зависимостях как отдельный пакет.
« Последнее редактирование: Март 20, 2012, 10:14:47 pm от AlexL »
Консоль на мыло. Надо развивать графику.

Оффлайн WildFreckles

  • Новичок
  • *
  • Сообщений: 30
  • Рейтинг помощника: +1/-0
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #5 : Март 28, 2012, 03:00:40 am »
пробовал xroot  -  работает у меня без сбоев
интерфейс - в виде няшно-розового диалогового окошка
немного смутило, то что окошко нельзя перемещать по  экрану
AMD Phenom X4 920/ ESC A780/2Gb DDR2

Оффлайн AlexL

  • Любопытный
  • **
  • Сообщений: 50
  • Рейтинг помощника: +2/-0
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #6 : Март 29, 2012, 01:58:41 am »
Собрал пакеты потестить http://code.google.com/p/xroot/downloads/list
Также есть сборка, не требующая установки.
Надо проверить не только работоспособность xroot (устанавливается в Утилиты->Системные), но и проверить насколько универсальными получились пакеты.
rpm-пакеты собраны в Ubuntu через alien из deb-пакетов - это должно позволить установить эти пакеты во всех rpm-дистрибутивах (spec-файл также имеется если нужно собрать rpm-пакет для конкретного дистрибутива в репозиторий).
Работу xroot надо проверить на разных локалях, разных кодировках и разных языках. По возможности погонять в различных дистрибутивах и DE.
Принимаются любые замечания.
Консоль на мыло. Надо развивать графику.

Оффлайн etc

  • Модераторы
  • Долгожитель
  • ***
  • Сообщений: 578
  • Рейтинг помощника: +47/-0
  • PCLinuxOS : Radically Simple
    • EtcPCLinuxOS
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #7 : Март 31, 2012, 10:24:01 am »
Надо проверить не только работоспособность xroot (устанавливается в Утилиты->Системные), но и проверить насколько универсальными получились пакеты.

1. Автоматически в меню PCLinuxOS утилита не появляется. К System;Utility надо добавить X-MandrivaLinux-System-куда...
2. В spec-файл в BuildRequires добавить %{_lib}x11-devel: без него не собирается.

Оффлайн AlexL

  • Любопытный
  • **
  • Сообщений: 50
  • Рейтинг помощника: +2/-0
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #8 : Март 31, 2012, 12:04:19 pm »
Спасибо, поправил.
Консоль на мыло. Надо развивать графику.

Оффлайн AlexL

  • Любопытный
  • **
  • Сообщений: 50
  • Рейтинг помощника: +2/-0
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #9 : Март 31, 2012, 12:34:20 pm »
немного смутило, то что окошко нельзя перемещать по  экрану
пока реализация именно такая.
Консоль на мыло. Надо развивать графику.

Оффлайн AlexL

  • Любопытный
  • **
  • Сообщений: 50
  • Рейтинг помощника: +2/-0
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #10 : Апрель 02, 2012, 09:48:05 pm »
Исправил найденные недоработки:
- в spec-файле добавлена зависимость, необходимая для сборки пакета - gcc (всплыло в Fedora),
- поиск локализаций не только в /usr/share/local/ (приоритетно), но и в /usr/share/local-langpack/ (вспомогательно) (особенность Ubuntu),
- добавлена необходимость перевода фразы "Authentication failure" (для Debian/Ubuntu),
- добавлен обход стороной бага https://bugzilla.redhat.com/show_bug.cgi?id=809009 (Fedora).

Исправления в версии 0.0.3 (новую версию не делал, исправил ту же). Для PCLinuxOS мой spec-файл должен подойти.

Поправки не затрагивают PCLinuxOS, так как локализация в /usr/share/local/, su не ругается, что "Authentication failure", ну и никто пока не додумался из переводчиков ложить mo-файлы от других архитектур - такое пока только в Fedora.
Консоль на мыло. Надо развивать графику.

Оффлайн AlexL

  • Любопытный
  • **
  • Сообщений: 50
  • Рейтинг помощника: +2/-0
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #11 : Апрель 02, 2012, 11:04:14 pm »
Выпущен релиз xroot-0.0.3.
Протестирован в Ubuntu, Debian, Fedora, Mageia, Mandriva, Edumandriva, OpenSuse, PCLinuxOS.
Консоль на мыло. Надо развивать графику.

Оффлайн etc

  • Модераторы
  • Долгожитель
  • ***
  • Сообщений: 578
  • Рейтинг помощника: +47/-0
  • PCLinuxOS : Radically Simple
    • EtcPCLinuxOS

Оффлайн etc

  • Модераторы
  • Долгожитель
  • ***
  • Сообщений: 578
  • Рейтинг помощника: +47/-0
  • PCLinuxOS : Radically Simple
    • EtcPCLinuxOS
Re: Нужна помощь в проекте xroot - GUI для su/sudo
« Ответ #13 : Январь 17, 2013, 08:57:14 pm »
Собрал пакет xroot последней версии 0.0.6: http://repo.pclinuxos.su/rulinuxos/apt/etc/i586/RPMS.main/xroot-0.0.6-3pclos2013.i586.rpm
« Последнее редактирование: Январь 19, 2013, 10:27:39 pm от etc »