fwtonio Δημοσ. 13 Σεπτεμβρίου 2014 Δημοσ. 13 Σεπτεμβρίου 2014 Θέλω να δημιουργήσω έναν φάκελο που να μπορεί ο καθένας να γράψει-διαβάσει-τρέξει από αυτόν, αλλά και ότι υποφάκελος και αρχεία δημιουργηθούν μέσα σε αυτόν να έχει τις ίδιες άδειες με τον αρχικό. Πχ mkdir test chmod –R 777 test cd test mkdir free ls –l και φαίνεται ότι ο free είναι: drwxr-sr-x ενώ θέλω να είναι: drwxrwsrwx Γνωρίζει κανείς τον τρόπο;
fwtonio Δημοσ. 13 Σεπτεμβρίου 2014 Μέλος Δημοσ. 13 Σεπτεμβρίου 2014 Δοκίμασε chmod -R go+w test Δυστυχώς επιστρέφει: drwxr-sr-x για τον νέο φάκελο free, που δημιούργησα μέσα στον test. Να ρωτήσω και κάτι άλλο. Μήπως μπορώ να αλλάξω καθολικά όλα τα δικαιώματα του χρήστη; Δηλ. ότι φάκελο ή αρχείο δημιουργεί ο χρήστης pi να είναι: drwxrwsrwx Υπάρχει τρόπος;
mad-proffessor Δημοσ. 13 Σεπτεμβρίου 2014 Δημοσ. 13 Σεπτεμβρίου 2014 Για το πρώτο πρόβλημα σου δες το setuid,setgid bit, για το δεύτερο το umask.
fwtonio Δημοσ. 13 Σεπτεμβρίου 2014 Μέλος Δημοσ. 13 Σεπτεμβρίου 2014 Για το πρώτο πρόβλημα σου δες το setuid,setgid bit, για το δεύτερο το umask. Τελικά το umask 000 λύνει το πρόβλημα αλλά προσωρινά! Μετά από μία επανεκκίνηση, επιστρέφουμε στην αρχική κατάσταση. Μπορούμε να κάνουμε το umask 000 μόνιμο; Τα setuid,setgid bit μου έπεσαν λίγο βαριά (δεν κατάλαβα τίποτα ) και δεν ασχολήθηκα.
fwtonio Δημοσ. 13 Σεπτεμβρίου 2014 Μέλος Δημοσ. 13 Σεπτεμβρίου 2014 Νομίζω ότι έβγαλα άκρη. Γράφουμε sudo nano /etc/profile Προσθέτουμε στο τέλος του αρχείου: umask 000 Σώζουμε και μετά από επανεκκίνηση ισχύουν οι αλλαγές (υποθέτω για τον χρήστη pi) Αν έχετε να προσθέσετε κάτι, πολύ ευχαρίστως.
mad-proffessor Δημοσ. 13 Σεπτεμβρίου 2014 Δημοσ. 13 Σεπτεμβρίου 2014 Πάντως αυτο που έκανες είναι πολύ επικίνδυνο άλλαξες system-wide το umask. Αν σώνει και καλά το θες αυτο άλλαξε το umask μόνο στο profile του χρήστη σου μέσα στο ~ και το άλλο ξανακάντο όπως ήταν.
fwtonio Δημοσ. 14 Σεπτεμβρίου 2014 Μέλος Δημοσ. 14 Σεπτεμβρίου 2014 Πάντως αυτο που έκανες είναι πολύ επικίνδυνο άλλαξες system-wide το umask. Αν σώνει και καλά το θες αυτο άλλαξε το umask μόνο στο profile του χρήστη σου μέσα στο ~ και το άλλο ξανακάντο όπως ήταν. Άρα έχουμε και λέμε: Επαναφέρουμε το /etc/profile και μετά sudo nano ~/.profile ( αυτό είναι το σωστό; ) Προσθέτουμε στο τέλος του αρχείου: umask 000 Σώζουμε και μετά από επανεκκίνηση ισχύουν οι αλλαγές μόνο για τον χρήστη pi. Ασφαλέστερο τώρα;
Artemis Fowl Δημοσ. 14 Σεπτεμβρίου 2014 Δημοσ. 14 Σεπτεμβρίου 2014 Καλύτερα στο "~/.bashrc". Btw διαβάζοντας το topic, είναι χίλιες φορές προτιμότερο να κινηθείς με ACL (=Access Control Lists). Η τροποποίηση του umask κρύβει διάφορους κινδύνους και παγίδες, δε συνίσταται να τροποποιείται ακόμα και για απλούς χρήστες αν δεν είσαι 100% σίγουρος τι κάνεις. Το ακόλουθο one-liner θα κάνει τη δουλειά σου, δοκίμασε το και απέφυγε τα umask voodoo: setfacl -Rm u::rwX,g::rwX,o::rwX,d:u::rwX,d:g::rwX,d:o::rwX /path/to/your/directory/ Το τρέχεις σαν απλός χρήστης αντικαθιστώντας το δικό σου directory path στο τέλος. Αυτό που κάνει είναι το εξής: το πρώτο κομμάτι (u::rwX,g::rwX,o::rwX) είναι ακριβώς το ίδιο με το αν έκανες "chmod -R 777". Το δεύτερο κομμάτι (d:u::rwX,d:g::rwX,d:o::rwX) ορίζει το default, ώστε όποτε δημιουργηθεί καινούριο αρχείο/φάκελος να του γίνει αυτόματα το ίδιο chmod. Για περισσότερες πληροφορίες man setfacl. P.S.: Προϋπόθεση της παραπάνω μεθόδου είναι να υποστηρίζει ACLs το file system σου. Σε οποιαδήποτε σύγχρονη διανομή είναι ενεργοποιημένα by default.
fwtonio Δημοσ. 14 Σεπτεμβρίου 2014 Μέλος Δημοσ. 14 Σεπτεμβρίου 2014 Καλύτερα στο "~/.bashrc". Btw διαβάζοντας το topic, είναι χίλιες φορές προτιμότερο να κινηθείς με ACL (=Access Control Lists). Η τροποποίηση του umask κρύβει διάφορους κινδύνους και παγίδες, δε συνίσταται να τροποποιείται ακόμα και για απλούς χρήστες αν δεν είσαι 100% σίγουρος τι κάνεις. Το ακόλουθο one-liner θα κάνει τη δουλειά σου, δοκίμασε το και απέφυγε τα umask voodoo: setfacl -Rm u::rwX,g::rwX,o::rwX,d:u::rwX,d:g::rwX,d:o::rwX /path/to/your/directory/ Το τρέχεις σαν απλός χρήστης αντικαθιστώντας το δικό σου directory path στο τέλος. Αυτό που κάνει είναι το εξής: το πρώτο κομμάτι (u::rwX,g::rwX,o::rwX) είναι ακριβώς το ίδιο με το αν έκανες "chmod -R 777". Το δεύτερο κομμάτι (d:u::rwX,d:g::rwX,d:o::rwX) ορίζει το default, ώστε όποτε δημιουργηθεί καινούριο αρχείο/φάκελος να του γίνει αυτόματα το ίδιο chmod. Για περισσότερες πληροφορίες man setfacl. P.S.: Προϋπόθεση της παραπάνω μεθόδου είναι να υποστηρίζει ACLs το file system σου. Σε οποιαδήποτε σύγχρονη διανομή είναι ενεργοποιημένα by default. Καταργούμε το umask. Επανεκκίνηση και γυρίζουμε στην αρχική κατάσταση. Η εντολή δεν υπήρχε οπότε, γράφουμε: sudo apt-get install acl Επανεκκίνηση. setfacl -Rm u::rwX,g::rwX,o::rwX,d:u::rwX,d:g::rwX,d:o::rwX /path/to/your/directory και επιστέφει για τους φακέλους και υποφακέλους: setfacl: /path/to/your/directory: Operation not supported και ενώ αλλάζει τους υπάρχοντες φακέλους σε drwxrwsrwx, δεν «μεταδίδει» την ιδιότητα και τους νέους. Δοκίμασα umask 000 στο ~/.bashrc και η ιδιότητα που θέλω επανήλθε.
Artemis Fowl Δημοσ. 14 Σεπτεμβρίου 2014 Δημοσ. 14 Σεπτεμβρίου 2014 Δεν πιστεύω να εκτέλεσες την εντολή με "/path/to/your/directory" μέσα, έτσι? Οι ACLs είναι η ιδανική λύση για το πρόβλημα σου πάντως. Αν θες να το κάνεις να δουλέψει πόσταρε το /etc/mtab να δούμε αν είναι ενεργοποιημένα τα ACLs στο file system σου.
fwtonio Δημοσ. 14 Σεπτεμβρίου 2014 Μέλος Δημοσ. 14 Σεπτεμβρίου 2014 Η ακριβής θέση είναι: /home/pi/test /etc/mtab rootfs / rootfs rw,noatime,size=112640k,nr_inodes=29204 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 dev /dev devtmpfs rw,relatime,size=116816k,nr_inodes=29204,mode=755 0 0 /dev/sda1 /mnt ext4 rw,noatime,data=ordered 0 0 /dev/loop0 /squashfs squashfs ro,relatime 0 0 none / aufs rw,relatime,si=5121ecbc 0 0 tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=47560k,mode=755 0 0 tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 tmpfs /run/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=95100k 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
Artemis Fowl Δημοσ. 14 Σεπτεμβρίου 2014 Δημοσ. 14 Σεπτεμβρίου 2014 Άνοιξε /etc/fstab, βάλε "acl" στα mount options του root (μετά το noatime π.χ.), reboot και ξαναδοκιμάζεις την εντολή. Ένα παράδειγμα του αποτελέσματος που προσφέρουν τα ACLs: http://pastebin.com/raw.php?i=sz6qd7T2
fwtonio Δημοσ. 14 Σεπτεμβρίου 2014 Μέλος Δημοσ. 14 Σεπτεμβρίου 2014 Άνοιξε /etc/fstab, βάλε "acl" στα mount options του root (μετά το noatime π.χ.), reboot και ξαναδοκιμάζεις την εντολή. Ένα παράδειγμα του αποτελέσματος που προσφέρουν τα ACLs: http://pastebin.com/raw.php?i=sz6qd7T2 /etc/fstab proc /proc proc defaults 0 0 #/dev/mmcblk0p1 /boot vfat defaults 0 2 #/dev/mmcblk0p2 / ext4 defaults,noatime 0 1 Ποιό είναι το root;
Artemis Fowl Δημοσ. 14 Σεπτεμβρίου 2014 Δημοσ. 14 Σεπτεμβρίου 2014 Η τελευταία γραμμή είναι αλλά πριν αλλάξουμε κάτι, τρέξε την εντολή "dumpe2fs -h /dev/mmcblk0p2" και πόσταρε ένα pastebin link. Ίσως χρειαστεί sudo. Θα μας δώσει πληροφορίες για το root filesystem σου, ίσως είναι ήδη ενεργοποιημένα τα ACLs.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα