Δικαιώματα

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Δικαιώματα

Δημοσίευσηαπό Dimitris » 26 Αύγ 2008, 19:49

Τα δικαιώματα (permissions) είναι ένα από τα βασικά χαρακτηριστικά των συστημάτων unix γενικότερα, που επιτρέπει τους χρήστες να ανταλλάσουν αρχεία ή να περιορίζουν την πρόσβαση τρίτων. Ας ανοίξουμε όμως ένα τερματικό από Αpplications > Accessories > Terminal για να δούμε ακριβώς τι συμβαίνει. Είμαστε λογικά στο αρχικό κατάλογο (/home/user όπου user το ονομα χρήστη σας) Πληκτρολογούμε:
Κώδικας: Επιλογή όλων
ls -l

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

Η πρώτη στηλη μπορεί να είναι d ή -, d για φάκελος (directory), - για απλό αρχείο.
Κάθε αρχείο, κι όταν λέω αρχείο εννοώ και φακέλους, έχει ορισμένα χαρακτηριστικά, όπως σε ποιον ανήκει το αρχείο, σε ποια ομάδα ανήκει, ποιος έχει δικαίωμα να το διαβάσει, να το τροποποιήσει ή να το εκτελέσει. Η επόμενες 9 στήλες είναι συνδυασμοί των r,w,x,- έπειτα ακολουθεί ένας αριθμός, κι εκεί βλέπεται το όνομα του χρήστη σας δύο φορές. Η πρώτη εμφάνιση του user συμβολίζει τον ιδιοκτήτη του αρχείου (owner). H δεύτερη εμφάνιση την ομάδα (group). Oι 9 στήλες που περάσαμε είναι 3 συνδυασμοί των 3. Οι πρώτοι 3 συνδυασμοί αναφέρονται στα δικαιώματα του χρήστη. Η δεύτερη τριάδα αναφέρεται στα δικαιώματα της ομάδας και η τελευταία τριάδα στα δικαιώματα των άλλων (οthers, βλ. ανέκδοτο: εσύ με ποιούς είσαι με μας ή με τους άλλους; )

r σημαίνει δικαιώματα ανάγνωσης (read). w σημαίνει δικαιώματα τροποποίησης (write). x σημαίνει δικαιώματα εκτέλεσης (execute). Οποτε αν δούμε το συνδυασμό -rw-r--r-- σημαίνει ότι το αρχείο είναι απλό αρχείο και όχι φάκελος, ο χρήστης στον οποίο ανήκει το αρχείο έχει δικαιώματα να το διαβάσει και να το τροποποιήσει, αλλά όχι να το εκτελέσει. Οι χρήστες που ανήκουν στην ομάδα έχουν δικαίωμα μόνο ανάγνωσης και οι άλλοι έχουν επισης δικαίωμα μόνο ανάγνωσης.

Ο αριθμός που μας διέφυγε σημαίνει πόσα αρχεία περιλαμβάνει το αρχείο μας (Τι αριθμό θα έχει ένα αρχείο με - μπροστα κι όχι d; )

Φυσικά όλα αυτά τα δικαιώματα μπορούν να αλλάξουν. Μερικές χρήσιμες εντολές είναι η chgrp, chown, chmod. H chgrp αλλάζει την ομάδα του αρχείου. Η chown αλλάζει τον ιδιοκτήτη του αρχείου. Και η chmod αλλάζει τα δικαιώματα. Φυσικά για να αλλάξουν αυτά πρέπει να είμαστε ιδιοκτήτες του αρχείου. (Η σύνταξη των εντολών θα ακολουθήσει στο μέλλον, πρέπει να φύγω τώρα;)
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Δικαιώματα

Δημοσίευσηαπό linuxman » 26 Αύγ 2008, 20:07

Και με την παρακάτω εντολή αλλάζουμε δικαιώματα σε όλα τα αρχεία , φακέλους και υποφακέλους και τα αρχεία μέσα σε αυτά

Κώδικας: Επιλογή όλων
sudo chown username:username -R *
Οδηγίες προς Νεοεισερχόμενους
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Linux Mint 17.1 Rebecca 3.13.0-37-generic 64bit (el_GR.UTF-8, X-Cinnamon cinnamon)
3 Intel Core i5-2310M CPU @ 2.10GHz ‖ RAM 3866 MiB ‖ Dell Inc. 0D7C51 - Dell Inc. Dell System Vostro 3750
4 Intel 2nd Generation Core Processor Family Integrated Graphics [8086:0116] {i915}
5 wlan0: Intel Centrino Wireless-N 1030 [Rainbow Peak] [8086:008a] (rev 34) ⋮ eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
http://www.greeklug.gr
Άβαταρ μέλους
linuxman
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10378
Εγγραφή: 10 Μάιος 2008, 20:41
Τοποθεσία: Thessaloniki / Macedonia / Greece
Εκτύπωση

Re: Δικαιώματα

Δημοσίευσηαπό ftso » 26 Αύγ 2008, 20:11

Ωραία το άρχισες... :D
Περιμένουμε την συνέχεια!
Αν μπορείς να αναφέρεις και την umask.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Δικαιώματα

Δημοσίευσηαπό Dimitris » 27 Αύγ 2008, 11:20

Και τώρα η συνέχεια!

Η σύνταξη της εντολής chgrp είναι:
Κώδικας: Επιλογή όλων
chgrp mygroup myfile

όπου mygroup είναι η ομάδα στην οποιά θα αλλάξει το αρχείο myfile. Mερικές επιλογές είναι -R η οποία αλλάζει και τις ομάδες στους υποφακέλους του myfile, αν υπάρχουν.

Αντίστοιχα, η σύνταξη της εντολής chown είναι:
Κώδικας: Επιλογή όλων
chown owner myfile

όπου owner είναι o καινούριος ιδιοκτήτης στον οποιά θα ανηκει το αρχείο myfile. Mερικές επιλογές είναι -R η οποία αλλάζει και τους ιδιοκτήτες στους υποφακέλους του myfile, αν υπάρχουν.

Η εντολή chmod αλλάζει τα δικαιώματα ως εξής:
Κώδικας: Επιλογή όλων
chmod mode myfile

όπου mode είναι τα νέα δικαιώματα του αρχείου myfile. Oι επιλογές του mode δίνονται με ένα γράμμα που δείχνει ποιον αφορά η αλλάγη (u, g, o), επειτα + για να προσθέσουμε δικαιώματα ή με - για να τα αφαιρέσουμε και έπειτα ακολουθουν τι δικαιώματα θέλουμε να δώσουμε ή να αφαιρέσουμε (r,w,x).

Με μερικά παραδείγματα θα γίνει πιο κατανοητό.
Κώδικας: Επιλογή όλων
ls -l
-rw-r--r--   1 dp  staff  0 Aug 27 10:01 myfile

έχουμε ένα απλό αρχείο με δικαιώματα αναγνωσης και τροποποίησης από τον ιδιοκτήτη (dp), αναγνωσης από την ομάδα (staff) και αναγνωσης από όλους τους άλλους. Η εντολή:
Κώδικας: Επιλογή όλων
chmod u+x myfile

δίνει στον ιδιοκτητη το δικαίωμα να το εκτελεσει το αρχειο. Φυσικά αν δεν είναι bash script, ή εκτελέσιμο πρόγραμμα ή python script, κτλ. θα βγάλει σφάλμα αν πάμε να το εκτελέσουμε με
Κώδικας: Επιλογή όλων
./myfile

Aλλά υποτίθεται ότι ξέρουμε σε ποια αρχεία δίνουμε το δικαίωμα της εκτέλεσης. Mε ls -l
Κώδικας: Επιλογή όλων
-rwxr--r--   1 dp  staff  0 Aug 27 10:01 myfile*

βλέπουμε στην πρώτη τριαδα το x. Aναλογα με τις ρυθμίσεις του κελύφους bash θα αλλάξει και το χρώμα του myfile (σε μενα βάζει ένα αστεράκι). Η εντολή:
Κώδικας: Επιλογή όλων
chmod u-x myfile

το επαναφέρει στην αρχική του κατάσταση.

Κώδικας: Επιλογή όλων
chmod go+w myfile

