Υλοποίηση τρόπου μαζικού ελεγχόμενου login των clients από τον server

Ξεκίνησε από happiness, 06 Φεβ 2019, 01:29:49 ΜΜ

« προηγούμενο - επόμενο »

Θέλετε να έχετε την δυνατότητα να κάνετε login με αυτοματοποιημένο τρόπο σε όλους τους clients από τον server;

Ναι
20 (95.2%)
Όχι
1 (4.8%)

Σύνολο ψηφοφόρων: 21

Πέτρος Κ.

Παράθεση από: alkisg στις 05 Σεπ 2019, 01:16:56 ΜΜ
Έχω δύο ερωτήσεις για σας! :)
1) Να την βάλω την παραπάνω δυνατότητα ως προεπιλεγμένη; Δηλαδή, στο pc01 θέλουμε να φαίνονται π.χ. 120 λογαριασμοί από default ή μόνο οι 10 που αντιστοιχούν σε αυτόν τον client;
2) Είναι η παραπάνω δυνατότητα αρκετή πια, ή χρειάζεται και αυτό που λέγαμε με το να τρέχουμε μια εντολή μέσα από τον Επόπτη για να δείχνει μόνο το τρέχον τμήμα; (δεν είναι δύσκολο να υλοποιηθεί, ρωτάω μήπως είναι τελείως αχρείαστο πια).

Να φαίνονται όλοι είναι πρακτικά άβολο.
Θα πρότεινα (αν υπάρχει τεχνικά η δυνατότητα), αντί για αντιστοιχία user - pc, να υπάρχει το manual  login και μια λίστα με τους τελευταίους χρήστες που έκαναν είσοδο στο κάθε μηχάνημα. Το "τελευταίους" μπορεί να οριστεί είτε ως πλήθος χρηστών (πχ οι 10 τελευταίοι έκαναν login) είτε οι πιο πρόσφατοι (πχ όσοι έκαναν login τις 2 τελευταίες βδομάδες).

alkisg

Γενικά οι clients δεν έχουν δικαίωμα εγγραφής στον server (οι users εννοείται έχουν), οπότε είναι δύσκολο να αποθηκεύσουν state.

Η εντολή `lastlog` στον server εμφανίζει πότε συνδέθηκε τελευταία φορά ο κάθε χρήστης, και σε ποια IP:

Παράθεση από: lastlog
b2-05           pts/2    192.168.1.139    Πεμ Οκτ 25 12:45:13 +0300 2018
b2-06           pts/7    192.168.1.143    Τετ Μαΐ 22 09:18:25 +0300 2019
b2-07           pts/3    192.168.1.142    Τετ Μαΐ 22 09:17:17 +0300 2019

Οπότε ΑΝ υποθέσουμε ότι η IP συνήθως δεν αλλάζει, μπορούμε να εκμεταλλευτούμε αυτή την πληροφορία για τους "12 τελευταίους users που συνδέθηκαν στην IP=pc10 εντός του τελευταίου μήνα"... αν θεωρείτε ότι είναι καλύτερο από "τους λογαριασμούς που έχουν username=xx10 ή που ανήκουν στο group pc10" κλπ κλπ.

denispyr

(Δημοτικό)

Σε σχέση με τους "τελευταίους", στο 19θέσιο Δημοτικό μου + 2 ολοήμερα αυτοί θα ήταν 21 χρήστες. όχι και λίγοι :)

Μία οθόνη με τους λογαριασμούς του τρέχοντος τμήματος συν manual login ακούγεται ενδιαφέρουσα. Ιδιαίτερα αν οι λογαριασμοί κάνουν passwordless login, θα γλύτωνε τρέξιμο στις αρχές της χρονιάς με την Α Δημοτικού. Και με σχολεία στα οποία δεν έχουν αποκτήσει δεξιότητα manual login.


Διονύσης

alkisg

