Μία καλή λύση είναι να φτιάξεις ένα σκριπτάκι της μορφής:
<?PHP:
#!/bin/bash
auser=$1
chown -R "$auser":"$auser" "$auser"
find "$auser" -type d -exec chmod 755 {} \;
find "$auser" ! -type d -exec chmod 644 {} \;
Ονόμασέ το π.χ. fix-thehome-files (προφανώς το σκριπτάκι το ονομάζεις όπως θες), βάλε στο /bin/ σου και δώστου δικαιώματα 100755 και ownership root-root.
Οπότε μετά κάνεις:
<?PHP:
sudo -s -H
cd /home/
fix-thehome-files <ο-χρήστης-σου>
cd /
exit
ΠΡΟΣΟΧΗ !!!
Προϋποθέτει ότι αν ο χρήστης σου λέγεται π.χ. kostas ότι το home directory του είναι το /home/kostas/.
Επίσης μία άλλη γενικότερη και επίσης χρήσιμη μορφή του μπορεί να είναι το εξής:
<?PHP:
#!/bin/bash
auser=$1
dir=$2
chown -R "$auser":"$auser" "$dir"
find "$dir" -type d -exec chmod 755 {} \;
find "$dir" ! -type d -exec chmod 644 {} \;
Πάλι αυτό το ονομάζεις όπως θες π.χ. fix-ausers-files.
Και το χρησιμοποιείς ως εξής:
Πας ένα επίπεδο πάνω από το directory που θες να αλλάξεις και δίνεις (πάντα φυσικά ως root):
<?PHP:
fix-ausers-files <ένας-υπαρκτός-χρήστης> <ένα-directory>
ΠΡΟΣΟΧΗ !!!
Αν το directory εμπεριέχει κενά (spaces) στο όνομά του, θα πρέπει οπωσδήποτε να το εσωκλείσεις σε εισαγωγικά.
Και θυμίσου, ότι σε όλες τις παραπάνω περιπτώσεις, παντού και πάντα, το tab completion είναι ο ισχυρότερός σου σύμμαχος.
Bookmarks