θα δώσει δικαιώματα τροποποίησης στην ομάδα staff και σε όλους τους άλλους. Το αποτελεσμα της ls -l θα είναι τότε:
Κώδικας: Επιλογή όλων
-rwxrw-rw-   1 dp  staff  0 Aug 27 10:01 myfile*

στη δεύτερη και την τρίτη στήλη θα υπάρχει και w.

Κώδικας: Επιλογή όλων
chmod o-wr myfile

θα αφαιρέσει το δικαίωμα τροποποιησης και αναγνωσης από όλους όσους δεν ανήκουν στην ομάδα staff.

Υπάρχει και ένας δεύτερος τρόπος περιγραφης των δικαίωματων, κάπως πιο απόκρυφος ο οποίος χρησιμοποιείται και κάπως παραλαγμένος στην umask (Θα φτάσουμε κι εκεί.) Την κάθε τριάδα μπορούμε να την δούμε σαν ένα δυαδικό αριθμό που αποτελείται από bits τα οποία μπορεί να είναι 0 ή 1. Όταν υπάρχει ένα δικαίωμα το αντίστοιχο bit είναι 1, όταν δεν υπάρχει είναι 0. Η τριάδα r-- θα είναι ο αριθμό 100 στο δυαδικό σύστημα, τον οποίο αν το μετατρέψουμε στο δεκαδικό θα είναι ο 1x2**2+0x2**1 +0x2**0 (** σημαίνει ύψωση σε δύναμη) δηλαδή 4. Αντίστοιχα η τριάδα rw- αντιστοιχεί στο δυαδικό αριθμό 110 ή στον δεκαδικό 6. Αν θέλουμε τώρα να δώσουμε τα δικαιώματα rw-r--r-- σε ένα αρχείο θα δίναμε την εντολή:
Κώδικας: Επιλογή όλων
chmod 644 myfile


Άσκηση: Ποιο θα είναι το αποτέλεσμα της εντολής;
Κώδικας: Επιλογή όλων
chmod 755 myfile
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Δικαιώματα

Δημοσίευσηαπό Dimitris » 27 Αύγ 2008, 11:30

Ένα σημείο το οποίο χωράει συζήτηση είναι το δικαίωμα ανάγνωσης (r). Όταν κάποιος άλλος χρήστης έχει δικαίωμα ανάγνωσης μόνο, σημαίνει ότι μπορεί να διαβάσει το αρχείο αλλά όχι να το τροποποιήση. Να διαβάσει όμως σημαίνει όχι απλώς να το ανοιξει με έναν editor και να το διαβάσει, αλλά να το αντιγράψει κι όλας, με την εντολή cp για παράδειγμα. Φυσικά το νέο αρχείο θα έχει ως ιδιοκτήτη το νέο χρήστη. Αυτό δημιουργία κάποια ανασφάλεια στους νέους χρήστες, αλλά δυστυχώς ή ευτυχώς έτσι είναι. Δεν είναι ούτε bug ούτε feature. Πολλές μεγάλες δισκογραφικές εταιρίες κάνουν έρευνα ώστε να μπορεί κάποιος να διαβάζει κάτι χωρίς να μπορεί να το αντιγράψει αλλά ανεπιτυχώς θα έλεγα. Οπότε αν θέλετε να μη μπορεί κάποιος να αντιγραψει τα αρχεία σας θα πρέπει να μην τους δώσετε δικαιώματα ανάγνωσης.

Μια δεύτερη επισήμανση είναι οι φάκελοι. Για να μπορέσει κανείς να "μπει" μέσα σε ένα φάκελο πρέπει να έχει δικαίωμα εκτέλεσης του φακέλου.

Αν θέλουμε να αναφερθούμε σε όλους τους χρήστες (u, g και ο) τότε μπορούμε να γράψουμε a (all) δηλαδή
Κώδικας: Επιλογή όλων
chmod a+w myfile

δίνει σε όλους δικαίωμα τροποποίησης.

