Автор Тема: RuleUser - управление пользователями в сети  (Прочитано 80750 раз)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
rotkart
Лучше на почту пишите xak-altsp, см. в профиле когда он заходил последний раз на форум. Почта есть в about программки.
Я включение не тестировал.
Сноси Винду, переходи на Линукс ! :)

Оффлайн rotkart

  • Завсегдатай
  • *
  • Сообщений: 661
    • Email
rotkart
Лучше на почту пишите xak-altsp, см. в профиле когда он заходил последний раз на форум. Почта есть в about программки.
Я включение не тестировал.
Спасибо! Напишем.
Научить нельзя, научиться можно.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Спасибо! Напишем.
Если не сложно, сюда запостите потом о результате переписки, может быть мне тоже в ближайшее время будет интересна эта функция.
Сноси Винду, переходи на Линукс ! :)

Оффлайн rotkart

  • Завсегдатай
  • *
  • Сообщений: 661
    • Email
Если не сложно, сюда запостите потом о результате переписки, может быть мне тоже в ближайшее время будет интересна эта функция.

Доброго дня! Конечно, не сложно.
В переписке с автором мы все решили - проблема касалась только standalone компьютеров.
Надеюсь, скоро будет исправление в репозитории.

UPD: С разрешения автора прикрепляю файл с исправлением - им нужно заменить /usr/share/ruleuser/command.py
« Последнее редактирование: 27.11.2015 15:58:48 от rotkart »
Научить нельзя, научиться можно.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Да, кстати недавно приехал исправленный xorg-extensions-vnc в p7. Так что сейчас vnc можно запускать через модуль xorg, прописав загрузку модуля в конфиге.
https://bugzilla.altlinux.org/show_bug.cgi?id=29277
Так для информации...
Сноси Винду, переходи на Линукс ! :)

Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
    • Email
Есть где-нибудь пошаговая инструкция как это настроить в компьютерном классе? Полистал пару страниц в этой теме и не понял ничего  :-(

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Есть где-нибудь пошаговая инструкция как это настроить в компьютерном классе? Полистал пару страниц в этой теме и не понял ничег
Это читали https://www.altlinux.org/LTSP/Управление_клиентами ?

Порядок такой:
- на главную машину установить ruleuser
- на клиентах установить ruleuser-client
- на клиенты разложить SSH-ключи root и всем пользователям

После этого должно работать со стандартными настройками хотя бы через x11vnc.
Сноси Винду, переходи на Линукс ! :)

Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
    • Email
Если на клиентах вручную запустить x11vnc у меня всё заработало. Правда не так как я наделся, но всё же хоть как-то. Но что сделать, чтобы не на клиентах x11vnc запускать, а сервер удалённо это запускал? SSH ключи разложил только не root, а обычного пользователя с помощью команды ssh-copy-id я правильно понял? Как разложить именно root ключи? И как потом настроить? Можно ли не через x11vnc, а что-нибудь ещё?
Как в данной программе запустить трансляцию своего экрана? Не нашёл одной простой кнопки. Смог сделать только так:
в трансляции нажал у своего компа начать трансляцию. Отобразился адрес с номером порта http://192.168.0.2:56789
И я отправил команду на клиента по ssh.
На весть экран:
vlc -f http://192.168.0.2:56789Или в окне:
vlc http://192.168.0.2:56789На клиенте открылся vlc и началась трансляция, но для обычного учителя информатики это будет сложновато. Да и вообще неудобно. На уроке нет времени для кучи кликов. Чем быстрее всё будет запускаться тем лучше. Есть ли какая-нибудь кнопка одна для этого?
И как отправить одну команду сразу нескольким клиентам? Если ли вообще по программе какая-нибудь инструкция?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
И как отправить одну команду сразу нескольким клиентам? Если ли вообще по программе какая-нибудь инструкция?
Через ssh ?  - напишите скрипт.

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Но что сделать, чтобы не на клиентах x11vnc запускать, а сервер удалённо это запускал?
Хм, у меня тоже на стац. клиенте не получилось сходу... хотя определённо работало раньше.
Посмотрите здесь внизу страницы "VNC для p5/p6" https://www.altlinux.org/LTSP/lts.conf, есть возможность через Xorg запускать vnc.

Как разложить именно root ключи?
Перенести содержимое $USER/.ssh/authorized_keys в /root/.ssh/authorized_keys

Можно ли не через x11vnc, а что-нибудь ещё?
Через NX можно, но я не смотрел.

для обычного учителя информатики это будет сложновато
Команду можно добавить в шаблоны: Настройки -> Сообщения/Команды
Да вроде не жаловались, пришёл, настроил, показал куда тыкать - пока всё норм.

как отправить одну команду сразу нескольким клиентам?
Можно создать группу и отправить сразу всей группе, либо выделить через Ctrl/Shift несколько клиентов.

Если ли вообще по программе какая-нибудь инструкция?
Только ссылка из первого поста.

Вопросов получилось больше чем ответов, но, например, я трансляцию почти не тестировал, она мне не нужна. Я использую на терминальном сервере LTSP, как тогда настроил, по сей день всё работает.
« Последнее редактирование: 30.01.2017 12:51:40 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
    • Email
Большое спасибо!
Всё сегодня буду пробовать :-)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Всё сегодня буду пробовать
Спрашивайте если что-то будет непонятно, попробую подсказать.

Да, забыл спросить, у вас какая ОС/DE ?

Просто на Simply 7 p7 поправил в файле немного команду автозапуска vnc на клиенте, добавив опцию -auth /var/run/lightdm/username/xauthority, тогда работает.
Суть проблемы в том, что не удаётся подключиться к граф. сессии только через:
export DISPLAY=:0.0Видимо из-за LightDM.
Кстати, без этой опции не работает отправка сообщений и все команды, которым нужен доступ к граф. сессии.
Не знаю, как-то может по-другому можно решить...
« Последнее редактирование: 30.01.2017 16:44:39 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
    • Email
Всё сегодня буду пробовать
Спрашивайте если что-то будет непонятно, попробую подсказать.
Очень признателен!

Да, забыл спросить, у вас какая ОС/DE ?
Школьная Комета в четвёртых кедах.

В целом всё работает, только плохо, что не само.
С x11vnc решил так: в папку ~/.kde/Autostart на клиентах положил такой файл:
#!/bin/sh
x11vnc -find -shared -loop -noxdamage -defer 3000
Из параметров знаю только loop это чтобы не сервер не отключался, а перезагружался, после отключения клиента, и shared - это возможность подключаться. Остальные параметры взял из строки в RuleUser и не знаю что они значат.
Может поправит кто знающий?
И ещё. Для блокировки нужен xscreensaver. Но автоматически он при старте системы не запускается. Если стартануть графический фронтэнд, то он говорит, что демон не запущен и предлагает запустить. Если согласиться, то он его запускает и всё работает. Как запустить демон при старте системы правильно я не понял, так что люто бешено реквестирую хелпа в данном вопросе. Пока решил файлом в ~/.kde/Autostart такого содержания:
#!/bin/sh
xscreensaver
Не очень мне нравится, что при старте системы теперь вылезает сплэш этого xscreensaver.

UPD
Что-то там плохо голова соображала, наверное. Там я пытался разобраться так:
$ xscreensaver --help
xscreensaver 5.34, copyright (c) 1991-2015 by Jamie Zawinski <jwz@jwz.org>

  All xscreensaver configuration is via the `~/.xscreensaver' file.
  Rather than editing that file by hand, just run `xscreensaver-demo':
  that program lets you configure the screen saver graphically,
  including timeouts, locking, and display modes.

  Just getting started?  Try this:

        xscreensaver &
        xscreensaver-demo

  For updates, online manual, and FAQ, please see the web page:

       http://www.jwz.org/xscreensaver/

$ xscreensaver-command