1) Το "λογαριασμοί τρέχοντος pc" δεν προϋποθέτει κάποια ενέργεια.
2) Το "λογαριασμοί τρέχοντος τμήματος" προϋποθέτει ότι σε κάθε διάλειμμα ο καθηγητής θα τρέχει μια εντολή από τον Επόπτη.
3) Το "τελευταίοι Ν λογαριασμοί" προϋποθέτει να ταιριάζουν οι IP και ο καθηγητής να τρέχει π.χ. κάθε πρωί ή κάθε βδομάδα μια εντολή "ltsp initrd" για να μεταφέρει το "lastlog" του server στους clients.

Άρα αν κατάλαβα καλά, πάμε για το "1" ως προεπιλογή, το "2" ως δυνατότητα για όσους το θέλουν, ενώ το "3" το αφήνουμε για λίγο αργότερα μήπως σκεφτούμε κάποια καλύτερη υλοποίηση τεχνικά. Το manual login το έχουμε σε όλες τις περιπτώσεις.

denispyr

Θα μπορούσαμε να είχαμε επιλογή "σκέτο manual login" (όπως είναι τώρα, δηλαδή) ;
(Σε δεύτερη σκέψη, μήπως αυτό είναι το "1" χωρίς να ανατεθούν λογαριασμοί; )
Διονύσης

alkisg

Ναι οκ αυτό γίνεται εύκολα. Τεχνικά είναι πιο αποδοτικό αν μπει ως ξεχωριστή επιλογή στο ltsp.conf.

alkisg

Τελικά υλοποίησα τα παρακάτω στο νέο LTSP (προσοχή δεν ισχύουν στο παλιό):

Παράθεση από: ltsp.conf
# Στην οθόνη σύνδεσης να εμφανίζονται μόνο οι παρακάτω λογαριασμοί
LTSPDM_USERS="(guest|[a][0-9ab]*)-*%{HOSTNAME#pc}"

# Σε όσους clients έχουν οριστεί HOSTNAME=pc01, pc02 κλπ,
# να ενεργοποιηθεί αυτόματο login με τους λογαριασμούς user01, user02 κλπ.
#AUTOLOGIN="^pc\([0-9]*\)$/user\1"

# Οι παρακάτω λογαριασμοί να συνδέονται χωρίς κωδικό (δουλεύει μόνο με NFS)
PASSWORDS_GUESTS="guest[0-9-]*/"
#PASSWORDS_CLASSES="[abcdefg][0-9-]*/"

Η πρώτη γραμμή ορίζει ότι στο pc01 θα εμφανίζονται ο guest01 και τα πρωτάκια, a01 ή a1b-01 κλπ. Σαν προεπιλογή, ας θεωρήσουμε ότι μέσα στη χρονιά θα μάθουν να γράφουν το όνομά τους οπότε τα δευτεράκια δεν χρειάζεται να φαίνονται. Εννοείται όποιος θέλει το αλλάζει.

Η δεύτερη ενεργοποιεί το AUTOLOGIN για π.χ. τον user01 στο pc01 ώστε να μη φαίνεται καν η λίστα χρηστών.

Και η τρίτη ορίζει ότι οι guests θα μπορούν να συνδέονται με σκέτο Enter χωρίς να βάζουν κωδικό. Αν κάποιος θέλει, προσθέτει εκεί και τα πρωτάκια ή τους userXX αν έχει ενεργοποιήσει AUTOLOGIN.

Αυτές οι 3 οδηγίες είναι λίγο δυσνόητες αλλά πολύ ευέλικτες (κάνουν για όλα τα παραπάνω σενάρια), οπότε είναι θέμα μετά των sch-scripts να τις παρουσίασουν με ωραίο γραφικό interface, ώστε να δώσουν και δυνατότητα εμφάνισης μόνο των χρηστών ενός τμήματος κλπ... ίδωμεν!

markakis

