Сайт | Скачать | Видео | Wiki

Автор Тема: loginroot  (Прочитано 310 раз)

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

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6208
  • Репутация: +160/-0
  • Старый чайник
loginroot
« : 22 Сентябрь 2018, 21:15:55 »
 Переписал loginroot на си. Пример запуска из консоли: # ./loginroot leafpad /usr/bin/gparted (правка пускового скрипта, там была ошибка "от производителя")
В пусковой скрипт любой программы (не обязательно gparted, он под руку подвернулся) вписываем в начале: if [ "`id -u`" != 0 ]; then
  loginroot $0 $@
exit 0
fi
« Последнее редактирование: 23 Сентябрь 2018, 08:07:44 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 693
  • Репутация: +11/-0
Re: loginroot
« Ответ #1 : 22 Сентябрь 2018, 22:04:13 »
Переписал loginroot на сииз под юзера запустить любую программулину с рутовыми правами?
без запроса паролей?
исходники на гитхабе?

1.нетбук  Samsung N145 (оси: ubuntu+OLS, PRA)
2.стационары(пеньки,2-8Gb,Radeon RX460, ubuntu+openBox+LXPanel, PRA)

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6208
  • Репутация: +160/-0
  • Старый чайник
Re: loginroot
« Ответ #2 : 23 Сентябрь 2018, 06:31:27 »
без запроса паролей?
С запросом. Без запроса sudo есть.
исходники на гитхабе?
Нет, в архиве.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 693
  • Репутация: +11/-0
Re: loginroot
« Ответ #3 : 23 Сентябрь 2018, 07:27:57 »
глянул, гуй для запроса рутового пароля, нормально
сходу не въехал, думал замена sudo, su  :o

пс
под убунтой su не нравится что запускается не в терминале:
su: must be run from a terminalсоответственно 16я строчка
if((system(cmd))!=0) { printf("%s\n","Неверный пароль"); exit(1); }постоянно возвращает "неверный пароль"
« Последнее редактирование: 23 Сентябрь 2018, 08:39:53 от k0l0p0k »
1.нетбук  Samsung N145 (оси: ubuntu+OLS, PRA)
2.стационары(пеньки,2-8Gb,Radeon RX460, ubuntu+openBox+LXPanel, PRA)

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6208
  • Репутация: +160/-0
  • Старый чайник
Re: loginroot
« Ответ #4 : 23 Сентябрь 2018, 09:11:45 »
под убунтой
То "бубунта", там свои тараканы.
Для сравнения собрал gksu. Потянул зависимоти: libgksu, libgtop, libgnome-keyring, libgconf, всё в сборе 1964 Kb, и не работает Failed to run leafpad as user root
Failed to fork new process: Нет такого файла или каталога
"Ноев ковчег был построен любителем, а профессионалы создали Титаник"
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 693
  • Репутация: +11/-0
Re: loginroot
« Ответ #5 : 23 Сентябрь 2018, 09:35:05 »
"Ноев ковчег был построен любителем, а профессионалы создали Титаник"
ну "профессионалы" Титаник нормально собрали имхо,
они ж не думали что им будут ТАранить айсберги :)
- -- -- --- -- -
под бубунтой su пароль только с tty принимает(соображения безопасности)
через stdin не передать, печалька
...
sudo попробовать прилепить может?(это мысли вслух :) )

« Последнее редактирование: 23 Сентябрь 2018, 09:36:47 от k0l0p0k »
1.нетбук  Samsung N145 (оси: ubuntu+OLS, PRA)
2.стационары(пеньки,2-8Gb,Radeon RX460, ubuntu+openBox+LXPanel, PRA)

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6208
  • Репутация: +160/-0
  • Старый чайник
Re: loginroot
« Ответ #6 : 23 Сентябрь 2018, 09:49:14 »
sudo попробовать прилепить
Попробуйте. Вместо "su -c" "sudo" строка 10: char cmd[48]="sudo \"";
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 693
  • Репутация: +11/-0
Re: loginroot
« Ответ #7 : 23 Сентябрь 2018, 09:55:09 »
Попробуйте. Вместо "su -c" "sudo" строка 10:
уже ковыряю )
немного не то получается
еще раз потом в консоли пароль спрашивает
а нужно чтоб из entry передал
« Последнее редактирование: 23 Сентябрь 2018, 09:57:43 от k0l0p0k »
1.нетбук  Samsung N145 (оси: ubuntu+OLS, PRA)
2.стационары(пеньки,2-8Gb,Radeon RX460, ubuntu+openBox+LXPanel, PRA)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 693
  • Репутация: +11/-0