Ακόμη μία άσκηση: Πώς μπορούμε να δημιουργήσουμε ένα φάκελο που να λειτουργεί σαν γραμματοκιβώτιο όπου όλοι μπορούν να γράψουν ένα αρχειό (να στείλουν ένα γράμμα) αλλά να μόνο ο ιδιοκτήτης να μπορεί να δεί το γραμματοκιβώτιό του. Το γράμμα μπορεί να το καταστρέψει ο αποστολέας; Ο παραλήπτης;
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Δικαιώματα

Δημοσίευσηαπό alexjm » 20 Ιαν 2009, 04:33

Μου δημιουργήθηκε ένα πρόβλημα & δεν μπορώ να κάνω write σε κανέναν από τους δίσκους μου (μπορώ μόνο read).
Ας πάρουμε για παράδειγμα τον δίσκο Huge. Βρίσκεται στο /media/Huge. Κάνω τα εξής:

Κώδικας: Επιλογή όλων
alex@alex-desktop:~$ ls -l /media/Huge
total 21
dr-xr-xr-x 1 root root 4096 2009-01-16 16:47 documents
dr-xr-xr-x 1 root root    0 2008-10-25 01:03 e-books
dr-xr-xr-x 1 root root 4096 2008-10-25 01:03 e-magazines
dr-xr-xr-x 1 root root 4096 2009-01-19 04:28 music
dr-xr-xr-x 1 root root 4096 2009-01-19 21:46 photos
dr-xr-xr-x 1 root root    0 2008-12-11 17:54 $RECYCLE.BIN
dr-xr-xr-x 1 root root 4096 2008-12-09 19:34 setup
dr-xr-xr-x 1 root root    0 2008-12-11 17:45 System Volume Information
-r-xr-xr-x 1 root root  238 2008-12-02 03:28 Unsaved Document 1~
alex@alex-desktop:~$ sudo chown -R alex /media/Huge/
alex@alex-desktop:~$ sudo chmod -R 755 /media/Huge
alex@alex-desktop:~$ ls -l /media/Huge
total 21
dr-xr-xr-x 1 root root 4096 2009-01-16 16:47 documents
dr-xr-xr-x 1 root root    0 2008-10-25 01:03 e-books
dr-xr-xr-x 1 root root 4096 2008-10-25 01:03 e-magazines
dr-xr-xr-x 1 root root 4096 2009-01-19 04:28 music
dr-xr-xr-x 1 root root 4096 2009-01-19 21:46 photos
dr-xr-xr-x 1 root root    0 2008-12-11 17:54 $RECYCLE.BIN
dr-xr-xr-x 1 root root 4096 2008-12-09 19:34 setup
dr-xr-xr-x 1 root root    0 2008-12-11 17:45 System Volume Information
-r-xr-xr-x 1 root root  238 2008-12-02 03:28 Unsaved Document 1~
alex@alex-desktop:~$


Που ακριβώς κάνω λάθος? Μετά δηλαδή την εκτέλεση των εντολών, δεν έχω κανένα αποτέλεσμα. Ο δίσκος είναι ntfs.
alexjm
babeTUX
babeTUX
 
Δημοσιεύσεις: 21
Εγγραφή: 30 Οκτ 2008, 23:04
Εκτύπωση

Re: Δικαιώματα

Δημοσίευσηαπό logari81 » 20 Ιαν 2009, 11:13

θα προτεινα να ανοιξεις ενα καινουριο θεμα και να ποσταρεις εκει την ερωτηση σου μαζι με το αποτελεσμα της εντολής
Κώδικας: Επιλογή όλων
cat /etc/fstab
http://opensourceecology.org/


Λειτουργικό: Ubuntu 10.04 lucid 64-bitΠροδιαγραφές: 4x Intel Core i5 CPU M 450 2.40GHz ‖ RAM 3696 MiB ‖ Lenovo KL3 - LENOVO IdeaPad Y560
Κάρτα γραφικών: ATI Device [1002:68c0]Ασύρματο: wlan0: Atheros Inc. AR928X Wireless Network Adapter (PCI-Express) [168c:002a] (rev 01)
logari81
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6074
Εγγραφή: 14 Μάιος 2008, 10:40
Εκτύπωση


Επιστροφή στο Οδηγοί - How to - Tutorials

Μέλη σε σύνδεση

Μέλη σε αυτή τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 3 επισκέπτες