Παράθεση από: alkisg στις 12 Απρ 2019, 01:33:29 ΜΜ
Δηλαδή για παράδειγμα για να κάνουμε login του τμήματος a1, μέσα από τον Επόπτη δίνουμε:
sudo /usr/share/sch-scripts/host-to-username pc/a1-

Εγκατέστησα 20.04 και βλέπω ότι αυτό δεν το έχουμε πλέον διαθέσιμο στα sch-scripts.
Με έχει βολέψει απίστευτα να αποσυνδέω τους λογαριασμούς του τμήματος που τελείωσε το μάθημα και να συνδέω αυτούς του επόμενου τμήματος.
Υπάρχει άλλος τρόπος χωρίς την παρέμβαση του μαθητή; Αναφέρομαι σε λογαριασμούς ανά τμήμα και υπολογιστή.

alkisg

Καλημέρα, ήταν στα TODO αλλά το ξέχασα, να το ετοιμάσω μέσα στην ερχόμενη βδομάδα.

markakis

Ευχαριστούμε!
Είδα ότι άλλαξαν οι οδηγίες στο Linux/LTSP/Προχωρημένα/Αυτόματη σύνδεση, χωρίς να περιλαμβάνεται η συγκεκριμένη δυνατότητα και ανησύχησα. Φαντάζομαι δεν είμαι ο μόνος που το χρησιμοποιεί.

alkisg

Έτοιμο! Τεκμηρίωση εδώ:

https://ts.sch.gr/wiki/Linux/LTSP/Προχωρημένα/Αυτόματη_σύνδεση

Δηλαδή εν ολίγοις τρέχετε το παρακάτω μέσα από τον Επόπτη:
sudo /usr/share/sch-scripts/autologin pc/a1-

Ενώ πλέον υποστηρίζει και "false" για να αποσυνδέσει ένα τμήμα χωρίς να συνδέσει το επόμενο:
sudo /usr/share/sch-scripts/autologin false

Επίσης δουλεύει ανεξάρτητα από τα υπόλοιπα settings, δηλαδή δεν χρειάζεται προηγουμένως να έχετε ενεργοποιήσει το AUTOLOGIN.

Kermit, ο Βάτραχος

Άλκη,

δοκίμασα την αυτόματη σύνδεση τμήματος από τον επόπτη μέσω της:
sudo /usr/share/sch-scripts/autologin pc/a1-


και δουλεύει μια χαρά, αλλά αδυνατώ να αποσυνδέσω πλέον τους χρήστες. Ή μάλλον αποσυνδέονται και ξανασυνδέονται αμέσως σαν να είχα ξαναδώσει εγώ την εντολή αυτή.
Αυτό γίνεται τόσο από τον Επόπτη, όσο και από τους ίδιους τους σταθμούς. Μόνο με επανεκκίνηση στρώνει. Αυτό είναι by design;

Στο ltsp.conf δεν έχω ενεργοποιήσει καμία ρύθμιση autologin.

alkisg

Εφόσον έχεις χρησιμοποιήσει το autologin pc/a1- έστω και μια φορά, έχει ενεργοποιηθεί το autologin. Έτσι, για να τους αποσυνδέσεις, πρέπει να δώσεις το παρακάτω μέσα από τον Επόπτη:

Κώδικας: Bash
sudo /usr/share/sch-scripts/autologin false

Kermit, ο Βάτραχος


ioakyriazis

Αυτό σημαίνει ότι για να κάνεις login με άλλο τμήμα, θα πρέπει πρώτα να κάνει logout το προηγούμενο τμήμα; Δίνω παράδειγμα:

Έχω δώσει

sudo /usr/share/sch-scripts/autologin pc/a1-


για να συνδεθεί το Α1. Την επόμενη ώρα έχω Β2. Τι πρέπει να δώσω

sudo /usr/share/sch-scripts/autologin pc/b2-


ή θα πρέπει να βγάλω πρώτα το Α1, δίνοντας

sudo /usr/share/sch-scripts/autologin false
sudo /usr/share/sch-scripts/autologin pc/b2-