Διαφορά μεταξύ των σελίδων "Linux/Προχωρημένα/Απομακρυσμένη πρόσβαση" και "Linux/sch-scripts/Χρήστες/Εκτέλεση εντολών"

< Linux‎ | Προχωρημένα(Διαφορές μεταξύ των σελίδων)
μ (Πρόσβαση με RDP)
 
μ (Προκαθορισμένες εντολές)
 
Γραμμή 1: Γραμμή 1:
Για απομακρυσμένη πρόσβαση (π.χ. από το σπίτι) στον εξυπηρετητή του ΣΕΠΕΗΥ σας, θα σας φανούν χρήσιμες οι παρακάτω πληροφορίες.
+
[[Αρχείο:run-users.png|350px|right]]
 +
Ο διάλογος {{Button|Εκτέλεση εντολών}} που φαίνεται δεξιά επιτρέπει την εκτέλεση εντολών σε πολλούς λογαριασμούς χρηστών ταυτόχρονα. Αντίθετα με την [https://ts.sch.gr/wiki/Linux/epoptes/%CE%94%CE%B9%CE%B1%CE%B4%CF%81%CE%B1%CF%83%CF%84%CE%B9%CE%BA%CE%AE_%CE%B5%CE%BA%CF%80%CE%B1%CE%AF%CE%B4%CE%B5%CF%85%CF%83%CE%B7#.CE.95.CE.BA.CF.84.CE.AD.CE.BB.CE.B5.CF.83.CE.B7_.CE.B5.CE.BD.CF.84.CE.BF.CE.BB.CE.AE.CF.82_.CF.83.CF.84.CE.BF.CF.85.CF.82_.CE.B5.CF.80.CE.B9.CE.BB.CE.B5.CE.B3.CE.BC.CE.AD.CE.BD.CE.BF.CF.85.CF.82_.CF.85.CF.80.CE.BF.CE.BB.CE.BF.CE.B3.CE.B9.CF.83.CF.84.CE.AD.CF.82 Εκτέλεση εντολής του Επόπτη], οι χρήστες δεν πρέπει να είναι συνδεδεμένοι όταν χρησιμοποιούμε αυτόν τον διάλογο.
  
== Anydesk ==
+
'''Παράδειγμα χρήσης''': Είναι Σεπτέμβριος και θέλουμε να επαναρχικοποιήσουμε όλους τους μαθητικούς λογαριασμούς. Επανεκκινούμε τον εξυπηρετητή για να σιγουρευτούμε ότι δεν υπάρχουν αρχεία μαθητών σε χρήση. Επιλέγουμε τις ομάδες a1, a2, b1, b2, c1, c2 ώστε να εμφανιστούν οι σχετικοί λογαριασμοί δεξιά. Επιλέγουμε όλους τους μαθητές με Ctrl+A αλλά με Ctrl+κλικ αφαιρούμε τους καθηγητές. Πηγαίνουμε στο μενού {{Select|Εκτέλεση εντολών}}, εισάγουμε την εντολή rm_home και πατάμε το κουμπί {{Button|Εκτέλεση}}.
Το Anydesk είναι ένα δωρεάν πρόγραμμα τύπου teamviewer που δουλεύει σε όλα τα λειτουργικά. Μπορείτε να το κατεβάσετε από [https://anydesk.com/el τη σελίδα του], να το εγκαταστήσετε, να ρυθμίσετε ένα κωδικό για απομακρυσμένη πρόσβαση χωρίς επιβεβαίωση, και δεν χρειάζεται να ασχοληθείτε με τις IP και τα DNS names που αναφέρονται στις παρακάτω ενότητες. Το μειονέκτημα είναι ότι η κίνηση περνάει από τους servers της anydesk, οπότε υπάρχουν θέματα ασφάλειας και επιδόσεων.
 
  
== Εξωτερική IP ==
+
Οι εντολές εκτελούνται από το λογαριασμό root. Επιτρέπεται να περιέχουν τις ακόλουθες μεταβλητές περιβάλλοντος: $USER, $GROUP, $UID, $GID, $HOME, $SHELL.
Εάν από τον εξυπηρετητή του σχολείου επισκεφτείτε τη σελίδα https://ts.sch.gr/services/ip θα δείτε την εξωτερική του IP, που είναι αυτή στην οποία θα συνδεθείτε εάν θέλετε να χρησιμοποιήσετε SSH, VNC, X2GO ή RDP.
 
  
=== Routers OTE ===
+
== Συλλογή εντολών ==
Τα σχολεία με routers του OTE (π.χ. Speedport) συνήθως έχουν δυναμική εξωτερική IP, η οποία μπορεί να αλλάξει μετά από κάποιες ώρες ή μέρες. Εφόσον θέλουμε απομακρυσμένη πρόσβαση, μπορούμε να ανοίξουμε ένα δελτίο στο helpdesk και να ζητήσουμε στο ΠΣΔ να μας δώσει σταθερή εξωτερική IP ακόμα και αν έχουμε router του ΟΤΕ.
 
Εναλλακτικά μπορεί να χρησιμοποιηθεί μια υπηρεσία τύπου https://www.duckdns.org/, η οποία αντιστοιχεί ονόματα π.χ. sxoleio.duckdns.org σε δυναμικές IP.
 
Είτε έχουμε σταθερή είτε δυναμική IP, από το [http://192.168.1.1 web interface του router], θα πρέπει να γίνει port forwarding της θύρας π.χ. 7100 στη θύρα 22 που χρησιμοποιεί το SSH.
 
  
=== Routers ΠΣΔ ===
+
Ακολουθεί μια συλλογή εντολών από την οποία μπορείτε να αντιγράφετε εντολές για να τις επικολλάτε στο διάλογο. Μπορείτε να ζητήσετε διευκρινήσεις ή επιπλέον εντολές στο [https://alkisg.mysch.gr/steki/index.php?topic=8413.0 σχετικό θέμα του φόρουμ].
Τα σχολεία με MikroTik ή Cisco routers τα διαχειρίζεται το ΠΣΔ και τους δίνει 4 σταθερές εξωτερικές IP. Οι δύο από αυτές αντιστοιχούν στα παρακάτω ονόματα και IP:
 
* srv-sxoleio.nom.sch.gr = 10.x.y.10
 
* srv1-sxoleio.nom.sch.gr = 10.x.y.11
 
Έτσι αν βάλετε τον server στην IP=10.x.y.10, θα μπορείτε να τον δείτε με το όνομα srv-sxoleio.nomos.sch.gr (δηλαδή ίδιο με το όνομα της ιστοσελίδας του σχολείου, αλλά με ένα srv- μπροστά).
 
  
== Πρόσβαση με SSH ==
+
=== Προκαθορισμένες εντολές ===
Η υπηρεσία SSH για απομακρυσμένη πρόσβαση κονσόλας στον εξυπηρετητή κανονικά ακούει στη θύρα 22, η οποία είναι προσβάσιμη μόνο από το υποδίκτυο διαχείρισης ΣΕΠΕΗΥ (ΚΕΠΛΗΝΕΤ κτλ), και επομένως όχι από το σπίτι σας. Έτσι θα πρέπει να καθορίσετε να ακούει και σε μια δεύτερη θύρα π.χ. 7100, η οποία είναι προσβάσιμη, εκτελώντας από μία κονσόλα:
 
  
{{Terminal|sudo xdg-open /etc/ssh/sshd_config}}
+
Εκτέλεση μιας εντολής από το λογαριασμό του χρήστη αντί του root:
 +
{{Terminal|as_user [εντολή]}}
 +
<hr>
 +
Αντιγραφή του υποδείγματος αρχικού καταλόγου /etc/skel:
 +
{{Terminal|cp_skel}}
 +
<hr>
 +
Διαγραφή του μητρώου ρυθμίσεων GNOME και MATE:
 +
{{Terminal|rm_dconf}}
 +
<hr>
 +
Διαγραφή όλων των αρχείων και φακέλων που ξεκινάνε από τελεία· δηλαδή όλων των ρυθμίσεων και δεδομένων όλων των προγραμμάτων, αλλά όχι των αρχείων χρηστών. Έτσι για παράδειγμα θα διαγραφούν emails του thunderbird, ρυθμίσεις του libreoffice, σελιδοδείκτες του firefox κλπ, αλλά όχι έγγραφα .doc ή εικόνες .jpg:
 +
{{Terminal|rm_dotfiles}}
 +
<hr>
 +
Πλήρης διαγραφή και επαναρχικοποίηση του φακέλου /home/$USER:
 +
{{Terminal|rm_home}}
 +
<hr>
 +
Επαναφορά των δικαιωμάτων των αρχείων σε $USER:$GROUP:
 +
{{Terminal|set_owner}}
 +
<hr>
 +
Ανάθεση κωδικού πρόσβασης· αν δεν τεθεί παράμετρος τότε εννοείται η $USER, δηλαδή ίδιος με το όνομα χρήστη:
 +
{{Terminal|set_password [νέος-κωδικός]}}
  
και προσθέτοντας μία γραμμή ώστε τελικά να υπάρχουν και οι δύο παρακάτω:
+
=== Εντολές διαγραφής ===
  
{{Editor|Port 22<br/>Port 7100}}
+
Διαγραφή αρχείων προσωρινής μνήμης για απελευθέρωση χώρου:
 
+
{{Terminal|rm -rf .cache .xsession-errors}}
Στη συνέχεια, από το σπίτι σας δίνετε την παρακάτω εντολή για να αποκτήσετε πρόσβαση με SSH. Η εντολή ισχύει είτε από Linux είτε από Windows:
+
<hr>
 
+
Διαγραφή των ρυθμίσεων πολλών προγραμμάτων:
{{Terminal|ssh -p 7100 administrator@srv-sxoleio.nom.sch.gr}}
+
{{Terminal|rm -rf .config}}
 
+
<hr>
== Πρόσβαση με VNC ==
+
Διαγραφή των ρυθμίσεων του LibreOffice:
Στο σπίτι, κατεβάζουμε το [https://www.realvnc.com/en/connect/download/viewer/ RealVNC Viewer] είτε για Linux είτε για Windows, και το εκτελούμε με την παρακάτω εντολή:
+
{{Terminal|rm -rf .config/libreoffice}}
 
+
<hr>
{{Terminal|<nowiki>vncviewer -SecurityNotificationTimeout=0 -ColorLevel=pal8 -shared -listen</nowiki>}}
+
Διαγραφή των ρυθμίσεων του Firefox:
 
+
{{Terminal|rm -rf .mozilla}}
Στη συνέχεια ακολουθούμε τις παραπάνω οδηγίες για πρόσβαση με SSH, αλλά τελικά δίνουμε την παρακάτω εναλλακτική εντολή:
 
 
 
{{Terminal|ssh -p 7100 -tCR 5501:localhost:5500 administrator@srv-sxoleio.nom.sch.gr /usr/share/sch-scripts/reverse-vnc}}
 
 
 
Αυτή η εντολή θα συνδεθεί στην υπάρχουσα συνεδρία, εφόσον υπάρχει, ή στην οθόνη σύνδεσης εάν κανείς χρήστης δεν είναι συνδεδεμένος.
 
 
 
== Πρόσβαση με RDP ==
 
Το πρωτόκολλο remote desktop των Windows υποστηρίζεται και από το Linux εφόσον εγκαταστήσουμε το παρακάτω πακέτο:
 
 
 
{{Terminal|sudo apt install xrdp}}
 
 
 
Μας επιτρέπει να συνδεθούμε σε δεύτερη συνεδρία στον εξυπηρετητή, χωρίς να ενοχλήσουμε κάποιον που εργάζεται εκεί. Επειδή όμως η θύρα 3389 που χρησιμοποιεί είναι κλειστή σε διάφορες περιπτώσεις (π.χ. στους MikroTik/Cisco routers) για λόγους ασφαλείας, ακολουθούμε πάλι τις παραπάνω οδηγίες για πρόσβαση με SSH, αλλά τελικά δίνουμε την παρακάτω εναλλακτική εντολή:
 
 
 
{{Terminal|ssh -p 7100 -L 3390:localhost:3389 administrator@srv-sxoleio.nom.sch.gr}}
 
 
 
Αυτή θα κάνει μεν σύνδεση με SSH, αλλά θα προωθήσει και τη θύρα 3389 που χρησιμοποιεί το RDP. Στη συνέχεια, στον υπολογιστή του σπιτιού, κάνουμε απομακρυσμένη σύνδεση τύπου RDP στο localhost. Η σχετική εντολή από Linux είναι:
 
 
 
{{Terminal|xfreerdp /v:localhost:3390 /relax-order-checks +glyph-cache /size:1600x900}}
 
 
 
Ενώ η σχετική εντολή από Windows είναι:
 
 
 
{{Terminal|mstsc /v:localhost:3390}}
 

Αναθεώρηση της 16:10, 10 Αυγούστου 2020

Run-users.png

Ο διάλογος Εκτέλεση εντολών που φαίνεται δεξιά επιτρέπει την εκτέλεση εντολών σε πολλούς λογαριασμούς χρηστών ταυτόχρονα. Αντίθετα με την Εκτέλεση εντολής του Επόπτη, οι χρήστες δεν πρέπει να είναι συνδεδεμένοι όταν χρησιμοποιούμε αυτόν τον διάλογο.

Παράδειγμα χρήσης: Είναι Σεπτέμβριος και θέλουμε να επαναρχικοποιήσουμε όλους τους μαθητικούς λογαριασμούς. Επανεκκινούμε τον εξυπηρετητή για να σιγουρευτούμε ότι δεν υπάρχουν αρχεία μαθητών σε χρήση. Επιλέγουμε τις ομάδες a1, a2, b1, b2, c1, c2 ώστε να εμφανιστούν οι σχετικοί λογαριασμοί δεξιά. Επιλέγουμε όλους τους μαθητές με Ctrl+A αλλά με Ctrl+κλικ αφαιρούμε τους καθηγητές. Πηγαίνουμε στο μενού Hand.png Εκτέλεση εντολών, εισάγουμε την εντολή rm_home και πατάμε το κουμπί Εκτέλεση.

Οι εντολές εκτελούνται από το λογαριασμό root. Επιτρέπεται να περιέχουν τις ακόλουθες μεταβλητές περιβάλλοντος: $USER, $GROUP, $UID, $GID, $HOME, $SHELL.

Συλλογή εντολών

Ακολουθεί μια συλλογή εντολών από την οποία μπορείτε να αντιγράφετε εντολές για να τις επικολλάτε στο διάλογο. Μπορείτε να ζητήσετε διευκρινήσεις ή επιπλέον εντολές στο σχετικό θέμα του φόρουμ.

Προκαθορισμένες εντολές

Εκτέλεση μιας εντολής από το λογαριασμό του χρήστη αντί του root:


Terminal.pngas_user [εντολή]



Αντιγραφή του υποδείγματος αρχικού καταλόγου /etc/skel:


Terminal.pngcp_skel



Διαγραφή του μητρώου ρυθμίσεων GNOME και MATE:


Terminal.pngrm_dconf



Διαγραφή όλων των αρχείων και φακέλων που ξεκινάνε από τελεία· δηλαδή όλων των ρυθμίσεων και δεδομένων όλων των προγραμμάτων, αλλά όχι των αρχείων χρηστών. Έτσι για παράδειγμα θα διαγραφούν emails του thunderbird, ρυθμίσεις του libreoffice, σελιδοδείκτες του firefox κλπ, αλλά όχι έγγραφα .doc ή εικόνες .jpg:


Terminal.pngrm_dotfiles



Πλήρης διαγραφή και επαναρχικοποίηση του φακέλου /home/$USER:


Terminal.pngrm_home



Επαναφορά των δικαιωμάτων των αρχείων σε $USER:$GROUP:


Terminal.pngset_owner



Ανάθεση κωδικού πρόσβασης· αν δεν τεθεί παράμετρος τότε εννοείται η $USER, δηλαδή ίδιος με το όνομα χρήστη:


Terminal.pngset_password [νέος-κωδικός]


Εντολές διαγραφής

Διαγραφή αρχείων προσωρινής μνήμης για απελευθέρωση χώρου:


Terminal.pngrm -rf .cache .xsession-errors



Διαγραφή των ρυθμίσεων πολλών προγραμμάτων:


Terminal.pngrm -rf .config



Διαγραφή των ρυθμίσεων του LibreOffice:


Terminal.pngrm -rf .config/libreoffice



Διαγραφή των ρυθμίσεων του Firefox:


Terminal.pngrm -rf .mozilla