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

Автор Тема: Puppy без root.  (Прочитано 3584 раз)

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

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Puppy без root.
« : 31 Январь 2012, 13:54:32 »
 Предпринял третью попытку создать PuppyRus под управлением юзера. За основу принят 215. Система предназначена для установки на жёсткий диск, иначе нет смысла во всём этом. Пользователь создан на примонтированном к /home разделе диска, что позволило обходиться без save-файла, но может быть и на сервере.
 Пока не удаётся автоматом поднять сеть wi-fi при загрузке. Приходится перезапускать /etc/rc.d/rc.network через sudo. Не работает звук и urxvt.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Puppy без root.
« Ответ #1 : 31 Январь 2012, 16:52:40 »
дядя саша, первым делом на busybox ставим suid или gid незнаю какой правильнее, ну и еще на некоторые программы придется.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Puppy без root.
« Ответ #2 : 31 Январь 2012, 18:04:22 »
первым делом на busybox ставим suid
С этого и начал.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Puppy без root.
« Ответ #3 : 01 Февраль 2012, 16:33:46 »
 SFS здесь  puppyrus/users/DdShurick/pupm-215a1User.sfs
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Puppy без root.
« Ответ #4 : 05 Февраль 2012, 20:30:30 »
 Добавлены suid:
Xorg - для запуска иксов.
busybox - иначе не работает su
wvdial - иначе не работает gnome-ppp
udevd - иначе не определяются звуковые устройства
fdisk и guess_fstype - иначе pup_event не видит флешку не фат
 Так же потребовалось добавить suid в Skype - иначе нет звука и видео.
Каталог /root/.icewm перенесён в /etc/icewm
 sudoers:
Код
ALL ALL = NOPASSWD: /bin/busybox poweroff, /bin/busybox reboot, /bin/mkdir, /bin/rmdir, /bin/mount, /bin/umount, /usr/bin/do_sleep, /etc/acpi/actions/suspend.sh 
Ссылки /home/user/ /root/
Код
  Choices   .icewm  .opera-next  .purple  Startup
  .history  .icons  .pup_event   .Skype   .Xdefaults
Каталог /etc/network-wizard перенесён в /home/user/.network-wizard и заменён ссылкой.
« Последнее редактирование: 05 Февраль 2012, 20:37:25 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Liss

  • Ветеран
  • *****
  • Сообщений: 632
  • Репутация: +23/-0
Re:Puppy без root.
« Ответ #5 : 06 Февраль 2012, 08:33:28 »
DdShurick - как думаешь, реально будет эти решения использовать в повседневной работе?
Терпение, труд и какая-то мать, все перетрут.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Puppy без root.
« Ответ #6 : 06 Февраль 2012, 09:15:33 »
реально будет эти решения использовать в повседневной работе?
Уже неделю использую, полёт нормальный.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Puppy без root.
« Ответ #7 : 07 Февраль 2012, 12:18:23 »
suid я выставлю на нужных программах, а обустройство пользовательского каталога - задача тех кому это жизненно будет нужно.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Puppy без root.
« Ответ #8 : 07 Февраль 2012, 12:37:44 »
а обустройство пользовательского каталога
Можно включить в инсталлер.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Puppy без root.
« Ответ #9 : 07 Февраль 2012, 23:35:21 »
 Перезалил отдельными файлами pupm-215a2-User.sfs, usoft-net/sfs и user.tar.gz. Тарбол user.tar.gz распаковать на выбранный для /home раздел (ext) и прописать раздел в строку загрузки userdir=sdXX.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Puppy без root.
« Ответ #10 : 14 Февраль 2012, 15:09:38 »
 Обновление - pupm-215a3-User.sfs. В загрузочную запись вписывать UUID="****" (получить можно командой blkid /dev/sdaX -s UUID)
 Может есть смысл выложить на тестирование?
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Puppy без root.
« Ответ #11 : 14 Февраль 2012, 15:16:07 »
если выкладывать то надо подготовить анонс с разъяснением концепции, иначе все быстро будет послано
тестовый образцовый usoft бы выложить хотя бы с одним браузером....
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Puppy без root.
« Ответ #12 : 14 Февраль 2012, 17:42:37 »
тестовый образцовый usoft бы выложить хотя бы с одним браузером....
usoft там в комплекте.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Puppy без root.
« Ответ #13 : 22 Февраль 2012, 16:39:19 »
 Есть некоторые мысли по поводу "голого короля" (имею в виду $(ls /root) = "")
