Προς το περιεχόμενο

Κοινοί χρήστες (accounts) Linux / Windows


alkisg

Προτεινόμενες αναρτήσεις

Χαιρετώ την παρέα,

 

θέλω εντός του Ubuntu να φορτώσω Windows Server 2008 με VirtualBox, και οι χρήστες του Ubuntu να μπορέσουν να κάνουν login.

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

 

Αυτό επειδή το Ubuntu λειτουργεί ως LTSP server σε σχολείο, και για ώρα ανάγκης που θα χρειαστεί κάποια Windows εφαρμογή, να την έχουν πρόχειρη με rdesktop στον εικονικό Windows server.

 

Είδα μερικές ιδέες στο δίκτυο, Windows Services for Unix (SFU ή SUA για τα 2008), LDAP κτλ, αλλά δεν ξέρω τι να διαλέξω. Θα ήθελα να διατηρήσω το Ubuntu κομμάτι όσο το δυνατόν απλούστερο, αν γίνεται και χωρίς καμία αλλαγή.

 

Ιδέες;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν έχεις πολλές επιλογές. Για να μπορούν να κάνουν login στα windows με τα ίδια credentials με το linux, χρειάζεσαι κάποιο 3ο authentication service (π.χ LDAP ή/και kerberos ή Windows Domain Controller), στο οποίο θα κάνει authenticate και το linux και τα windows.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Άποικε άξιος όπως συνήθως,

 

πες το μου λίγο πιο καθαρά, επειδή δεν έχω ασχοληθεί με authentication: δηλαδή αν ήδη έχω 100 χρήστες σε Ubuntu και δεν θέλω να τους υποχρεώσω να αλλάξουν το password τους (για να κάνουν "εγγραφή" ή ότι άλλο χρειάζεται σε kerberos ή ldap server), δεν υπάρχει εύκολος τρόπος να κάνουν login σε Windows, έτσι;

 

Γιατί αν ισχύει το παραπάνω, να πάω σε hacking λύση, να έχω μόνο 10 guest χρήστες στα Windows και να αντιστοιχώ/συνδέω με σκριπτάκι κάθε χρήστη Linux σε έναν από αυτούς, και απλά να ανακατευθύνω τα έγγραφα των Windows στο /home/linuxusername.

Έτσι κι αλλιώς το VirtualBox image δεν θα αποθηκεύεται, δηλαδή ότι αρχεία δημιουργούν στα Windows θα χάνονται.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μπορείς να κάνεις το Ubuntu σου LDAP server και όλοι να κάνουν authenticate με αυτόν τον server για να κάνουν logon στα PC τους. Αυτό θα ισχύει και για windows και για linux συστήματα. Από τη στιγμή που τα windows θα είναι σε virtual machine και κατ' επέκταση στο LAN σαν ξεχωριστό PC, θα γίνεται το ίδιο και σε αυτό το σύστημα, είτε πρόκειται για "physical" σύνδεση, είτε για remote.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

alkisg:

 

Ας τα πάρουμε απ' την αρχή. Στο Linux οι λογαριασμοί δίνονται από τρεις «υπηρεσίες»: την passwd και τη group (η shadow περιέχει τα passwords μόνο). Σε ένα τυπικό σύστημα οι υπηρεσίες αντλούν τα δεδομένα τους από το /etc/passwd και το /etc/group αντίστοιχα. Όμως, οι υπηρεσίες μπορούν να αντλήσουν τα δεδομένα και από εναλλακτικές υπηρεσίες, όπως είναι το LDAP, με χρήση του nss_ldap.

 

Πέρα από τους λογαριασμούς, υπάρχει και το authentication stack με τη μορφή του PAM (στις περισσότερες διανομές), το οποίο δέχεται modules που αναλαμβάνουν την αυθεντικοποίηση με διαφορετικούς τρόπους. Ένα από αυτά είναι το pam_ldap, το οποίο κάνει login ανάλογα με το αν πέτυχε το login με τα διαπιστευτήρια του χρήστη σε ένα LDAP directory. Δηλαδή ο χρήστης γράφει username και password (π.χ. koko/lala), το pam_ldap δοκιμάζει να κάνει login ως "uid=koko,dc=something,dc=somwhere,dc=gr" με το ίδιο password στον LDAP server, και αν αυτό πετύχει, τότε αφήνει το χρήστη να κάνει login.

 

Επομένως το setup από μεριάς Linux περιλαμβάνει τη μεταφορά των υπαρχόντων λογαριασμών σε LDAP (γίνεται, χωρίς να αλλάξουν τα passwords) και τη χρήση pam_ldap και nss_ldap. Στην πλευρά των windows τώρα, τα πράγματα είναι πιο δύσκολα, αφού νομίζω ότι εγγενώς δεν μπορούν να κάνουν logon σε LDAP. Μπορούν όμως να δεχθούν τρίτα modules που κάνουν αυτή τη δουλειά, όπως το pGina.

 

Με άλλα λόγια, χρειάζεσαι 3 πράγματα:

  1. Να μεταφέρεις τα δεδομένα των λογαριασμών σε LDAP. Δεν είναι δύσκολο, ειδικά αν οι χρήστες ανήκουν όλοι στα ίδια groups.
  2. Να ρυθμίσεις το/τα linux μηχανήματα να βλέπουν τον LDAP για authentication
  3. Να ρυθμίσεις τα windows να χρησιμοποιούν τον LDAP για authentication

 

Θεωρητικά η λύση θα ήταν «καθαρότερη» αν χρησιμοποιούσες kerberos, αλλά επειδή είναι μανούρα στο στήσιμο και θέλει τέλειο DNS στο δίκτυο, δε θα επεκταθώ παραπάνω.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ευχαριστώ παιδιά. Μου έμεινε μια μεγάλη απορία:

 

ΟΚ, έστω ότι κάνω authentication με κάποιον από τους παραπάνω τρόπους. Και έστω ότι φτιάχνω ένα καινούργιο χρήστη newuser στο Ubuntu (LDAP), και αυτός πάει να συνδεθεί στα Windows.

 

Τι θα κάνουν τα Windows αφού δεν τον έχουν "ξαναδεί"; Θα δημιουργήσουν νέο χρήστη, δηλαδή φάκελο C:\Documents and Settings\newuser;

Ελπίζω να μη χρειάζεται να έχω προηγουμένως φτιάξει και χρήστη στα Windows με το ίδιο όνομα!

 

 

Και μια μικρή απορία!

Άποικε, δεν με πειράζει να φάω μια βδομάδα μέχρι να στήσω σωστά το kerberos, ίσα-ίσα που είναι ευκαιρία να μάθω και τι σημαίνει "τέλεια στημένο DNS". Να ξεκινήσω μία και καλή με αυτό; Νομίζεις ότι θα έχω κάποιο πρόβλημα που κάθε φορά συνδέω το laptop μου σε διαφορετικό εργαστήριο; (= μπορεί να υπάρχει κι άλλος "εξωτερικός" dns server, το laptop-server μου θα έχει διαφορετική δεύτερη ip eth0:1, διαφορετικές mac/ip addresses των ltsp clients...)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Χμ... άκυρο το kerberos, αφού στη wikipedia λέει:

> The security of the protocol relies heavily on participants maintaining loosely synchronized time.

 

και επομένως αν θέλω να τρέχω τα 2008 με άλλη ημερομηνία (...) τζίφος!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν θυμάμαι (ντροπή μου βεβαίως-βεβαίως) κάτι τέτοιο για το kerberos. Επίσης δεν καταλαβαίνω τί εννοείς με το να τρέξεις τα 2008 με άλλη ημερομηνία. Δεν πρέπει να είναι πρόβλημα η ώρα σε κάθε μηχάνημα. Θεωρητικώς πάντως το kerberos authentication system είναι σαφώς καλύτερο και ασφαλέστερο καθώς το ldap απέκτησε κρυπτογράφηση στην τρίτη του έκδοση. Δεν σου απαγορεύει σαφώς κανένας να χρησιμοποιήσεις και τα 2, μιλάμε για διαφορετικά πράγματα. Το LDAP είναι directory service και ο kerberos είναι third trusted party authentication system. Απλώς λέγοντας LDAP εννοούμε λανθασμένα το direcroty service μαζί με το υπάρχον default σύστημα authentication. Επίσης, ο kerberos έχει ένα σωρό άλλα καλούδια που ενισχύουν την ασφάλεια του συστήματος. Για περισσότερες λεπτομέρειες αφού ξεκινήσεις το στήσιμο, εδώ είμαστε άσε που θα βρείς και πολλά πράγματα μόνος σου.

 

Βουρ για τον Άδη λοιπόν!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τι θα κάνουν τα Windows αφού δεν τον έχουν "ξαναδεί"; Θα δημιουργήσουν νέο χρήστη, δηλαδή φάκελο C:\Documents and Settings\newuser;

Ακριβώς, αυτό κάνουν μόλις κάποιος κάνει login: αν δεν υπάρχει τοπικός κατάλογος προφίλ στο Documents and Settings τον δημιουργούν.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το kerberos θέλει πολύ καλό συγχρονισμό των ρολογιών, γιατί είναι ο μόνος τρόπος να εμποδίσει τα replay attacks. Κάθε «πακέτο» του kerberos κουβαλάει ένα timestamp και ισχύει για ένα πολύ μικρό χρονικό διάστημα από αυτό το timestamp, ώστε να μην μπορεί να ξαναχρησιμοποιηθεί από κάποιον attacker.

 

@alkisg: Από το manual του pGina:

Under normal circumstances, pGina handles logins by creating local accounts to match those authenticated by the

plugin. This results in the creation of a profile on disk (according to the machine policy and default profile settings in

Windows itself).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δοκίμασα το pGina με LDAP authentication και κάνει αυτό που θες: φτιάχνει το profile αν αυτό δεν υπάρχει και μπορεί είτε να το σβήσει στο logoff, είτε να το αφήσει. Γενικά είναι πολύ δυνατό το pGina, αλλά έχει λίγο ελλειπή τεκμηρίωση.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τελικά το pGina μόνο του αρκεί, δε χρειάζεται LDAP server αφού οι χρήστες υπάρχουν μόνο σε ένα μηχάνημα (ευχαριστώ Apoike)!

Επομένως είτε θα χρησιμοποιήσω το ssh plugin του, είτε πιθανώς ένα δικό μου plugin γιατί απ' ότι κατάλαβα μπορώ εύκολα να φτιάξω ένα, και να μην ζητάει καν username/password, να μπαίνουν αμέσως με το κατάλληλο username χωρίς logon screen.

 

Πρόοδος μέχρι στιγμής:

http://users.sch.gr/alkisg/tosteki/index.php?topic=1326.0

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...