Re: loginroot
« Ответ #8 : 23 Сентябрь 2018, 09:58:25 »
советуют
echo <password> | sudo su -c <command> <user>или
echo <password> | sudo -S -u <user> <command>
пс не робит ((
передает <password> в <command>, а не sudo
(под бубунтой)
« Последнее редактирование: 23 Сентябрь 2018, 11:03:37 от k0l0p0k »
1.нетбук  Samsung N145 (оси: ubuntu+OLS, PRA)
2.стационары(пеньки,2-8Gb,Radeon RX460, ubuntu+openBox+LXPanel, PRA)

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6208
  • Репутация: +160/-0
  • Старый чайник
Re: loginroot
« Ответ #9 : 23 Сентябрь 2018, 09:59:43 »
еще раз потом в консоли пароль спрашивает
У меня тоже, но это просто видимость, ничего вводить не надо # ./loginroot leafpad
Password:
#
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6208
  • Репутация: +160/-0
  • Старый чайник
Re: loginroot
« Ответ #10 : 23 Сентябрь 2018, 13:10:58 »
 Добавил sudo. После установки сделать "ln -s loginroot loginsudo". Если вызвать как loginroot, работает как "su -c", если как loginsudo, как "sudo"
« Последнее редактирование: 23 Сентябрь 2018, 17:52:56 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 693
  • Репутация: +11/-0
Re: loginroot
« Ответ #11 : 23 Сентябрь 2018, 16:26:26 »
30я строчка
if (argc=='3') { strcat(cmd," "); strcat(cmd,argv[3]); }если число аргументов три(argc=='3') добавим четвертый?? (argv[3])  - не могу въехать  ???
и почему argc сравнивается со строкой('3'), это же числовой тип, в Си вроде строго с этим
и компилятор не ругается..странно..
1.нетбук  Samsung N145 (оси: ubuntu+OLS, PRA)
2.стационары(пеньки,2-8Gb,Radeon RX460, ubuntu+openBox+LXPanel, PRA)

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6208
  • Репутация: +160/-0
  • Старый чайник
Re: loginroot
« Ответ #12 : 23 Сентябрь 2018, 17:08:18 »
не могу въехать
В мою дурость трудно въехать :D Это ошибка. Должно быть: if (argv[3]) { strcat(cmd," "); strcat(cmd,argv[3]); } Исправил, перезалил.
 :(  :'( тоска зелёная, в команду всякий мусор полез, пришлось переделывать if (argc>=3) { strcat(cmd," "); strcat(cmd,argv[2]); }
if (argc==4) { strcat(cmd," "); strcat(cmd,argv[3]); }
Ещё раз перезалил.
« Последнее редактирование: 23 Сентябрь 2018, 17:56:06 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23488
  • Репутация: +172/-0
    • PuppyRus-A
Re: loginroot
« Ответ #13 : 23 Сентябрь 2018, 17:41:38 »
loginroot на си
В чем смысл гуев на СИ? На yad тормозило? Или чтобы никто у нас поправить не мог... ;)
1. При запросе пароля нет ОК
2. При неправильном пароле - ошибки только в консоле. Раз си - где libnotify ?
3. Под gtk3 будет? Если поправить Makefile - не компилится

Оффлайн DdShurick

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 6208
  • Репутация: +160/-0
  • Старый чайник
Re: loginroot
« Ответ #14 : 23 Сентябрь 2018, 18:07:51 »
Вообще-то loginroot специально для Richy64. На PRA не нужен, там sudo есть.
На yad тормозило?
На yad у меня мозги тормозят. На gtkdialog ошибки лезли.
При запросе пароля нет ОК
И не надо, Enter в этом случае намного удобнее.
Раз си - где libnotify ?
Какой прыткий. Не всё сразу, надо растянуть удовольствие.
Под gtk3 будет?
Нет, там всё по другому и неизвестно как. Инструкции устарели, новых нет.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150)
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (Intel Atom N270, intel GMA 950)
Nettop Asus Eee Box PC EB1007 (Intel Atom D425, Intel GMA 3150)