1094 lines
40 KiB
XML
1094 lines
40 KiB
XML
<?xml version="1.0" encoding="ISO-8859-7" standalone="no"?>
|
||
<!--
|
||
|
||
Το Εγχειρίδιο του FreeBSD: Χρήστες και Βασική Διαχείριση Λογαριασμών
|
||
|
||
The FreeBSD Greek Documentation Project
|
||
|
||
$FreeBSD$
|
||
|
||
%SOURCE% en_US.ISO8859-1/books/handbook/users/chapter.sgml
|
||
%SRCID% 39362
|
||
|
||
-->
|
||
|
||
<chapter id="users">
|
||
<chapterinfo>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Neil</firstname>
|
||
<surname>Blakey-Milner</surname>
|
||
<contrib>Συνεισφορά από τον </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<!-- Feb 2000 -->
|
||
</chapterinfo>
|
||
|
||
<title>Χρήστες και Βασική Διαχείριση Λογαριασμών</title>
|
||
|
||
<sect1 id="users-synopsis">
|
||
<title>Σύνοψη</title>
|
||
|
||
<para>Το &os; επιτρέπει σε πολλαπλούς χρήστες να χρησιμοποιούν τον
|
||
υπολογιστή την ίδια στιγμή. Προφανώς, μόνο ένας από αυτούς τους
|
||
χρήστες μπορεί να κάθεται μπροστά από την οθόνη και το πληκτρολόγιο
|
||
κάθε δεδομένη στιγμή
|
||
<footnote>
|
||
<para>Εκτός φυσικά αν συνδέσουμε πολλαπλά τερματικά, αλλά θα
|
||
μιλήσουμε για αυτό στο <xref linkend="serialcomms"/>.</para>
|
||
</footnote>, αλλά οποιοσδήποτε αριθμός χρηστών μπορούν να εισέλθουν
|
||
μέσω του δικτύου για να φέρουν σε πέρας τις εργασίες τους. Για να
|
||
χρησιμοποιήσει το σύστημα, κάθε χρήστης πρέπει να έχει ένα
|
||
λογαριασμό.</para>
|
||
|
||
<para>Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Τις διαφορές ανάμεσα στα διάφορα είδη λογαριασμών χρηστών σε ένα
|
||
σύστημα &os;.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να προσθέσετε λογαριασμούς χρηστών.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να διαγράψετε λογαριασμούς χρηστών.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να αλλάξετε τις λεπτομέρειες ενός λογαριασμού, όπως το
|
||
πλήρες όνομα του χρήστη, ή το προτιμώμενο κέλυφος (shell).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να θέσετε όρια ανά λογαριασμό, για να ελέγχετε πόρους όπως
|
||
η μνήμη και ο χρόνος της CPU, που μπορούν να έχουν στην διάθεση
|
||
τους συγκεκριμένοι λογαριασμοί ή ομάδες λογαριασμών.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Πως να χρησιμοποιήσετε ομάδες για να κάνετε ευκολότερη τη
|
||
διαχείριση των λογαριασμών.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Να κατανοείτε τις βασικές έννοιες του &unix; και του &os;
|
||
(<xref linkend="basics"/>).</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect1>
|
||
|
||
<sect1 id="users-introduction">
|
||
<title>Εισαγωγή</title>
|
||
|
||
<para>Η πρόσβαση στο σύστημα επιτυγχάνεται μέσω λογαριασμών, όλες
|
||
οι διεργασίες εκτελούνται από χρήστες, έτσι η διαχείριση χρηστών και
|
||
λογαριασμών είναι μεγάλης σημασίας στα &os; συστήματα.</para>
|
||
|
||
<para>Κάθε λογαριασμός σε ένα σύστημα &os; έχει συγκεκριμένες πληροφορίες
|
||
που σχετίζονται με αυτόν ώστε να αναγνωρίζεται από το σύστημα.</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>Όνομα χρήστη</term>
|
||
|
||
<listitem>
|
||
<para>Το όνομα χρήστη είναι αυτό που θα γραφεί στην
|
||
προτροπή <prompt>login:</prompt>. Τα ονόματα χρηστών πρέπει να
|
||
είναι μοναδικά για τον υπολογιστή, δεν μπορείτε να έχετε δύο
|
||
χρήστες με το ίδιο όνομα χρήστη. Υπάρχει ένας αριθμός κανόνων
|
||
για την δημιουργία έγκυρων ονομάτων χρηστών, που τεκμηριώνονται
|
||
στο &man.passwd.5;. Συνήθως θα χρησιμοποιείτε ονόματα χρηστών που
|
||
περιέχουν οκτώ ή λιγότερους όλους μικρούς χαρακτήρες.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Κωδικός</term>
|
||
|
||
<listitem>
|
||
<para>Κάθε λογαριασμός έχει ένα κωδικό που σχετίζεται με αυτόν.
|
||
Ο κωδικός μπορεί να είναι κενός, οπότε και δεν θα απαιτείται
|
||
για πρόσβαση στο σύστημα. Αυτό κατά κανόνα είναι μια
|
||
πολύ κακή ιδέα, κάθε λογαριασμός θα πρέπει να έχει έναν
|
||
κωδικό.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>User ID (UID)</term>
|
||
|
||
<listitem>
|
||
<para>Το UID είναι ένας αριθμός, κατά παράδοση από το 0 έως το 65535
|
||
<footnote id="users-largeuidgid">
|
||
<para>Είναι δυνατόν να χρησιμοποιήσετε UID/GIDs όσο μεγάλα όσο
|
||
το 4294967295, αλλά τέτοια IDs μπορεί να προκαλέσουν σοβαρά
|
||
προβλήματα με λογισμικό που κάνει υποθέσεις σχετικά με τις
|
||
τιμές των IDs.</para>
|
||
</footnote>, που χρησιμοποιείται για την μοναδική αναγνώριση
|
||
του χρήστη στο σύστημα. Εσωτερικά, το &os; χρησιμοποιεί το UID
|
||
για να αναγνωρίσει χρήστες—οποιεσδήποτε εντολές του &os; που
|
||
σας επιτρέπουν να ορίσετε ένα όνομα χρήστη θα το μετατρέψουν στο
|
||
UID πριν το χρησιμοποιήσουν. Αυτό σημαίνει ότι μπορείτε να έχετε
|
||
πολλούς λογαριασμούς με διαφορετικά ονόματα χρήστη αλλά το ίδιο
|
||
UID. Όσο αφορά το &os;, αυτοί οι λογαριασμοί είναι ένας χρήστης.
|
||
Είναι απίθανο να χρειαστεί ποτέ να κάνετε κάτι τέτοιο.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Group ID (GID)</term>
|
||
|
||
<listitem>
|
||
<para>Το GID είναι ένας αριθμός, κατά παράδοση από το 0 έως το 65535
|
||
<footnoteref linkend="users-largeuidgid"/>, που χρησιμοποιείται
|
||
για την μοναδική αναγνώριση της πρωτεύοντος ομάδας που ανήκει ο
|
||
χρήστης. Οι ομάδες είναι ένας μηχανισμός για τον έλεγχο της
|
||
πρόσβασης σε πόρους που στηρίζεται στο GID ενός χρήστη, παρά στο
|
||
UID. Αυτό μπορεί να μειώσει σημαντικά το μέγεθος κάποιων αρχείων
|
||
διευθέτησης. Ένας χρήστης μπορεί επίσης να ανήκει σε
|
||
περισσότερες της μίας ομάδες.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Κλάσεις σύνδεσης</term>
|
||
|
||
<listitem>
|
||
<para>Οι κλάσεις σύνδεσης (login classes) είναι μια επέκταση στον
|
||
μηχανισμό των ομάδων που παρέχουν πρόσθετη ευελιξία όταν
|
||
προσαρμόζουμε το σύστημα σε διαφορετικούς χρήστες.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Χρόνος αλλαγής κωδικού</term>
|
||
|
||
<listitem>
|
||
<para>Εξ' ορισμού το &os; δεν επιβάλλει στους χρήστες να αλλάζουν
|
||
περιοδικά τον κωδικό τους. Μπορείτε να το επιβάλετε αυτό σε μια
|
||
ανά χρήστη βάση, αναγκάζοντας κάποιους ή όλους τους χρήστες να
|
||
αλλάζουν τον κωδικό τους αφού έχει περάσει ένα συγκεκριμένο
|
||
χρονικό διάστημα.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Χρόνος λήξης λογαριασμών</term>
|
||
|
||
<listitem>
|
||
<para>Εξ' ορισμού στο &os; δεν λήγουν λογαριασμοί. Αν δημιουργήσετε
|
||
λογαριασμούς που γνωρίζετε ότι έχουν περιορισμένη διάρκεια ζωής,
|
||
για παράδειγμα, σε ένα σχολείο όπου έχετε λογαριασμούς για τους
|
||
μαθητές, τότε μπορείτε να ορίσετε πότε λήγει ο λογαριασμός. Αφού
|
||
ο χρόνος λήξης έχει περάσει, ο λογαριασμός δεν μπορεί να
|
||
χρησιμοποιηθεί για την σύνδεση στο σύστημα, αν και οι φάκελοι του
|
||
λογαριασμού και τα αρχεία θα παραμείνουν.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Πραγματικό όνομα χρήστη</term>
|
||
|
||
<listitem>
|
||
<para>Το όνομα χρήστη αναγνωρίζει μοναδικά τον λογαριασμό στο &os;,
|
||
αλλά δεν αντιπροσωπεύει απαραίτητα το πραγματικό όνομα του
|
||
χρήστη. Αυτή η πληροφορία μπορεί να συσχετιστεί με τον
|
||
λογαριασμό.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Προσωπικός κατάλογος</term>
|
||
|
||
<listitem>
|
||
<para>Ο προσωπικός κατάλογος δείχνει την πλήρη διαδρομή προς ένα
|
||
κατάλογο του συστήματος. Αυτός είναι και ο αρχικός κατάλογος
|
||
του χρήστη, κάθε φορά που συνδέεται στο σύστημα.
|
||
Μια κοινή σύμβαση είναι να μπαίνουν οι προσωπικοί κατάλογοι
|
||
χρηστών στο
|
||
<filename>/home/<replaceable>username</replaceable></filename>
|
||
ή στο <filename>/usr/home/<replaceable>username</replaceable></filename>.
|
||
Ο χρήστης θα αποθηκεύει τα προσωπικά του αρχεία και τους
|
||
καταλόγους που δημιουργεί, μέσα στον προσωπικό του
|
||
κατάλογο.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>Κέλυφος χρήστη</term>
|
||
|
||
<listitem>
|
||
<para>Το κέλυφος παρέχει το εξ' ορισμού περιβάλλον που οι χρήστες
|
||
χρησιμοποιούν για να αλληλεπιδρούν με το σύστημα. Υπάρχουν πολλά
|
||
διαφορετικά είδη κελυφών, και οι έμπειροι χρήστες θα έχουν τις
|
||
δικές τους προτιμήσεις, οι οποίες μπορεί να αντικατοπτρίζονται
|
||
στις ρυθμίσεις των λογαριασμών τους.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>Υπάρχουν τρεις κύριοι τύποι λογαριασμών: ο <link
|
||
linkend="users-superuser">υπερχρήστης (superuser)</link>, οι <link
|
||
linkend="users-system">χρήστες συστήματος</link>, και οι <link
|
||
linkend="users-user">λογαριασμοί χρηστών</link>. Ο λογαριασμός
|
||
υπερχρήστη, συνήθως ονομάζεται <username>root</username>,
|
||
χρησιμοποιείται για τη διαχείριση του συστήματος χωρίς περιορισμούς
|
||
στα προνόμια. Οι χρήστες συστήματος τρέχουν υπηρεσίες. Τέλος, οι
|
||
λογαριασμοί χρηστών χρησιμοποιούνται από πραγματικούς ανθρώπους, που
|
||
συνδέονται, διαβάζουν mail, και ούτω καθεξής.</para>
|
||
</sect1>
|
||
|
||
<sect1 id="users-superuser">
|
||
<title>Ο Λογαριασμός Υπερχρήστη</title>
|
||
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary>superuser (root)</secondary>
|
||
</indexterm>
|
||
<para>Ο λογαριασμός υπερχρήστη, συνήθως καλείται
|
||
<username>root</username>, είναι προρυθμισμένος για να διευκολύνεται
|
||
η διαχείριση του συστήματος, και δεν θα πρέπει να χρησιμοποιείται για
|
||
καθημερινές εργασίες όπως αποστολή και λήψη mail, γενική εξερεύνηση του
|
||
συστήματος, ή προγραμματισμό.</para>
|
||
|
||
<para>Αυτό διότι ο υπερχρήστης, σε αντίθεση με τους κανονικούς
|
||
λογαριασμούς χρηστών, μπορεί να λειτουργεί χωρίς όρια, και
|
||
κακομεταχείριση του λογαριασμού αυτού μπορεί να έχει ως συνέπεια
|
||
θεαματικές καταστροφές. Οι λογαριασμοί χρηστών δεν μπορούν να
|
||
καταστρέψουν το σύστημα από λάθος, έτσι είναι γενικά καλύτερα να
|
||
χρησιμοποιείτε κανονικούς λογαριασμούς χρηστών όποτε είναι δυνατόν,
|
||
εκτός εάν ειδικότερα χρειάζεστε τα επιπλέον προνόμια.</para>
|
||
|
||
<para>Θα πρέπει πάντα να ελέγχετε δύο και τρεις φορές τις εντολές που
|
||
δίνετε σαν υπερχρήστης, αφού ένα επιπλέον κενό ή ένας χαρακτήρας που
|
||
λείπει, μπορεί να σημαίνει ανεπανόρθωτη απώλεια δεδομένων.</para>
|
||
|
||
<para>Έτσι, το πρώτο πράγμα που θα πρέπει να κάνετε αφού διαβάσετε αυτό
|
||
το κεφάλαιο, είναι να δημιουργήσετε έναν λογαριασμό χρήστη, χωρίς
|
||
προνόμια, για τον εαυτό σας για γενική χρήση αν δεν το έχετε κάνει ήδη.
|
||
Αυτό ισχύει εξίσου εάν τρέχετε ένα πολυ-χρηστικό ή μονο-χρηστικό
|
||
μηχάνημα. Αργότερα σε αυτό το κεφάλαιο, θα συζητήσουμε πως να
|
||
δημιουργείτε πρόσθετους λογαριασμούς, και πως να αλλάζετε μεταξύ
|
||
του κανονικού χρήστη και του υπερχρήστη.</para>
|
||
</sect1>
|
||
|
||
<sect1 id="users-system">
|
||
<title>Λογαριασμοί Συστήματος</title>
|
||
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary>system</secondary>
|
||
</indexterm>
|
||
<para>Οι χρήστες συστήματος είναι αυτοί που χρησιμοποιούνται για να
|
||
τρέχουν υπηρεσίες όπως το DNS, mail, web servers, και ούτω καθεξής.
|
||
Ο λόγος για αυτό είναι η ασφάλεια: αν όλες οι υπηρεσίες έτρεχαν
|
||
με δικαιώματα υπερχρήστη, θα λειτουργούσαν χωρίς περιορισμούς.</para>
|
||
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary><username>daemon</username></secondary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary><username>operator</username></secondary>
|
||
</indexterm>
|
||
<para>Παραδείγματα από χρήστες συστήματος είναι οι
|
||
<username>daemon</username>, <username>operator</username>,
|
||
<username>bind</username> (για το Domain Name Service),
|
||
<username>news</username>, και <username>www</username>.</para>
|
||
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary><username>nobody</username></secondary>
|
||
</indexterm>
|
||
<para>Ο <username>nobody</username> είναι ο γενικός, χωρίς προνόμια,
|
||
χρήστης συστήματος. Ωστόσο, είναι σημαντικό να έχετε κατά νου ότι όσο
|
||
περισσότερες υπηρεσίες χρησιμοποιούν τον <username>nobody</username>,
|
||
τόσο περισσότερα αρχεία και διεργασίες θα συσχετιστούν με αυτόν, και
|
||
έτσι τόσο περισσότερο προνομιούχος γίνεται αυτός ο χρήστης.</para>
|
||
</sect1>
|
||
|
||
<sect1 id="users-user">
|
||
<title>Λογαριασμοί Χρηστών</title>
|
||
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary>user</secondary>
|
||
</indexterm>
|
||
<para>Οι λογαριασμοί χρηστών είναι το πρωταρχικό μέσο πρόσβασης για
|
||
πραγματικούς ανθρώπους στο σύστημα, και μέσω αυτών απομονώνεται ο κάθε
|
||
χρήστης και το περιβάλλον εργασίας του, αποτρέποντας έτσι πιθανή
|
||
καταστροφή του συστήματος ή άλλων χρηστών, και επιτρέποντας σε κάθε
|
||
ένα να προσαρμόζει το δικό του περιβάλλον χωρίς να επηρεάζει τους
|
||
άλλους.</para>
|
||
|
||
<para>Κάθε άτομο που έχει πρόσβαση στο σύστημά σας θα πρέπει να έχει ένα
|
||
μοναδικό λογαριασμό χρήστη. Αυτό σας επιτρέπει να βρείτε ποιος κάνει
|
||
τι, αποτρέπει ανθρώπους από το να πειράζουν τις ρυθμίσεις ο ένας του
|
||
άλλου, ή να διαβάσει ο ένας τα mail του άλλου, και ούτω καθεξής.</para>
|
||
|
||
<para>Κάθε χρήστης μπορεί να στήσει το δικό του περιβάλλον ώστε να
|
||
προσαρμόσει την χρήση του συστήματος, χρησιμοποιώντας εναλλακτικά
|
||
κελύφη, συντάκτες, συνδυασμούς πλήκτρων και γλώσσας.</para>
|
||
</sect1>
|
||
|
||
<sect1 id="users-modifying">
|
||
<title>Τροποποιώντας Λογαριασμούς</title>
|
||
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary>modifying</secondary>
|
||
</indexterm>
|
||
|
||
<para>Υπάρχει μια ποικιλία από διαφορετικές εντολές διαθέσιμες στο
|
||
περιβάλλον &unix; για να χειριστείτε λογαριασμούς χρηστών. Οι πιο
|
||
κοινές εντολές συνοψίζονται παρακάτω, ακολουθούμενες από λεπτομερή
|
||
παραδείγματα της χρήσης τους.</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<colspec colwidth="1*"/>
|
||
<colspec colwidth="2*"/>
|
||
|
||
<thead>
|
||
<row>
|
||
<entry>Εντολή</entry>
|
||
<entry>Περιγραφή</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>&man.adduser.8;</entry>
|
||
<entry>Η προτεινόμενη εφαρμογή γραμμής εντολών για την προσθήκη
|
||
νέων χρηστών.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>&man.rmuser.8;</entry>
|
||
<entry>Η προτεινόμενη εφαρμογή γραμμής εντολών για την
|
||
διαγραφή χρηστών.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>&man.chpass.1;</entry>
|
||
<entry>Ένα ευέλικτο εργαλείο για την αλλαγή πληροφοριών της βάσης
|
||
δεδομένων των χρηστών.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>&man.passwd.1;</entry>
|
||
<entry>Το απλό εργαλείο γραμμής εντολών για την αλλαγή των
|
||
κωδικών των χρηστών.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>&man.pw.8;</entry>
|
||
<entry>Ένα δυνατό και ευέλικτο εργαλείο για την αλλαγή όλων των
|
||
ρυθμίσεων των λογαριασμών των χρηστών.</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<sect2 id="users-adduser">
|
||
<title><command>adduser</command></title>
|
||
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary>adding</secondary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary><command>adduser</command></primary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary><filename class="directory">/usr/share/skel</filename></primary>
|
||
</indexterm>
|
||
<indexterm><primary>skeleton directory</primary></indexterm>
|
||
<para>Το &man.adduser.8; είναι ένα απλό πρόγραμμα για να προσθέτετε
|
||
νέους χρήστες. Δημιουργεί εγγραφές στα αρχεία συστήματος
|
||
<filename>passwd</filename> και <filename>group</filename>.
|
||
Δημιουργεί επίσης έναν προσωπικό κατάλογο για τον νέο χρήστη,
|
||
αντιγράφει εκεί τα εξ' ορισμού αρχεία ρυθμίσεων
|
||
(<quote>dotfiles</quote>) από το
|
||
<filename>/usr/share/skel</filename>, και μπορεί προαιρετικά να
|
||
στείλει ένα μήνυμα καλωσορίσματος στον νέο χρήστη.</para>
|
||
|
||
<example>
|
||
<title>Προσθέτοντας Ένα Χρήστη στο &os;</title>
|
||
|
||
<screen>&prompt.root; <userinput>adduser</userinput>
|
||
Username: <userinput>jru</userinput>
|
||
Full name: <userinput>J. Random User</userinput>
|
||
Uid (Leave empty for default):
|
||
Login group [jru]:
|
||
Login group is jru. Invite jru into other groups? []: <userinput>wheel</userinput>
|
||
Login class [default]:
|
||
Shell (sh csh tcsh zsh nologin) [sh]: <userinput>zsh</userinput>
|
||
Home directory [/home/jru]:
|
||
Home directory permissions (Leave empty for default):
|
||
Use password-based authentication? [yes]:
|
||
Use an empty password? (yes/no) [no]:
|
||
Use a random password? (yes/no) [no]:
|
||
Enter password:
|
||
Enter password again:
|
||
Lock out the account after creation? [no]:
|
||
Username : jru
|
||
Password : ****
|
||
Full Name : J. Random User
|
||
Uid : 1001
|
||
Class :
|
||
Groups : jru wheel
|
||
Home : /home/jru
|
||
Shell : /usr/local/bin/zsh
|
||
Locked : no
|
||
OK? (yes/no): <userinput>yes</userinput>
|
||
adduser: INFO: Successfully added (jru) to the user database.
|
||
Add another user? (yes/no): <userinput>no</userinput>
|
||
Goodbye!
|
||
&prompt.root;</screen>
|
||
</example>
|
||
|
||
<note>
|
||
<para>Ο κωδικός που πληκτρολογείτε δεν φαίνεται, ούτε εμφανίζονται
|
||
αστερίσκοι. Φροντίστε να μην γράψετε λάθος τον κωδικό.</para>
|
||
</note>
|
||
</sect2>
|
||
|
||
<sect2 id="users-rmuser">
|
||
<title><command>rmuser</command></title>
|
||
|
||
<indexterm><primary><command>rmuser</command></primary></indexterm>
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary>removing</secondary>
|
||
</indexterm>
|
||
|
||
<para>Μπορείτε να χρησιμοποιήσετε το &man.rmuser.8; για να
|
||
διαγράψετε εντελώς έναν χρήστη από το σύστημα. Η &man.rmuser.8;
|
||
εκτελεί τα παρακάτω βήματα:</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Διαγράφει την εγγραφή &man.crontab.1; του χρήστη (αν
|
||
υπάρχει).</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Διαγράφει όποια εργασία &man.at.1; ανήκει στον
|
||
χρήστη.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Τερματίζει όλες τις διεργασίες που ανήκουν στον χρήστη.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Διαγράφει τον χρήστη από το τοπικό αρχείο κωδικών του
|
||
συστήματος.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Διαγράφει τον προσωπικό κατάλογο του χρήστη (αν ανήκει στον
|
||
χρήστη).</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Διαγράφει τα εισερχόμενα αρχεία mail που ανήκουν στον χρήστη
|
||
από το <filename>/var/mail</filename>.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Διαγράφει όλα τα αρχεία που ανήκουν στον χρήστη από τις
|
||
προσωρινές περιοχές αποθήκευσης όπως το
|
||
<filename>/tmp</filename>.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Τέλος, διαγράφει το όνομα χρήστη από όλες τις ομάδες στις
|
||
οποίες ανήκει στο <filename>/etc/group</filename>.</para>
|
||
|
||
<note>
|
||
<para>Αν κατά τη διαγραφή του χρήστη, υπάρχει ομάδα με το όνομα
|
||
του η οποία δεν περιέχει άλλα μέλη, η ομάδα αυτή διαγράφεται,
|
||
Η συμπεριφορά αυτή είναι συμπληρωματική με την αντίστοιχη
|
||
της &man.adduser.8;, που δημιουργεί ομάδα με το όνομα του
|
||
χρήστη κατά τη δημιουργία του λογαριασμού.</para>
|
||
</note>
|
||
</step>
|
||
</procedure>
|
||
|
||
<para>Το &man.rmuser.8; δεν μπορεί να χρησιμοποιηθεί για την διαγραφή
|
||
των λογαριασμών υπερχρήστη, αφού αυτό είναι σχεδόν πάντα μια ένδειξη
|
||
μαζικής καταστροφής.</para>
|
||
|
||
<para>Εξ' ορισμού, χρησιμοποιείται μια διαδραστική λειτουργία, που
|
||
προσπαθεί να επιβεβαιώσει ότι σίγουρα γνωρίζετε τι πρόκειται να
|
||
κάνετε.</para>
|
||
|
||
<example>
|
||
<title><command>rmuser</command> Διαδραστική Διαγραφή
|
||
Λογαριασμού</title>
|
||
|
||
<screen>&prompt.root; <userinput>rmuser jru</userinput>
|
||
Matching password entry:
|
||
jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
|
||
Is this the entry you wish to remove? <userinput>y</userinput>
|
||
Remove user's home directory (/home/jru)? <userinput>y</userinput>
|
||
Updating password file, updating databases, done.
|
||
Updating group file: trusted (removing group jru -- personal group is empty) done.
|
||
Removing user's incoming mail file /var/mail/jru: done.
|
||
Removing files belonging to jru from /tmp: done.
|
||
Removing files belonging to jru from /var/tmp: done.
|
||
Removing files belonging to jru from /var/tmp/vi.recover: done.
|
||
&prompt.root;</screen>
|
||
</example>
|
||
</sect2>
|
||
|
||
<sect2 id="users-chpass">
|
||
<title><command>chpass</command></title>
|
||
|
||
<indexterm><primary><command>chpass</command></primary></indexterm>
|
||
<para>Το &man.chpass.1; αλλάζει πληροφορίες της βάσης δεδομένων
|
||
του χρήστη όπως κωδικούς, κελύφη, και προσωπικές πληροφορίες.</para>
|
||
|
||
<para>Μόνο διαχειριστές του συστήματος, όπως ο υπερχρήστης, μπορεί να
|
||
αλλάζει τις πληροφορίες άλλων χρηστών καθώς και τους κωδικούς με το
|
||
&man.chpass.1;.</para>
|
||
|
||
<para>Όταν δεν δίνονται επιλογές, εκτός από ένα προαιρετικό όνομα
|
||
χρήστη, το &man.chpass.1; εμφανίζει έναν συντάκτη που περιέχει τις
|
||
πληροφορίες του χρήστη. Όταν ο χρήστης βγει από τον συντάκτη, η βάση
|
||
δεδομένων χρηστών ενημερώνεται με τις νέες πληροφορίες.</para>
|
||
|
||
<note>
|
||
<para>Κατά την έξοδο από τον συντάκτη, αν δεν είστε ο υπερχρήστης,
|
||
θα ερωτηθείτε για τον κωδικό σας.</para>
|
||
</note>
|
||
|
||
<example>
|
||
<title>Διαδραστική <command>chpass</command> από τον
|
||
Υπερχρήστη</title>
|
||
|
||
<screen>#Changing user database information for jru.
|
||
Login: jru
|
||
Password: *
|
||
Uid [#]: 1001
|
||
Gid [# or name]: 1001
|
||
Change [month day year]:
|
||
Expire [month day year]:
|
||
Class:
|
||
Home directory: /home/jru
|
||
Shell: /usr/local/bin/zsh
|
||
Full Name: J. Random User
|
||
Office Location:
|
||
Office Phone:
|
||
Home Phone:
|
||
Other information:</screen>
|
||
</example>
|
||
|
||
<para>Ο κανονικός χρήστης μπορεί να αλλάξει μόνο ένα μικρό υποσύνολο
|
||
από αυτές τις πληροφορίες, και μόνο για τον εαυτό του.</para>
|
||
|
||
<example>
|
||
<title>Διαδραστική <command>chpass</command> από Κανονικό
|
||
Χρήστη</title>
|
||
|
||
<screen>#Changing user database information for jru.
|
||
Shell: /usr/local/bin/zsh
|
||
Full Name: J. Random User
|
||
Office Location:
|
||
Office Phone:
|
||
Home Phone:
|
||
Other information:</screen>
|
||
</example>
|
||
|
||
<note>
|
||
<para>Οι &man.chfn.1; και &man.chsh.1; είναι
|
||
απλά σύνδεσμοι στην &man.chpass.1;, όπως
|
||
είναι και οι &man.ypchpass.1;,
|
||
&man.ypchfn.1;, και
|
||
&man.ypchsh.1;. Η υποστήριξη NIS είναι αυτόματη, έτσι
|
||
δεν είναι απαραίτητο να καθορίσετε το <literal>yp</literal> πριν
|
||
την εντολή. Αν αυτό σας μπερδεύει, μην ανησυχείτε, το NIS θα
|
||
καλυφθεί στο <xref linkend="network-servers"/>.</para>
|
||
</note>
|
||
</sect2>
|
||
|
||
<sect2 id="users-passwd">
|
||
<title><command>passwd</command></title>
|
||
|
||
<indexterm><primary><command>passwd</command></primary></indexterm>
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary>changing password</secondary>
|
||
</indexterm>
|
||
<para>Το &man.passwd.1; είναι ο συνήθης τρόπος να
|
||
αλλάξετε το δικό σας κωδικό σαν χρήστης, ή τον κωδικό άλλου χρήστη
|
||
σαν υπερχρήστης.</para>
|
||
|
||
<note>
|
||
<para>Για να αποτραπούν τυχαίες ή μη εξουσιοδοτημένες αλλαγές, θα
|
||
σας ζητηθεί ο παλιός κωδικός πριν ορίσετε νέο.</para>
|
||
</note>
|
||
|
||
<example>
|
||
<title>Αλλάζοντας τον Κωδικό σας</title>
|
||
|
||
<screen>&prompt.user; <userinput>passwd</userinput>
|
||
Changing local password for jru.
|
||
Old password:
|
||
New password:
|
||
Retype new password:
|
||
passwd: updating the database...
|
||
passwd: done</screen>
|
||
</example>
|
||
|
||
<example>
|
||
<title>Αλλάζοντας τον Κωδικό άλλου Χρήστη ως Υπερχρήστης</title>
|
||
|
||
<screen>&prompt.root; <userinput>passwd jru</userinput>
|
||
Changing local password for jru.
|
||
New password:
|
||
Retype new password:
|
||
passwd: updating the database...
|
||
passwd: done</screen>
|
||
</example>
|
||
|
||
<note>
|
||
<para>Όσο για τις &man.chpass.1;,
|
||
&man.yppasswd.1; είναι απλά σύνδεσμοι στην
|
||
&man.passwd.1;, έτσι το NIS λειτουργεί με οποιαδήποτε
|
||
εντολή.</para>
|
||
</note>
|
||
</sect2>
|
||
|
||
<sect2 id="users-pw">
|
||
<title><command>pw</command></title>
|
||
<indexterm><primary><command>pw</command></primary></indexterm>
|
||
|
||
<para>Η &man.pw.8; είναι μια λειτουργία της γραμμής εντολών για
|
||
δημιουργία, διαγραφή, αλλαγή, και εμφάνιση χρηστών και ομάδων.
|
||
Λειτουργεί ως front end για τα αρχεία χρηστών και ομάδων του
|
||
συστήματος. Η &man.pw.8; έχει ένα πολύ δυνατό σύνολο επιλογών
|
||
γραμμής εντολών που την καθιστούν κατάλληλη για χρήση σε δέσμες
|
||
εντολών (scripts) κελυφών, αλλά στους νέους χρήστες ίσως φανεί
|
||
περισσότερο περίπλοκη από ότι οι άλλες εντολές που παρουσιάζονται
|
||
εδώ.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="users-limiting">
|
||
<title>Περιορίζοντας Χρήστες</title>
|
||
|
||
<indexterm><primary>limiting users</primary></indexterm>
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary>limiting</secondary>
|
||
</indexterm>
|
||
<para>Αν έχετε χρήστες, ίσως έχετε σκεφτεί να περιορίσετε την δυνατότητα
|
||
χρήσης του συστήματος από αυτούς. Το &os; παρέχει στο διαχειριστή
|
||
αρκετούς τρόπους για να περιορίσει τους πόρους του συστήματος που
|
||
μπορεί να χρησιμοποιήσει ένα άτομο. Αυτά τα όρια χωρίζονται σε δύο
|
||
τμήματα: μερίδια δίσκου (disk quotas), και άλλα όρια πόρων.</para>
|
||
|
||
<indexterm><primary>quotas</primary></indexterm>
|
||
<indexterm>
|
||
<primary>limiting users</primary>
|
||
<secondary>quotas</secondary>
|
||
</indexterm>
|
||
<indexterm><primary>disk quotas</primary></indexterm>
|
||
<para>Τα μερίδια δίσκου περιορίζουν την χρήση των δίσκων στους χρήστες,
|
||
και παρέχουν έναν τρόπο γρήγορου ελέγχου αυτής της χρήσης χωρίς να
|
||
υπολογίζονται από την αρχή κάθε φορά. Τα μερίδια συζητούνται στο <xref
|
||
linkend="quotas"/>.</para>
|
||
|
||
<para>Τα άλλα όρια πόρων περιλαμβάνουν τρόπους για περιορισμό
|
||
χρήσης της CPU, της μνήμης, και άλλων πόρων που μπορεί να καταναλώσει
|
||
ένα χρήστης. Τα όρια αυτά καθορίζονται χρησιμοποιώντας κλάσεις
|
||
σύνδεσης και συζητούνται εδώ.</para>
|
||
|
||
<indexterm>
|
||
<primary><filename>/etc/login.conf</filename></primary>
|
||
</indexterm>
|
||
<para>Οι κλάσεις σύνδεσης καθορίζονται στο
|
||
<filename>/etc/login.conf</filename>. Οι ακριβείς έννοιες είναι πέρα
|
||
από τον σκοπό αυτού του τμήματος, αλλά περιγράφονται με λεπτομέρεια
|
||
στην σελίδα &man.login.conf.5; του manual. Είναι αρκετό να πούμε
|
||
ότι κάθε χρήστης ανήκει σε μία κλάση σύνδεσης (την
|
||
<literal>default</literal> εξ' ορισμού), και ότι κάθε κλάση σύνδεσης
|
||
έχει ένα σύνολο από δυνατότητες σύνδεσης που σχετίζονται με αυτήν. Μια
|
||
δυνατότητα σύνδεσης καθορίζεται από ένα ζεύγος
|
||
<literal><replaceable>name</replaceable>=<replaceable>value</replaceable></literal>, όπου
|
||
<replaceable>name</replaceable> είναι ένα γνωστό αναγνωριστικό και
|
||
<replaceable>value</replaceable> είναι μια επιλεγμένη τιμή που
|
||
θα χρησιμοποιηθεί σύμφωνα με το όνομα. To στήσιμο κλάσεων
|
||
σύνδεσης και δυνατοτήτων είναι μια μάλλον απλή διαδικασία και
|
||
περιγράφεται επίσης στο &man.login.conf.5;.</para>
|
||
|
||
<note>
|
||
<para>Το σύστημα συνήθως δεν διαβάζει απευθείας το αρχείο ρυθμίσεων στο
|
||
<filename>/etc/login.conf</filename>, αλλά το αρχείο
|
||
βάσης δεδομένων <filename>/etc/login.conf.db</filename> το οποίο
|
||
παρέχει γρηγορότερες αναζητήσεις. Για να δημιουργήσουμε το
|
||
<filename>/etc/login.conf.db</filename> από το
|
||
<filename>/etc/login.conf</filename>, εκτελούμε την παρακάτω
|
||
εντολή:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
|
||
</note>
|
||
|
||
<para>Τα όρια πόρων είναι διαφορετικά από τις απλές δυνατότητες
|
||
σύνδεσης για δύο λόγους. Πρώτα, για κάθε όριο, υπάρχει ένα μεταβλητό
|
||
(τρέχον) και ένα μόνιμο όριο. Ένα μεταβλητό όριο μπορεί να αλλάξει από
|
||
τον χρήστη ή την εφαρμογή, αλλά δεν μπορεί να είναι υψηλότερο από το
|
||
μόνιμο όριο. Το τελευταίο μπορεί να ελαττωθεί από τον χρήστη, αλλά
|
||
ποτέ να αυξηθεί. Δεύτερον, τα περισσότερα όρια πόρων εφαρμόζονται ανά
|
||
διεργασία σε ένα συγκεκριμένο χρήστη, όχι στον χρήστη συνολικά.
|
||
Σημειώστε, όμως, ότι αυτές οι διαφορές είναι υποχρεωτικές από τον
|
||
συγκεκριμένο χειρισμό των ορίων, όχι από την υλοποίηση του πλαισίου
|
||
των δυνατοτήτων σύνδεσης (δηλαδή, δεν είναι <emphasis>όντως</emphasis>
|
||
μια ειδική περίπτωση των δυνατοτήτων σύνδεσης).</para>
|
||
|
||
<para>Και έτσι, χωρίς πρόσθετη φασαρία, παρακάτω είναι τα πιο συχνά
|
||
χρησιμοποιούμενα όρια πόρων (τα υπόλοιπα, μαζί με όλες τις άλλες
|
||
δυνατότητες σύνδεσης, μπορείτε να τα βρείτε στο
|
||
&man.login.conf.5;).</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><literal>coredumpsize</literal></term>
|
||
|
||
<listitem>
|
||
<indexterm><primary>coredumpsize</primary></indexterm>
|
||
<indexterm>
|
||
<primary>limiting users</primary>
|
||
<secondary>coredumpsize</secondary>
|
||
</indexterm>
|
||
<para>Το όριο στο μέγεθος ενός αρχείου core που δημιουργείται από
|
||
ένα πρόγραμμα, είναι για προφανείς λόγους, εξαρτώμενο από άλλα
|
||
όρια της χρήσης του δίσκου (π.χ.,
|
||
<literal>filesize</literal>, ή μερίδια δίσκου).
|
||
Παρ' όλα αυτά, χρησιμοποιείται συχνά σαν μία λιγότερο αυστηρή
|
||
μέθοδο ελέγχου της κατανάλωσης χώρου του δίσκου: αφού οι χρήστες
|
||
δεν δημιουργούν αρχεία core από μόνοι τους, και συχνά δεν τα
|
||
διαγράφουν, ορίζοντας το coredumpsize μπορεί να τους γλυτώσει
|
||
από πρόωρο τέλος αποθηκευτικού χώρου, αν για παράδειγμα
|
||
καταρρεύσει ένα μεγάλο πρόγραμμα (όπως
|
||
π.χ. το <application>emacs</application>).</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>cputime</literal></term>
|
||
|
||
<listitem>
|
||
<indexterm><primary>cputime</primary></indexterm>
|
||
<indexterm>
|
||
<primary>limiting users</primary>
|
||
<secondary>cputime</secondary>
|
||
</indexterm>
|
||
<para>Αυτό είναι το μέγιστο ποσό χρόνου της CPU που μπορεί να
|
||
καταναλώσει ένας χρήστης ή μια διεργασία. Διεργασίες που
|
||
υπερβαίνουν αυτό το όριο θα τερματιστούν από τον πυρήνα.</para>
|
||
|
||
<note>
|
||
<para>Αυτό είναι ένα όριο στον <emphasis>χρόνο</emphasis> της
|
||
CPU που καταναλώνεται, όχι στο ποσοστό της CPU όπως
|
||
εμφανίζεται σε κάποια πεδία από τις &man.top.1; και
|
||
&man.ps.1;. Όριο στο ποσοστό, μέχρι τη στιγμή που γράφονται
|
||
αυτές οι γραμμές, δεν είναι δυνατό, και μάλλον θα είναι
|
||
άχρηστο: ένας μεταγλωττιστής—πιθανότατα μια έγκυρη
|
||
εργασία— μπορεί εύκολα να χρησιμοποιήσει σχεδόν το 100%
|
||
μιας CPU για κάποιο χρόνο.</para>
|
||
</note>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>filesize</literal></term>
|
||
|
||
<listitem>
|
||
<indexterm><primary>filesize</primary></indexterm>
|
||
<indexterm>
|
||
<primary>limiting users</primary>
|
||
<secondary>filesize</secondary>
|
||
</indexterm>
|
||
<para>Αυτό είναι το μέγιστο μέγεθος ενός αρχείου που μπορεί να
|
||
κατέχει ένας χρήστης. Σε αντίθεση με τα
|
||
<link linkend="quotas">μερίδια δίσκου</link>, αυτό το όριο
|
||
επιβάλλεται σε κάθε αρχείο χωριστά, όχι στο σύνολο όλων
|
||
των αρχείων που κατέχει ένας χρήστης.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>maxproc</literal></term>
|
||
|
||
<listitem>
|
||
<indexterm><primary>maxproc</primary></indexterm>
|
||
<indexterm>
|
||
<primary>limiting users</primary>
|
||
<secondary>maxproc</secondary>
|
||
</indexterm>
|
||
<para>Αυτό είναι ο μέγιστος αριθμός διεργασιών που μπορεί να εκτελεί
|
||
ένας χρήστης. Περιλαμβάνει με τον ίδιο τρόπο διεργασίες τόσο
|
||
παρασκηνίου όσο και προσκηνίου. Για προφανείς λόγους, δεν μπορεί
|
||
να είναι μεγαλύτερος από το όριο του συστήματος που ορίζεται από
|
||
το <varname>kern.maxproc</varname> &man.sysctl.8;. Επίσης
|
||
σημειώστε ότι θέτοντας πολύ μικρή τιμή, μπορεί να παρεμποδίσετε
|
||
την παραγωγικότητα ενός χρήστη: είναι συχνά χρήσιμο να
|
||
συνδέεται κάποιος πολλαπλές φορές ή να εκτελεί διοχετεύσεις
|
||
(pipelines). Κάποιες εργασίες, όπως η μεταγλώττιση ενός μεγάλου
|
||
προγράμματος, δημιουργούν επίσης πολλές διεργασίες
|
||
(π.χ. &man.make.1;, &man.cc.1;, και άλλοι ενδιάμεσοι
|
||
προεπεξεργαστές).</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>memorylocked</literal></term>
|
||
|
||
<listitem>
|
||
<indexterm><primary>memorylocked</primary></indexterm>
|
||
<indexterm>
|
||
<primary>limiting users</primary>
|
||
<secondary>memorylocked</secondary>
|
||
</indexterm>
|
||
<para>Αυτό είναι το μέγιστο ποσό μνήμης που μπορεί να ζητήσει
|
||
μια διεργασία να κλειδωθεί στην κύρια μνήμη (π.χ., βλέπε
|
||
&man.mlock.2;). Κάποια κρίσιμα προγράμματα του συστήματος, όπως
|
||
το &man.amd.8;, κλειδώνουν στην κύρια μνήμη έτσι ώστε στην
|
||
περίπτωση που αντιμετατεθούν, δεν συνεισφέρουν στην επιβάρυνση
|
||
του συστήματος σε περίπτωση προβλήματος.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>memoryuse</literal></term>
|
||
|
||
<listitem>
|
||
<indexterm><primary>memoryuse</primary></indexterm>
|
||
<indexterm>
|
||
<primary>limiting users</primary>
|
||
<secondary>memoryuse</secondary>
|
||
</indexterm>
|
||
<para>Αυτό είναι το μέγιστο μέγεθος μνήμης που μπορεί μια διεργασία
|
||
να καταναλώσει σε κάθε χρονική στιγμή. Περιλαμβάνει συνολικά την
|
||
κύρια μνήμη και την χρήση της αντιμετάθεσης (swap). Δεν πρόκειται
|
||
για κάποιο συνολικό όριο για τον περιορισμό της κατανάλωσης της
|
||
μνήμης, αλλά είναι μια καλή αρχή.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>openfiles</literal></term>
|
||
|
||
<listitem>
|
||
<indexterm><primary>openfiles</primary></indexterm>
|
||
<indexterm>
|
||
<primary>limiting users</primary>
|
||
<secondary>openfiles</secondary>
|
||
</indexterm>
|
||
<para>Αυτός είναι ο μέγιστος αριθμός αρχείων που μπορεί να έχει
|
||
ανοικτά μια διεργασία. Στο &os;, τα αρχεία επίσης
|
||
χρησιμοποιούνται για να απεικονίσουν υποδοχές (sockets) και
|
||
κανάλια IPC. Προσέξτε λοιπόν να μην θέσετε αυτό το όριο πολύ
|
||
χαμηλά. Το συνολικό όριο του συστήματος καθορίζεται από
|
||
το <varname>kern.maxfiles</varname> &man.sysctl.8;.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>sbsize</literal></term>
|
||
|
||
<listitem>
|
||
<indexterm><primary>sbsize</primary></indexterm>
|
||
<indexterm>
|
||
<primary>limiting users</primary>
|
||
<secondary>sbsize</secondary>
|
||
</indexterm>
|
||
<para>Αυτό είναι το όριο της μνήμης δικτύου, και άρα των
|
||
mbufs, που μπορεί να καταναλώσει ένας χρήστης. Ξεκίνησε ως
|
||
απάντηση σε μια παλιά DoS επίθεση η οποία δημιουργούσε πολλά
|
||
sockets, αλλά μπορεί να χρησιμοποιηθεί γενικά για τον περιορισμό
|
||
των επικοινωνιών δικτύου.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>stacksize</literal></term>
|
||
|
||
<listitem>
|
||
<indexterm><primary>stacksize</primary></indexterm>
|
||
<indexterm>
|
||
<primary>limiting users</primary>
|
||
<secondary>stacksize</secondary>
|
||
</indexterm>
|
||
<para>Αυτό είναι το μέγιστο όριο που μπορεί να μεγαλώσει η στοίβα
|
||
μιας διεργασίας. Από μόνο του δεν είναι αρκετό για να
|
||
περιοριστεί το μέγεθος μνήμης που μπορεί να χρησιμοποιήσει ένα
|
||
πρόγραμμα. Συνεπώς, πρέπει να χρησιμοποιείται σε συνδυασμό με
|
||
άλλα όρια.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>Υπάρχουν μερικά ακόμα πράγματα που πρέπει να θυμάστε όταν θέτετε
|
||
όρια σε πόρους. Παρακάτω είναι μερικές γενικές συμβουλές, προτάσεις,
|
||
και διάφορα σχόλια.</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Οι διεργασίες που ξεκινούν στην εκκίνηση του συστήματος από το
|
||
<filename>/etc/rc</filename> εκχωρούνται στην
|
||
κλάση σύνδεσης <literal>daemon</literal>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Αν και το <filename>/etc/login.conf</filename> που έρχεται
|
||
με το σύστημα είναι μια καλή πηγή λογικών τιμών για τα περισσότερα
|
||
όρια, μόνο εσείς, ο διαχειριστής, μπορεί να ξέρετε τι είναι
|
||
κατάλληλο για το σύστημα σας. Θέτοντας ένα όριο πολύ ψηλά μπορεί
|
||
να διευκολύνετε την κατάχρηση του συστήματος σας, ενώ θέτοντας το
|
||
πολύ χαμηλά μπορεί να περιορίσετε την παραγωγικότητα.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Στους χρήστες του X Window System (X11) θα πρέπει μάλλον να
|
||
παραχωρηθούν περισσότεροι πόροι από ότι σε άλλους χρήστες. Το X11
|
||
από μόνο του καταναλώνει πολλούς πόρους, αλλά επίσης ενθαρρύνει
|
||
τους χρήστες να τρέχουν περισσότερα προγράμματα ταυτόχρονα.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Θυμηθείτε ότι πολλά όρια εφαρμόζονται σε κάθε διεργασία χωριστά,
|
||
όχι στον χρήστη συνολικά. Για παράδειγμα, θέτοντας
|
||
<varname>openfiles</varname> σε 50 σημαίνει ότι κάθε διεργασία
|
||
που εκτελεί ο χρήστης μπορεί να ανοίξει έως 50 αρχεία. Έτσι, ο
|
||
συνολικός αριθμός αρχείων που μπορεί να ανοίξει ο χρήστης είναι η
|
||
τιμή του <literal>openfiles</literal> πολλαπλασιαζόμενη με την
|
||
τιμή του <literal>maxproc</literal>. Αυτό επίσης ισχύει για την
|
||
κατανάλωση μνήμης.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Για περισσότερες πληροφορίες στα όρια πόρων και τις κλάσεις
|
||
σύνδεσης και των δυνατοτήτων γενικά, παρακαλούμε συμβουλευτείτε τις
|
||
σχετικές σελίδες του εγχειριδίου:
|
||
&man.cap.mkdb.1;, &man.getrlimit.2;, &man.login.conf.5;.</para>
|
||
</sect1>
|
||
|
||
<sect1 id="users-groups">
|
||
<title>Ομάδες</title>
|
||
|
||
<indexterm><primary>groups</primary></indexterm>
|
||
<indexterm>
|
||
<primary><filename>/etc/groups</filename></primary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary>accounts</primary>
|
||
<secondary>groups</secondary>
|
||
</indexterm>
|
||
<para>Μία ομάδα είναι απλά μία λίστα χρηστών. Οι ομάδες αναγνωρίζονται
|
||
από το όνομά τους και το GID (Group ID). Στο &os; (και στα περισσότερα
|
||
άλλα όμοια &unix; συστήματα), οι δύο παράγοντες που ο πυρήνας
|
||
χρησιμοποιεί για να αποφασίσει αν μία διεργασία επιτρέπεται να κάνει
|
||
κάτι είναι το ID του χρήστη της και η λίστα με τις ομάδες που ανήκει.
|
||
Σε αντίθεση με το ID του χρήστη, μια διεργασία έχει μια λίστα με τις
|
||
ομάδες που σχετίζονται με αυτήν. Μπορεί να ακούσετε κάποια πράγματα
|
||
να αναφέρονται στο <quote>group ID</quote> ενός χρήστη ή μιας
|
||
διεργασίας. Τις περισσότερες φορές, αυτό σημαίνει απλά την πρώτη ομάδα
|
||
της λίστας.</para>
|
||
|
||
<para>Η αντιστοίχηση του ονόματος της ομάδας στο ID της ομάδας βρίσκεται
|
||
στο <filename>/etc/group</filename>. Αυτό είναι ένα αρχείο απλού
|
||
κειμένου με τέσσερα πεδία χωρισμένα με κόμματα. Το πρώτο πεδίο είναι το
|
||
όνομα της ομάδας, το δεύτερο είναι ο κρυπτογραφημένος κωδικός, το
|
||
τρίτο το ID της ομάδας, και το τέταρτο η λίστα των μελών, χωρισμένη με
|
||
κόμματα. Μπορείτε να την επεξεργαστείτε άφοβα με το χέρι
|
||
(θεωρώντας, φυσικά, ότι δεν κάνετε συντακτικά λάθη!). Για μια πιο
|
||
ολοκληρωμένη περιγραφή της σύνταξης, δείτε την σελίδα manual
|
||
&man.group.5;.</para>
|
||
|
||
<para>Αν δεν θέλετε να επεξεργαστείτε το <filename>/etc/group</filename>
|
||
με το χέρι, μπορείτε να χρησιμοποιήσετε την &man.pw.8; εντολή για να
|
||
προσθέσετε και να επεξεργαστείτε ομάδες. Για παράδειγμα, για να
|
||
προσθέσετε μια ομάδα που λέγεται <groupname>teamtwo</groupname> και
|
||
μετά να επιβεβαιώσετε ότι υπάρχει, μπορείτε να χρησιμοποιήσετε:</para>
|
||
|
||
<example>
|
||
<title>Προσθέτοντας μια Ομάδα Χρησιμοποιώντας το &man.pw.8;</title>
|
||
|
||
<screen>&prompt.root; <userinput>pw groupadd teamtwo</userinput>
|
||
&prompt.root; <userinput>pw groupshow teamtwo</userinput>
|
||
teamtwo:*:1100:</screen>
|
||
</example>
|
||
|
||
<para>Ο αριθμός <literal>1100</literal> παραπάνω είναι το ID της
|
||
ομάδας <groupname>teamtwo</groupname>. Αυτή την στιγμή, η
|
||
<groupname>teamtwo</groupname> δεν έχει μέλη, και γι'αυτό είναι μάλλον
|
||
άχρηστη. Ας το αλλάξουμε αυτό προσκαλώντας τον <username>jru</username>
|
||
στην ομάδα <groupname>teamtwo</groupname>.</para>
|
||
|
||
<example>
|
||
<title>Καθορισμός της Λίστας Μελών μιας Ομάδας με Χρήση του
|
||
&man.pw.8;</title>
|
||
|
||
<screen>&prompt.root; <userinput>pw groupmod teamtwo -M jru</userinput>
|
||
&prompt.root; <userinput>pw groupshow teamtwo</userinput>
|
||
teamtwo:*:1100:jru</screen>
|
||
</example>
|
||
|
||
<para>Η παράμετρος στην επιλογή <option>-M</option> είναι μια
|
||
λίστα χρηστών που πρόκειται να γίνουν μέλη της ομάδας, χωρισμένη με
|
||
κόμματα. Από τα προηγούμενα τμήματα, γνωρίζουμε ότι και το αρχείο
|
||
κωδικών (password file) περιέχει επίσης μια ομάδα για κάθε χρήστη.
|
||
Ο χρήστης εισάγεται αυτόματα (από το σύστημα) ως μέλος της ομάδας
|
||
αυτής. Ο χρήστης δεν θα εμφανίζεται ως μέλος της αρχικής αυτής ομάδας
|
||
όταν χρησιμοποιείται η επιλογή <option>groupshow</option> με την
|
||
&man.pw.8;, αλλά θα εμφανίζεται όταν η πληροφορία αναζητείται μέσω της
|
||
&man.id.1; ή παρόμοιου εργαλείου. Με άλλα λόγια, η &man.pw.8;
|
||
χειρίζεται μόνο το αρχείο <filename>/etc/group</filename>, και δεν θα
|
||
προσπαθήσει ποτέ να διαβάσει πρόσθετα δεδομένα από το
|
||
<filename>/etc/passwd</filename>.</para>
|
||
|
||
<example>
|
||
<title>Προσθήκη Νέου Μέλους στην Ομάδα με Χρήση της &man.pw.8;</title>
|
||
|
||
<screen>&prompt.root; <userinput>pw groupmod teamtwo -m db</userinput>
|
||
&prompt.root; <userinput>pw groupshow teamtwo</userinput>
|
||
teamtwo:*:1100:jru,db</screen>
|
||
</example>
|
||
|
||
<para>Η παράμετρος στην επιλογή <option>-m</option> είναι μια λίστα
|
||
χρηστών (χωρισμένη με κόμματα) που πρόκειται να προστεθούν στα
|
||
υπάρχοντα μέλη της ομάδας. Σε αντίθεση με το προηγούμενο παράδειγμα,
|
||
οι χρήστες αυτοί προστίθενται στην ομάδα, και δεν αντικαθιστούν τους
|
||
χρήστες που ήδη ανήκουν σε αυτή.</para>
|
||
|
||
<example>
|
||
<title>Χρησιμοποιώντας την &man.id.1; για Προσδιορισμό Μελών μιας
|
||
Ομάδας</title>
|
||
|
||
<screen>&prompt.user; <userinput>id jru</userinput>
|
||
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)</screen>
|
||
</example>
|
||
|
||
<para>Όπως μπορείτε να δείτε, ο <username>jru</username> είναι μέλος των
|
||
ομάδων <groupname>jru</groupname> και
|
||
<groupname>teamtwo</groupname>.</para>
|
||
|
||
<para>Για περισσότερες πληροφορίες σχετικά με την &man.pw.8;, δείτε την
|
||
σελίδα manual, και για περισσότερες πληροφορίες σχετικά με την
|
||
μορφοποίηση του <filename>/etc/group</filename>, συμβουλευτείτε την
|
||
σελίδα manual &man.group.5;.</para>
|
||
</sect1>
|
||
</chapter>
|