usage: xscreensaver-command -<option>

  This program provides external control of a running xscreensaver process.
  Version 5.34, copyright (c) 1991-2015 Jamie Zawinski <jwz@jwz.org>.

  The xscreensaver program is a daemon that runs in the background.
  You control a running xscreensaver process by sending it messages
  with this program, xscreensaver-command.  See the man pages for
  details.  These are the arguments understood by xscreensaver-command:

  -demo         Ask the xscreensaver process to enter interactive demo mode.

  -prefs        Ask the xscreensaver process to bring up the preferences
                panel.

  -activate     Turn on the screensaver (blank the screen), as if the user
                had been idle for long enough.

  -deactivate   Turns off the screensaver (un-blank the screen), as if user
                activity had been detected.

  -cycle        If the screensaver is active (the screen is blanked), then
                stop the current graphics demo and run a new one (chosen
                randomly.)

  -next         Like either -activate or -cycle, depending on which is more
                appropriate, except that the graphics hack that will be run
                is the next one in the list, instead of a randomly-chosen
                one.  In other words, repeatedly executing -next will cause
                the xscreensaver process to invoke each graphics demo
                sequentially.  (Though using the -demo option is probably
                an easier way to accomplish that.)

  -prev         Like -next, but goes in the other direction.

  -select <N>   Like -activate, but runs the Nth element in the list of
                hacks.  By knowing what is in the `programs' list, and in
                what order, you can use this to activate the screensaver
                with a particular graphics demo.  (The first element in the
                list is numbered 1, not 0.)

  -exit         Causes the xscreensaver process to exit gracefully.
                This does nothing if the display is currently locked.
                (Note that one must *never* kill xscreensaver with -9!)

  -restart      Causes the screensaver process to exit and then restart with
                the same command line arguments as last time.  You shouldn't
                really need to do this, since xscreensaver notices when the
                .xscreensaver file has changed and re-reads it as needed.

  -lock         Tells the running xscreensaver process to lock the screen
                immediately.  This is like -activate, but forces locking as
                well, even if locking is not the default.  If the saver is
                already active, this causes it to be locked as well.

  -version      Prints the version of xscreensaver that is currently running
                on the display -- that is, the actual version number of the
                running xscreensaver background process, rather than the
                version number of xscreensaver-command.

  -time         Prints the time at which the screensaver last activated or
                deactivated (roughly, how long the user has been idle or
                non-idle -- but not quite, since it only tells you when the
                screen became blanked or un-blanked.)

  -watch        Prints a line each time the screensaver changes state: when
                the screen blanks, locks, unblanks, or when the running hack
                is changed.  This option never returns; it is intended for
                by shell scripts that want to react to the screensaver in
                some way.

  See the man page for more details.
  For updates, check http://www.jwz.org/xscreensaver/
А вот сейчас дома набрал:
$ man xscreensaver
....
xscreensaver [-display host:display.screen] [-verbose] [-no-splash] [-no-capture-stderr] [-log filename]
....
Вот и -no-splash  :-)
Рискну предположить, что файл:
#!/bin/sh
xscreensaver -no-splash
сделает как надо. Однако, может есть ещё более правильный способ запуска этого демона при старте?
« Последнее редактирование: 30.01.2017 22:51:02 от tema »

Оффлайн tema

  • alt linux team
  • ***
  • Сообщений: 2 073
    • Email
Как разложить именно root ключи?
Перенести содержимое $USER/.ssh/authorized_keys в /root/.ssh/authorized_keys
На сервере? Потом надо будет ssh-copy-id от рута сделать? А на клиентах надо настроить ssh, на allowroot?

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Может поправит кто знающий?
В принципе такой строки вполне достаточно:
x11vnc -bg -localhost -forever -shared -quiet -rfbport 5900 -display :0 -loop
-defer 3000
https://forum.altlinux.org/index.php?topic=28606.msg200897#msg200897

Для блокировки нужен xscreensaver
Для KDE4 не проверял, но на TDE3 используется штатный блокировщик и RuleUser умеет с ним работать, xscreensaver только для Xfce, Lxde,..

Однако, может есть ещё более правильный способ запуска этого демона при старте?
Он так и запускается в Simply только через /etc/xdg/autostart/xscreensaver.desktop:
[Desktop Entry]
Type=Application
Name=Screensaver
Name[ar]=حافظة الشاشة
Name[be]=Скрынсейвер
Name[bg]=Предпазител на екрана
Name[ca]=Salvapantalles
Name[cs]=Spořič obrazovky
Name[da]=Skærmskåner
Name[de]=Bildschirmschoner
Name[el]=Προφύλαξη οθόνης
Name[en_GB]=Screensaver
Name[es]=Protector de pantalla
Name[eu]=Pantaila-babeslea
Name[fi]=Näytönsäästäjä
Name[fr]=Économiseur d'écran
Name[gl]=Protector de pantalla
Name[hr]=Čuvar zaslona
Name[hu]=Képernyővédő
Name[id]=Penyimpan Layar
Name[it]=Salvaschermo
Name[ja]=スクリーンセーバー
Name[kk]=Экран қорғауышы
Name[ko]=화면 보호기
Name[lt]=Ekrano užsklanda
Name[nl]=Schermbeveiliging
Name[nn]=Skjermsparar
Name[pl]=Wygaszacz ekranu
Name[pt]=Proteção de ecrã
Name[pt_BR]=Protetor de tela
Name[ro]=Protector de ecran
Name[ru]=Заставка
Name[sk]=Šetrič obrazovky
Name[sr]=Чувар екрана
Name[table][tr][td]=Ekran Koruyucu
Name[ug]=ئېكران قوغدىغۇچ
Name[uk]=Зберігач екрану
Name[zh_CN]=屏幕保护
Name[zh_TW]=螢幕保護程式
Comment=Launch screensaver and locker program
Comment[ar]=شغّل حافظة الشاشة وبرنامج التخزين
Comment[bg]=Стартиране на предпазителя на екрана и заключването
Comment[ca]=Llança el salvapantalles i el programa de blocatge
Comment[cs]=Spustí spořič obrazovky a aplikaci pro uzamykání obrazovky
Comment[da]=Start programmet skærm-skåner og -lås
Comment[de]=Bildschirmschoner und -sperre aufrufen
Comment[el]=Εκκίνηση προφύλαξης οθόνης και προγράμματος κλειδώματος
Comment[en_GB]=Launch screensaver and locker program
Comment[es]=Ejecutar protector de pantalla y el programa de bloqueo
Comment[eu]=Abiarazi pantaila-babeslea eta blokeo programa
Comment[fi]=Käynnistä näytönsäästäjä ja lukitusohjelma
Comment[fr]=Verrouiller et lancer l'économiseur d'écran
Comment[hr]=Pokreni čuvara zaslona i zaključavanje
Comment[hu]=Képernyővédő és -zároló program indítása
Comment[id]=Jalankan program penyimpan layar dan pengunci
Comment[it]=Avvio il salvaschermo e il programma di blocco
Comment[ja]=スクリーンセーバーおよび画面ロックプログラムを起動します。
Comment[kk]=Экран қорғауыш және блоктау бағдарламасын жөнелту
Comment[ko]=화면 보호기 및 잠금 프로그램 실행하기
Comment[lt]=Paleisti ekrano užsklandą ir užrakinimo programą
Comment[nl]=Programma voor schermbeveiliging en -vergrendeling starten
Comment[nn]=Start skjermsparar- og skjermlåsprogrammet
Comment[pl]=Uruchamianie wygaszacza ekranu i programu blokującego ekran
Comment[pt]=Lançar proteção de ecrã e programa de bloqueio
Comment[pt_BR]=Lança protetor de tela e programa de bloqueio de tela
Comment[ro]=Porniți programul de protecție a ecranului
Comment[ru]=Запуск заставки и блокировка рабочего стола
Comment[sk]=Spustiť šetriť obrazovky a aplikáciu pre zamykanie obrazovky
Comment[sr]=Покрените чувар екрана и програм за закључавање
Comment[table][tr][td]=Ekran koruyucuyu çalıştır ve programı kilitle
Comment[ug]=ئېكران قوغدىغۇچ ۋە قۇلۇپلىغۇچ پروگراممىسىنى قوزغات
Comment[uk]=Запустити програми зберігача і замикання екрану
Comment[zh_CN]=启动屏幕保护和锁定程序
Comment[zh_TW]=啟動螢幕保護程式與上鎖程式
Icon=preferences-desktop-screensaver
Exec=xscreensaver -no-splash
TryExec=xscreensaver

На сервере? Потом надо будет ssh-copy-id от рута сделать? А на клиентах надо настроить ssh, на allowroot?
Хм, на сервере от пользователя, которым будете рулить выполняете:
$ ssh-keygenПотом распространяете с сервера на клиентов:
$ ssh-copy-id username@client1После этого идёте на client1 и распространяете содержимое /home/username/.ssh/authorized_keys всем остальным пользователям /home/*/.ssh/authorized_keys, руту /root/.ssh/authorized_keys и в скелет /etc/skel/.ssh/authorized_keys (чтобы новым пользователям ключ тоже распространялся).

Если какие-то AllowUsers/AllowGroups включены в sshd_config, туда, конечно, нужно добавить root и всех пользователей, которым разрешено подключение по ssh.
Сноси Винду, переходи на Линукс ! :)