Σελ. 1 από 147 12361121 ... ΤελευταίαΤελευταία
Εμφάνιση 1-15 από 2202
  1. #1
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Θέλω να κάνω κάτι συγκεκριμένο και θέλω να δουλεύει καί σε linux καί σε FreeBSD:

    Ας πούμε ότι έχουμε ένα directory έστω το /bla-bla/.

    Θέλω με 1-2 εντολές chown & chmod:

    1. Όλα τα αρχεία και directories από εκεί και κάτω (μαζί με το /bla-bla/) να έχουν owner -> nobody & owner group -> nobody

    2. Όλα τα directories από εκεί και κάτω (μαζί με το /bla-bla/) να έχουν permissions -> 40777 σε (octal) -> δηλαδή όλα, καί τα 9.

    3. Όλα τα αρχεία από εκεί και κάτω να έχουν permissions -> 100666 σε (octal) -> δηλαδή όλα read-write από owner, group, others αλλά να ΜΗΝ είναι εκτελέσιμα.

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

  2. #2
    Εγγραφή
    19-04-2004
    Μηνύματα
    6.372
    Downloads
    2
    Uploads
    0
    Άρθρα
    5
    Παράθεση Αρχικό μήνυμα από WAntilles
    Θέλω να κάνω κάτι συγκεκριμένο και θέλω να δουλεύει καί σε linux καί σε FreeBSD:

    Ας πούμε ότι έχουμε ένα directory έστω το /bla-bla/.

    Θέλω με 1-2 εντολές chown & chmod:

    1. Όλα τα αρχεία και directories από εκεί και κάτω (μαζί με το /bla-bla/) να έχουν owner -> nobody & owner group -> nobody

    2. Όλα τα directories από εκεί και κάτω (μαζί με το /bla-bla/) να έχουν permissions -> 40777 σε (octal) -> δηλαδή όλα, καί τα 9.

    3. Όλα τα αρχεία από εκεί και κάτω να έχουν permissions -> 100666 σε (octal) -> δηλαδή όλα read-write από owner, group, others αλλά να ΜΗΝ είναι εκτελέσιμα.

    Αναμένω τα φώτα σας.
    chown nobody:nobody bla-bla -R δεν δουλεύει;
    μετά chmod ugoa-xrw bla-bla -R
    και chmod u+rw bla-bla -R

    Τα directories αν δεν είναι x, δεν τα κάνεις access πάντως!

    Τώρα, αφού έχεις φτιάξει τα αρχεία, θα πρέπει να φτιάξεις τα directories να είναι ugoa+rwx το οποίο γίνεται αν κάνεις feed ένα ls μέσω pipe ή command substitution στο chmod...

    σκεφτόμουν να σου πω ls /bla-bla/* -R -d -a αλλά δεν κάνει recursion, είναι κάποιο bug?
    Οπότε θα το λύσουμε με την find

    για να δεις μόνο τα directory κάτω από το bla-bla δώσε:
    find /bla-bla -type d
    για να τα κάνεις όλα αυτά τώρα αλλαγή με την chmod, δώσε:
    chmod ugoa+rwx $(find /bla-bla -type d)
    το $() λέγεται command substitution και παίρνει το αποτέλεσμα της εντολής εντός παρενθέσεως και το περνάει σαν παράμετρο στην προηγούμενη εντολή.

    Ελπίζω να σου λύνει το πρόβλημα.
    Τελευταία επεξεργασία από το μέλος pelasgian : 26-12-05 στις 20:16.
    ... when you damp oscillations, you lose the high points as well as the low.
    改善 - kai zen - continuous change for the better - the Tao of Linux.
    Linux χωρίς εγκατάσταση, δωρεάν ΝΟΜΙΜΟ office, browser χωρίς ιούς ,
    δωρεάν εγκατάσταση Linux, δωρεάν raytracer, γιατί το δωρεάν είναι όλα τα λεφτά...
    ΟΔΗΓΙΕΣ εγκατάστασης Linux

  3. #3
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.196
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Παράθεση Αρχικό μήνυμα από WAntilles
    Θέλω να κάνω κάτι συγκεκριμένο και θέλω να δουλεύει καί σε linux καί σε FreeBSD:

    Ας πούμε ότι έχουμε ένα directory έστω το /bla-bla/.

    Θέλω με 1-2 εντολές chown & chmod:

    1. Όλα τα αρχεία και directories από εκεί και κάτω (μαζί με το /bla-bla/) να έχουν owner -> nobody & owner group -> nobody

    2. Όλα τα directories από εκεί και κάτω (μαζί με το /bla-bla/) να έχουν permissions -> 40777 σε (octal) -> δηλαδή όλα, καί τα 9.

    3. Όλα τα αρχεία από εκεί και κάτω να έχουν permissions -> 100666 σε (octal) -> δηλαδή όλα read-write από owner, group, others αλλά να ΜΗΝ είναι εκτελέσιμα.

    Αναμένω τα φώτα σας.

    1) chown -R nobody:nobody bla-bla
    2) find . -type d -exec chmod 777 {} \;
    3) find . ! -type d -exec chmod 666 {} \;

    Τα 2 και 3 υποθέτουν ότι τρέχων κατάλογος είναι ο bla-bla (αλλιώς άλλαξε το
    "." με το κατάλογο που θες)

  4. #4
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Κώδικας:
    chown -R nobody:nobody bla-bla
    find bla-bla -type d -exec chmod 777 {} \;
    find bla-bla ! -type d -exec chmod 666 {} \;
    [action=WAntilles]σημειώνει τα ύπερ-χρήσιμα σούπερ-SOS (man pages που δεν έχουν 4-5 παραδείγματα όσο πλήρη και να είναι, είναι άχρηστα)[/action]

    Βγάλε το "imi" από το nick.
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  5. #5
    Εγγραφή
    19-04-2004
    Μηνύματα
    6.372
    Downloads
    2
    Uploads
    0
    Άρθρα
    5
    αν είχαν παραδείγματα φίλε Wan, δεν θα ήταν MANual pages, θα ήταν η δομή!
    Άλλωστε πάντοτε έχουν το synopsis στην αρχή.

    Πάντως μαγκιά που η find έχει το flag -exec, διότι το command substitution έχει περιορισμό στο μέγιστο αριθμό arguments!

    Ωραίος, ωραίος!
    ... when you damp oscillations, you lose the high points as well as the low.
    改善 - kai zen - continuous change for the better - the Tao of Linux.
    Linux χωρίς εγκατάσταση, δωρεάν ΝΟΜΙΜΟ office, browser χωρίς ιούς ,
    δωρεάν εγκατάσταση Linux, δωρεάν raytracer, γιατί το δωρεάν είναι όλα τα λεφτά...
    ΟΔΗΓΙΕΣ εγκατάστασης Linux

  6. #6
    Εγγραφή
    21-12-2004
    Περιοχή
    Ανα την επικράτεια...
    Μηνύματα
    1.425
    Downloads
    7
    Uploads
    0
    Τύπος
    ADSL OTE
    Ταχύτητα
    12288/512
    ISP
    OTE
    DSLAM
    ΟΤΕ - ΠΑΥΛΟΥ ΜΕΛΑ
    Router
    Cisco877-SEC-K9
    SNR / Attn
    6(dB) / 36.5(dB)
    Path Level
    Interleaved
    Παράθεση Αρχικό μήνυμα από imitheos
    1) chown -R nobody:nobody bla-bla
    2) find . -type d -exec chmod 777 {} \;
    3) find . ! -type d -exec chmod 666 {} \;

    Τα 2 και 3 υποθέτουν ότι τρέχων κατάλογος είναι ο bla-bla (αλλιώς άλλαξε το
    "." με το κατάλογο που θες)
    Έτσι, έτσι...
    Επιτέλους ένας χριστιανός που λέει τον κατάλογο κατάλογο και όχι φάκελο.
    Εύγε
    (Άσχετο αλλά να πώ τον πόνο μου: ΜΙΣΗ ΩΡΑ ΣΤΑ ΔΙΟΔΙΑ!!!)
    Πείτε όχι στα ναρκωτικά.
    Δε φτάνουν για όλους!!!

  7. #7
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Κώδικας:
    chown -R nobody:nobody bla-bla
    find bla-bla -type d -exec chmod 777 {} \;
    find bla-bla ! -type d -exec chmod 666 {} \;
    Και πώς κάνουμε το παραπάνω σε ένα bash script που να δέχεται το directory ως μεταβλητή που θα είναι το πρώτο όρισμα που θα πάρει στην command line;

    π.χ. σε DOS-Windows command prompt το παραπάνω θα το κάναμε ως εξής:

    fix.bat

    Κώδικας:
    chown -R nobody:nobody %1
    find %1 -type d -exec chmod 777 {} \;
    find %1 ! -type d -exec chmod 666 {} \;
    Και θα το καλούσαμε ως:

    Κώδικας:
    fix "adir"
    και τότε θα έφτιανχε το directory "adir"

    Σε bash θα πάει προφανώς κάπως έτσι:

    fix.sh

    Κώδικας:
    !/bin/bash
    
    chown -R nobody:nobody ${dir}
    find ${dir} -type d -exec chmod 777 {} \;
    find ${dir} ! -type d -exec chmod 666 {} \;
    αλλά πώς δίνω τιμή στη μεταβλητή ${dir} το πρώτο όρισμα που θα πάρει στην command line;



    ΥΓ: [action=WAntilles]σκέφτεται καιρός να μάθει και λίγο bash ύστερα από 1.5 χρόνο ενασχόληση με unix-οειδή.[/action]
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  8. #8
    Εγγραφή
    11-12-2003
    Περιοχή
    Edessa
    Ηλικία
    46
    Μηνύματα
    1.941
    Downloads
    8
    Uploads
    0
    Ταχύτητα
    21633/1020
    ISP
    Forthnet
    DSLAM
    Forthnet - ΕΔΕΣΣΑ
    Router
    THOMSON TG585
    SNR / Attn
    4(dB) / 10(dB)
    αλλά πώς δίνω τιμή στη μεταβλητή ${dir} το πρώτο όρισμα που θα πάρει στην command line;
    Η πρώτη παράμετρος είναι η $1

  9. #9
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από hayzel
    Η πρώτη παράμετρος είναι η $1
    Δηλαδή κάτι τέτοιο θα δουλέψει;

    fix.sh

    Κώδικας:
    !/bin/bash
    
    dir=$1
    
    chown -R nobody:nobody $dir
    find $dir -type d -exec chmod 777 {} \;
    find $dir ! -type d -exec chmod 666 {} \;
    --- ΠΡΟΣΘΗΚΗ ---

    Για τέτοιου είδους σκριπτάκια που φτιάχνω για δική μου χρήση ως superuser, σε ποιό directory είναι η ενδεδειγμένη τοποθέτησή τους, ώστε να βρίσκονται στο path:

    α. σε διανομή linux
    β. σε FreeBSD 6.0
    Τελευταία επεξεργασία από το μέλος WAntilles : 29-12-05 στις 17:31.
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  10. #10
    Εγγραφή
    24-04-2002
    Περιοχή
    Θεσσαλονίκη
    Ηλικία
    50
    Μηνύματα
    2.725
    Downloads
    4
    Uploads
    0
    Ταχύτητα
    204800/20480
    ISP
    Wind
    Router
    ZTE H288A
    $dir, χωρίς {}


    ΠΡΟΣΘΗΚΗ:

    /usr/local/etc δεν θα ήταν κι άσχημα...
    Εναλλακτικά, /usr/local/bin ή και .../sbin ίσως.

  11. #11
    Εγγραφή
    24-04-2002
    Περιοχή
    Θεσσαλονίκη
    Ηλικία
    50
    Μηνύματα
    2.725
    Downloads
    4
    Uploads
    0
    Ταχύτητα
    204800/20480
    ISP
    Wind
    Router
    ZTE H288A
    Παράθεση Αρχικό μήνυμα από pelasgian
    σκεφτόμουν να σου πω ls /bla-bla/* -R -d -a αλλά δεν κάνει recursion, είναι κάποιο bug?
    Γενικά, συνήθισε να βάζεις τα options/switches πριν από τις parameters...
    ls -R /bla-bla

  12. #12
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από frap
    Γενικά, συνήθισε να βάζεις τα options/switches πριν από τις parameters...
    ls -R /bla-bla
    Έχει δίκιο σ' αυτό ο Frap.

    Όταν έβαλα το -R τελευταίο στην chown, αυτή μ' έβρισε.
    Τελευταία επεξεργασία από το μέλος WAntilles : 29-12-05 στις 18:07.
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  13. #13
    Το avatar του μέλους shadowman
    shadowman Guest
    παιδιά ξέρει κανείς αν μπορούμε να χρησιμοποιήσουμε bash με gtk2 ώστε να κάνουμε scriptakia που κάνουν πεντε , 10 απλά πράγματα και ταυτόχρονα να έχουμε γραφικό περιβάλλον. Παράδειγμα: φτιάχνεις ενα πρόγραμμα bash που εγκαθιστά ορισμένα πακέτα (αλλά automatix στο ubuntu) και απευθύνετε σε αρχάριους στο linux.
    Υπάρχει κανένας οδηγός για κάτι τέτοιο;

  14. #14
    Εγγραφή
    08-01-2004
    Περιοχή
    Espoo, FI
    Ηλικία
    51
    Μηνύματα
    20.918
    Downloads
    41
    Uploads
    0
    Άρθρα
    4
    Τύπος
    FTTH
    Ταχύτητα
    1000/400
    ISP
    Elisa
    Router
    pfsense
    Παράθεση Αρχικό μήνυμα από WAntilles
    Όταν έβαλα το -R τελευταίο στην chown, αυτή μ' έβρισε.
    Τσκ τσκ...ανάγωγα λειτουργικά!
    Ανυπόγραφος

  15. #15
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.196
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Παράθεση Αρχικό μήνυμα από WAntilles
    Δηλαδή κάτι τέτοιο θα δουλέψει;

    fix.sh

    Κώδικας:
    !/bin/bash
    
    dir=$1
    
    chown -R nobody:nobody $dir
    find $dir -type d -exec chmod 777 {} \;
    find $dir ! -type d -exec chmod 666 {} \;
    --- ΠΡΟΣΘΗΚΗ ---

    Για τέτοιου είδους σκριπτάκια που φτιάχνω για δική μου χρήση ως superuser, σε ποιό directory είναι η ενδεδειγμένη τοποθέτησή τους, ώστε να βρίσκονται στο path:

    α. σε διανομή linux
    β. σε FreeBSD 6.0
    Λογικά /bin/bash θα παίξει μόνο σε Linux και όχι σε κάποιο BSD.

    Μπορείς να το κάνεις /usr/local/bin/bash για να παίζει σε FreeBSD ή /bin/sh για
    να παίζει παντού.

    Κώδικας:
    #!/bin/sh
    
    if [ "$1" == "" ]; then
      echo Dwse ena katalogo re man
      exit 0
    fi
    
    chown -R nobody:nobody $1
    find $1 -type d -exec chmod 777 {} \;
    find $1 ! -type d -exec chmod 666 {} \;
    Δεν το έτρεξα αλλά υποθέτω ότι θα παίξει

Σελ. 1 από 147 12361121 ... ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. Βοήθεια για ένα απλό bash script
    Από AddictedToChaos στο φόρουμ Unix - Linux
    Μηνύματα: 34
    Τελευταίο Μήνυμα: 22-07-11, 01:57
  2. bash - matlab
    Από simeon.mattes στο φόρουμ Unix - Linux
    Μηνύματα: 25
    Τελευταίο Μήνυμα: 25-06-08, 23:00
  3. Bash Script help (Αρχάριος)
    Από weakwire στο φόρουμ Unix - Linux
    Μηνύματα: 12
    Τελευταίο Μήνυμα: 08-05-07, 00:41
  4. bash rename (mv)
    Από hayzel στο φόρουμ Unix - Linux
    Μηνύματα: 6
    Τελευταίο Μήνυμα: 07-01-07, 16:33

Tags για αυτό το Θέμα

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας