LTSP + Domain Controller!

Ξεκίνησε από gidarakos, 07 Οκτ 2009, 10:38:36 ΜΜ

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

gidarakos

Παράθεση από: alkisg στις 23 Σεπ 2009, 08:30:07 ΜΜ
..Το επόμενο βήμα είναι να κάνεις τον ltsp server domain controller, με τους λογαριασμούς των χρηστών αλλά και τους προσωπικούς τους φακέλους στον server..
Με αφορμή αυτό το σχόλιο του Άλκη σε προηγούμενο θέμα σκέφτηκα - χωρίς να γνωρίζω αν υλοποιείτε - να ξεκινάγαμε μία συζήτηση με την εξής λογική:
Εφόσον έχουμε στήσει τον LTSP server στο σχολικό εργαστήριο μήπως θα ήταν ωραία ιδέα να εξυπηρετεί και τους Windows χρήστες;
Δηλαδή οι μαθητές του εργαστηρίου είτε να κάνουν boot με μία δισκέτα gpxe και μετά.. τα γνωστά,  είτε να κάνουν login στα Windows με authentication μέσω του LTSP! Να λειτουργεί δηλαδή και σαν domain controller!

Ένα χρήσιμο guide σχετικό με Ubuntu server είναι αυτό https://help.ubuntu.com/9.04/serverguide/C/index.html.

gidarakos

#1
Update 19/2/14: Τα βήματα ξαναδοκιμάστηκαν και είναι OK! Το αναφέρω εδώ.
Update 17/2/14: Δυστυχώς υπάρχει κάποιο πρόβλημα στις οδηγίες! Το αναφέρω σε αυτό το post.

Επανέρχομαι στο θέμα λόγω της πρόσφατης προσπάθεια μας να «φορτώσουμε» άλλη μία «εργασία» στον LTSP server.. αυτή ενός server 2000!
Προϋπόθεση για την υλοποίηση του εγχειρήματος ήταν η εγκατάσταση με το γνωστό τρόπο ενός 12.04 LTSP Server με sch-scripts.
Πριν ακολουθήσουμε τις οδηγίες έχουμε στο μυαλό μας ότι μετά την εγκατάσταση του LTSP υπάρχει ήδη ένας χρήστης administrator που ανήκει στην ομάδα administrator.
Επίσης το όνομα του domain για τις ανάγκες των βημάτων που θα ακολουθήσουμε επιλέγουμε να είναι το PLIDOMAIN. Εσείς μπορείτε να χρησιμοποιήσετε ένα της αρεσκείας σας, αλλάζοντας αντίστοιχα το όνομα στο βήμα 3 και 10.

1. Πρώτα κάνουμε εγκατάσταση το Samba server (Version 3.6.3).
Κώδικας: bash
sudo apt-get install samba libpam-smbpass


2. Επεξεργαζόμαστε το αρχείο smb.conf
Κώδικας: bash
sudo gedit /etc/samba/smb.conf