На мой взгляд система будет идеально подселяться к win7. На первый (скрытый) раздел в корень помещаем grldr и файлы puppy, второй раздел (C:\) монтируется к /home и там создаётся user (можно распаковкой архива). Основные файлы системы недоступны для "неправильной ОС", а если удалить /user, то получим загрузку в консоль (nox), а из консоли восстановить юзера "как два пальца об асфальт". А это значит, что система неубиваема и легко восстанавливается, что собственно и требовалось.
 С другой стороны юзер ничего не может сломать в windows, прав нет.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re:Puppy без root.
« Ответ #14 : 01 Март 2012, 21:24:33 »
 Вот собрал свои записи, что я делал:
1. Создание пользователя.
Выбираем (или создаём, если нет) раздел для пользователя (желательно ext)
Получаем UUID раздела командой blkid -s UUID <наш раздел> и вписываем полученное значение в строку загрузки kernel menu.lst или grub.cfg (UUID="полученное число"). *примечание - вопрос спорный, возможно лучше применить LABEL="home".
Монтируем раздел mount UUID="полученное число" /home.
 *дальнейшие действия я производил вручную, но можно применить команду adduser user. Тогда достаточно будет сделать копию содержимого /root в /home/user.
Создаём каталог /home/user (или с другим именем).
Копируем всё /initrd/pup_ro2/root/* в /home/user/ (можно исключить spot за ненадобностью)
Меняем владельца chown -R user:user /home/user (или chown -R spot:spot /home/user, если не было команды adduser)

2. Изменения в системе.
Распаковываем unsquashfs pupm-21*.sfs и производим в squashfs-root следующие изменения:
Создаем скрипт autologin (вариант для одного пользователя, для нескольких скрипт будет сложнее или можно логиниться через консоль)
#!/bin/sh
login -f user
и записываем его в /etc/inittab вместо autologinroot
Добавляем /usr/sbin/sudo и /etc/sudoers

Заменяем /etc/[group, gshadow, passwd, shadow] на файлы с добавленным пользователем, или вписываем пользователя вручную вместо spot.
Каталог /etc/network-wizard переносим на раздел /home, делаем скрытым (.network-wizard), на его место помещаем ссылку. Это нужно для сохранения настроек сети.

/etc/rc.d/rc.sysinit добавляем строку 436 [ $UUID ] && mount UUID=$UUID /home
можно дописать в конец строки 112 -o ro для монтирования раздела с файлами puppy только для чтения, но это не обязательно.

Добавляем suid:
/usr/X11R7/bin/Xorg - иначе не запускаются иксы
/bin/busybox - иначе не работает команда su
/usr/bin/wvdial - иначе не работает gnome-ppp
/sbin/udevd 
/sbin/fdisk, /sbin/guess_fstype - для нормальной работы pup_event
/bin/losetup-FULL - для нормальной работы load_sfs
/usr/local/bin/urxvt (плюс chmod 0666 /dev/tty) - иначе не работает

Прочёсываем все скрипты greep /root и заменяем на $HOME (можно sed 's/\/root/$HOME/g')
Мой список:
/bin - mount, umount
/sbin - pup_event_frontend_d, probepart, probedisk, probedisk2, probedisk-RETIRED, clean_desk_icons
/usr/bin - dir2pet, gtkdialog-splash, pup2pet, obexpushd.sh
/usr/sbin - bootflash, delayedrun, desktopshortcut.sh, fixmenus, fixPuppyPin, icon_switcher, ndiswrapperGUI.sh, pmount, remove_builtin, save2image, set-xftdpi, xdelta-gui
/etc/rc.d - rc.sysinit, rc.update, rc.shutdown, functions4puppy4
/usr/X11R7/bin/xwin
/home/user - .xinitrc, .icewm/startup

fixmenus строка 16 ONEDEST="${HOME}`echo....далее без изменений
переименовать /etc/xgd/templates/_.icewm_menu

/mnt можно сделать пустым (не обязательно)
Можно удалить get-pet, pet-пакеты устанавливать нет смысла, после перезагрузки удалятся.

Создаём новый главный sfs - mksquashfs squashfs-root/ pupm-21*-User.sfs
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64