Διορθώνουμε και βγάζουμε τα σχόλια ( # ή ; ) από τα ακόλουθα section:

3. # Browsing/Identification
Κώδικας: text
workgroup = PLIDOMAIN


4. # Authentication
Κώδικας: text
security = user


5. # Domains
Κώδικας: text
domain logons = yes
logon path = \\%N\%U\profile
logon drive = H:
logon home = \\%N\%U
logon script = logon.cmd
add machine script = sudo /usr/sbin/useradd -N -g machines -c Machine -d /var/lib/samba -s /bin/false %u

Προσοχή:
Εκτός από την αφαίρεση των σχολίων ( ; ) επιβεβαιώστε ότι κάνατε και τις αλλαγές στο add machine script.


6. # Share Definitions
Κώδικας: text
[homes]
comment = Home Directories
browseable = no
read only = no
create mask = 0700
directory mask = 0700
valid users = %S

Κώδικας: text
[netlogon]
comment = Network Logon Service
path = /srv/samba/netlogon
guest ok = yes
read only = yes
share modes = no

Προσοχή:
Εκτός από την αφαίρεση των σχολίων ( ; ) επιβεβαιώστε ότι κάνατε και τις αλλαγές στα:


  • [homes]
    read only = no
  • [netlogon]
    path = /srv/samba/netlogon
  • και προσθέσατε τη share modes = no
7. Αποθηκεύουμε και κλείνουμε το smb.conf

8. Εκτελούμε από τερματικό τις ακόλουθες εντολές:
Κώδικας: bash
sudo addgroup machines
sudo mkdir -p /srv/samba/netlogon
sudo touch /srv/samba/netlogon/logon.cmd
sudo restart smbd
sudo restart nmbd
sudo net groupmap add ntgroup="Domain Admins" unixgroup=administrator rid=512 type=d


9. Με την ακόλουθη εντολή θα σας ζητηθεί να ορίσετε κωδικό για Samba credentials του χρήστη administrator. Βάλτε δύο φορές τον ίδιο κωδικό που έχετε ήδη στον administrator.
Κώδικας: bash
sudo smbpasswd -a administrator


10. και τέλος..
Κώδικας: bash
net rpc rights grant -U administrator "PLIDOMAIN\Domain Admins" SeMachineAccountPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege SeRemoteShutdownPrivilege


O Domain controller μας είναι έτοιμος!

Τώρα από κάθε υπολογιστή με windows 2000 ή XP που θέλουμε να κάνει login στο domain PLIDOMAIN, κάνουμε τα ακόλουθα:

a. Login τοπικά σαν administrator.

b. Ακολουθούμε τη διαδικασία για join στο domain PLIDOMAIN.

c. Στο όνομα χρήστη και κωδικό που θα μας ζητήσει βάζουμε αυτά του administrator (βήμα 9).

d. Επανεκκίνηση του client και κάνουμε ένα δοκιμαστικό login σαν administrator στο domain PLIDOMAIN, για να δούμε αν όλα έχουν πάει σωστά.

Προσοχή:


  • Επειδή θέλουμε - εκτός του administrator - και άλλοι χρήστες που έχουμε ήδη στα sch-scripts να κάνουν login στο PLIDOMAIN, θα πρέπει πρώτα να τους "δώσουμε" Samba credentials ακολουθώντας μόνο το βήμα 9.
    π.χ. Για τον user1 από τερματικό γράφουμε: sudo smbpasswd -a user1

  • Επειδή όμως τον κωδικό του χρήστη μπορεί να μην τον ξέρουμε - αν κ δε μας χρειάζεται - μπορούμε για κωδικό SMB να πατήσουμε δύο φορές Enter αφήνοντας τον έτσι κενό.

  • Στο επόμενο login από thin client που θα κάνει ο χρήστης θα ενημερωθούν (γίνεται συγχρονισμός) με τον ίδιο κωδικό και τα Samba credentials του.

  • Άρα μετά με το ίδιο username/password που είχε στο thin θα μπορεί να κάνει login και στο windows client. Δηλαδή οι χρήστες θα έχουν ίδιο κωδικό και στους thin και στους windows clients.
Οι οδηγίες βασίστηκαν σε αυτό: Samba as a Domain Controller.

Υπάρχει και αυτό το σχετικό θέμα: Samba server ως Primary Domain Controller.

gidarakos

#2
Αν ΔΕ θέλουμε roaming profiles, στο βήμα 5 βάζουμε σχόλια (#) στις ακόλουθες δύο γραμμές:
Κώδικας: text
# logon path = \\%N\%U\profile
# logon home = \\%N\%U


gidarakos

#3
Όσο αφορά τα αρχεία του χρήστη έχουμε τα εξής:

  • Στα windows clients δημιουργείται ένα map drive (Η:) μέσα από το οποίο ο χρήστης "βλέπει" τα αρχεία του στο "Πρoσωπικός φάκελος" του thin client.
  • Στα thin clients δημιουργείται ένας φάκελος "profile" (στο "Πρoσωπικός φάκελος") μέσα από τον οποίο ο χρήστης "βλέπει" τα αρχεία του στο windows client.
Κάθε παρατήρηση ευπρόσδεκτη!

apapakL

Μια χαρά! Μιας και το ψάχνεις το επόμενο βήμα είναι δημιουργία active directory και group policies με Samba 4  :D. Δες εδώ τι λέει ο Graber --> https://www.stgraber.org/2012/10/21/edubuntu-the-path-to-14-04-lts για το Edubuntu 14.04 το release του οποίου δεν είναι και μακριά. Ήδη κυκλοφορούν διάφοροι οδηγοί επί του θέματος...

Δημήτρης Γκίνης

@gidarakos, apapakL: Γεια χαρά.
Σκέφτομαι να χρησιμοποιήσω την λύση που περιγράφει ο gidarakos γαι τον εξής σκοπό: να δημιουργήσω Domain (και μιας και δεν έχω OS windows server σε κάποιο μηχάνημα να χρησιμοποιήσω τον UBUNTU LTSP server) στο οποίο θα ανήκουν τα pc's του Δ/ντη-Υπο/ντη του σχολείου με σκοπό αυτοί να έχουν μεταξύ τους κοινόχρηστους φακέλους και πόρους μη προσβάσιμους σε μη-μέλη του Domain.

Σκέφτεστε κάποιο λόγο να μην προxωρήσω;;

apapakL

#6
Γιατί όχι;  Από την άλλη για να μην αυξάνεται η πολυπλοκότητα του configuration του LTSP Server, (και έχεις και όρεξη να το επιχειρήσεις) θα μπορούσες να χρησιμοποιήσεις και αυτή τη λύση: http://www.turnkeylinux.org/domain-controller. Έτοιμος Linux domain controller βασισμένος σε debian, που μπορεί να παίξει ακόμα και σε ένα παλιό μηχάνημα αν έχεις εύκαιρο. Είναι cli σύστημα αλλά έχει web interface βασισμένο σε webmin και είναι πανεύκολο στο setup (όπως και όλα τα appliaces στο turnkeylinux.org). Ακόμα και σε ένα VM πάνω στον LTSP Server θα ήταν μια καλή ιδέα, αν έχεις 256 (με 384 max) extra μνήμη να δώσεις στο εικονικό μηχάνημα...

Δημήτρης Γκίνης

Από την άλλη όμως θα πρέπει ο Ubuntu LTSP server να είναι ανοιχτός κάθε πρωί για να μπορούν να κάνουν login στο domain τα μέλη του, σωστά?
Αυτό θα σήμαινε ότι θα πρέπει κάθε μέρα, 7.50 το πρωί να είμαι στο εργαστήριο.. :(

gidarakos

@apapakl ενδιαφέρον αυτό που προτείνεις με το turnkeylinux!

@Δημήτρη Γκίνης αν δοκιμάσεις αυτό που προτείνει ο apapakl δώσε ένα feedback ή ακόμα καλύτερα, αν υπάρχει χρόνος, έναν οδηγό γιατί μπορεί να ενδιαφέρει κ άλλους συναδέλφους! Επίσης αν το υλοποιήσεις με τον LTSP server πες μας εντυπώσεις και τυχόν προβλήματα γιατί μέχρι τώρα μόνο σε virtual box το έχω δοκιμάσει!

gidarakos

#9
Παράθεση από: apapakL στις 12 Φεβ 2014, 01:09:06 ΠΜ
Από την άλλη για να μην αυξάνεται η πολυπλοκότητα του configuration του LTSP Server

Aναφέρεσαι στην υλοποίηση του Δημήτρης Γκίνης (Δ/ντη-Υπο/ντη) ή γενικά πιστεύεις ότι πρέπει να αποφεύγουμε LTSP+PDC;

apapakL

Θα μου άρεσε μια πιο καθαρή λύση για να μην είναι μπλεγμένα τα πράγματα... Π.χ. στο ίδιο μηχάνημα με τον ltsp αλλά με χρήση vm ή linux container (LXC)...

gidarakos

#11
Συμφωνώ μαζί σου και για να μην είμαστε συγκεντρωτικοί, ακόμα κ σε διαφορετικό μηχάνημα!

Αλλά αν χωρίσουμε LTSP με PDC αυτό..
Παράθεση από: gidarakos στις 03 Φεβ 2014, 11:31:59 ΠΜ


  • Άρα μετά με το ίδιο username/password που είχε στο thin θα μπορεί να κάνει login και στο windows client. Δηλαδή οι χρήστες θα έχουν ίδιο κωδικό και στους thin και στους windows clients.

και αυτό..
Παράθεση από: gidarakos στις 03 Φεβ 2014, 02:17:06 ΜΜ
Όσο αφορά τα αρχεία του χρήστη έχουμε τα εξής:

  • Στα windows clients δημιουργείτε ένα map drive (Η:) μέσα από το οποίο ο χρήστης "βλέπει" τα αρχεία του στο "Πρoσωπικός φάκελος" του thin client.
  • Στα thin clients δημιουργείτε ένας φάκελος "profile" (στο "Πρoσωπικός φάκελος") μέσα από τον οποίο ο χρήστης "βλέπει" τα αρχεία του στο windows client.

θα υλοποιούνται εύκολα;

apapakL

Όντως, αν θέλεις να κάνεις τέτοια υλοποίηση τότε καλύτερα όλα μαζί. Αλλά αν το θέλεις για χρήστες που δεν τους ενδιαφέρει να έχουν τον ίδιο λογαριασμό και στο LTSP, όπως ο Δημήτρης, τότε μάλλον καλύτερα τα ξεχωριστά μηχανήματα

gidarakos

#13
Εφάρμοσα τις οδηγίες σε καινούργια εγκατάσταση 12.04 LTSP (όχι virtual box) και τελικά υπάρχει πρόβλημα!

Όταν πας να κάνεις join στο domain με το λογαριασμό του domain administrator εμφανίζεται το μήνυμα: «Δεν ήταν δυνατός ο εντοπισμός του ονόματος χρήστη»!

Δοκίμασα επίτηδες με λάθος κωδικό στον domain administrator και εμφανίζεται το μήνυμα: «Αποτυχία σύνδεσης: Άγνωστο όνομα χρήστη ή εσφαλμένος κωδικός πρόσβασης»!

Άρα φαίνεται ότι ελέγχει τα credentials του domain administrator, αλλά για κάποιο λόγο δεν μπορεί να γίνει το join στο domain!

Ίσως με τις δοκιμές που έκανα στο virtual box - για να γράψω τον οδηγό - έκανα κάποια βήματα που τώρα δεν μπορώ να αναπαράγω!

Με την πρώτη ευκαιρία θα το ξανακοιτάξω!

gidarakos

#14
Έκανα αρκετές δοκιμές σε "καθαρό" 12.04 LTSP σε virtual box αλλά και καινούργια εγκατάσταση σε μηχάνημα (όχι virtual box) και όλα έγιναν σωστά! Έγινε και το join στο domain!

Μάλλον κάποιο λάθος στα copy-paste - για να γράψω τον οδηγό - από τις επίσημες οδηγίες!
Τώρα επειδή κάθε φορά έκανα εγκατάσταση τo Samba, να ήρθε κάποιο update που να διόρθωσε το πρόβλημα, το θεωρώ απίθανο! :)