Jump to content



samba config


nobig

Recommended Posts

Την καλημέρα μου σε όλους

Έχουμε στήσει ένα samba share και θέλω μια μικρή βοήθεια για να το ρυθμίσω. Το σενάριο θέλει ένα κοινό φάκελλο που έχουν read execute πρόσβαση όλοι και 2 χρήστες full πρόσβαση και 7 χρήστες στους προσωπικούς τους φακέλους.

Στο samba.conf έχω την εξής καταχώρηση για τον Public φάκελο

# A publicly accessible directory, but read only, except for people in

# the "staff" group

[public_tech]

comment = Public Stuff

path = /home/public_tech

public = yes

writable = yes

printable = no

write list = +tecnical

Έχω φτιάξει τους users και τους έχω βάλει σε ένα group technical και παίζουν όλοι τους.

Έχω φτιάξει user samba με το smbpassadd -a καθώς και τους φακέλους τους με τα εξής permissions

drwxrwxrwx 2 root technical 4.0K Jun 15 10:46 public_tech

drwx------ 2 user1 wheel 4.0K Jun 15 10:14 tech1

drwx------ 2 user2 wheel 4.0K Jun 15 10:17 tech2

drwx------ 2 user3 wheel 4.0K Jun 15 10:20 tech3

drwx------ 2 user4 wheel 4.0K Jun 15 10:26 tech4

drwx------ 2 user5 wheel 4.0K Jun 15 10:31 tech5

drwx------ 2 user6 wheel 4.0K Jun 15 10:43 tech6

drwx------ 2 user7 wheel 4.0K Jun 15 10:46 tech7

ο κάθε ένας βλέπει τον φάκελο του και όλα καλά.

Έχω 2 απορίες τώρα. Πως να φτιάξω ένα user ώστε να βλέπει όλα τα shares και τους προσωπικούς φακέλους του κάθε ένα.

Link to comment
Share on other sites

Μάλλον δεν το διατύπωσα καλά. Αυτός ο χρήστης θέλω να μπαίνει απο SMB και να βλέπει όλα τα shares. Αυτό θέλω να το κάνω γιατί αυτό είναι απομακρυσμένο μηχάνημα και θέλω με robocopy να παίρνω ένα backup κάθε βράδυ

Link to comment
Share on other sites

Μάλλον δεν το διατύπωσα καλά. Αυτός ο χρήστης θέλω να μπαίνει απο SMB και να βλέπει όλα τα shares. Αυτό θέλω να το κάνω γιατί αυτό είναι απομακρυσμένο μηχάνημα και θέλω με robocopy να παίρνω ένα backup κάθε βράδυ

αυτό που προτείνει ο trendy στην 1η απάντηση νομίζω θα δουλέψει ... εξάλλου αυτός ο χρήστης μπορεί επίσης να ανήκει σε περισσότερα από ένα group οπότε κληρονομεί και περισσότερα δικαιώματα

άρα εσύ με τη σωστή ρύθμιση των permissions των shared φακέλων θα μπορέσεις να τους δεις όλους με το χρήστη αυτόν.

να προσθέσω και μια παράμετρο που ίσως σε βοηθήσει ... :

"browseable = yes/no" όταν π.χ. δε θέλεις κάποιο shared να εμφανίζεται με SMB σε όσους δεν ξέρουν το όνομά του !

Link to comment
Share on other sites

Δεν ξέρω ποια distro έχεις, αλλά τουλάχιστον στην fedora υπάρχει το system-config-samba (νομίζω ότι το έχει και το ubuntu), το οποίο είναι gui και κάνεις πολύ εύκολα ότι θες, χωρίς κόπο...

Αν δεν το έχεις ήδη εγκατεστημένο, κάνε ένα search στα repos...

Link to comment
Share on other sites

xming, τρέχει τοπικά έναν X server για windows και από το Putty στα settings του ssh κάνεις enable το X11 forwarding... πρέπει να έχεις ενεργοποιήσει και το X forwarding μέσα στο sshd.conf (κάπου στο /etc) για να δουλέψει...

Αν κάνεις την διαχείριση από linux (στον υπολογιστή σου) απλά προσθέτεις το -Χ στην ssh...

Έτσι αν τρέξεις κάποια εντολή από το putty που έχει γραφικό περιβάλλον, βλέπεις το παράθυρο στον δικό σου υπολογιστή...

Το πιο χρήσιμο ίσως με το xming είναι όταν θέλεις να μετακινήσεις πολλά αρχεία και φακέλους από το ένα μέρος στο άλλο τοπικά στον υπολογιστή που έχεις συνδεθεί... σε αντίθεση με κάποιο mount (cifs/smb) το κάνει άμεσα και γρήγορα και όχι μέσω του client, το οποίο καθυστερεί... Για να το κάνεις αυτό, με ενεργοποιημένο το x forwarding απλά τρέχεις τον file manager από το Putty, πχ

# nautilus &

Ο file manager θα τρέξει με τα δικαιώματα του χρήστη, δηλαδή αν τρέξεις τον nautilus ως root θα σου ανοίξει στα windows το desktop του remote μηχανήματος με root δικαιώματα...

Link to comment
Share on other sites

Καλή φάση το είχα χρησιμοποιήσει παλιότερα αλλά το είχα ξεχάσει εντελώς ότι υπάρχει LOL. Πως μπορεί να με βοηθήσει το xming με την samba? Δοκίμασα άνοιξα μια κονσόλα Putty και έτρεξα gedit και μου το έφερε γραφικά οπότε παίζει. Δοκίμασα όμως να τρέξω το xlaunch μπας και πάρω όλο το desktop αλλά μου εμφανίζει μια γκρίζα οθόνη με pointer και τίποτα άλλο.

Link to comment
Share on other sites

τελικά κατάφερα και πήρα desktop. Βλέπω μια "αδυναμία" της samba να φτιάξεις πολύπλοκα permissions όπως στα windowsσάδικα λειτουργικά. Υπάρχει κάποιος τρόπος να φτιάξω περίεργα permissions όπως στα windows?

Link to comment
Share on other sites

Ας πούμε ότι τον public φάκελο θέλω όλοι να έχουν read only όλοι εκτός απο 2-3 users που θα έχουν full. Μπορεί αυτό να υλοποιηθεί χωρίς να χρειαστεί να μπλέκω με groups και permissions? Όπως σε active directory επιλέγω χρήστες και βάζω read only full modify κτλ

Link to comment
Share on other sites

Βασικά πιο λογικό (και πιο σωστό) είναι τα rights να έχουν να κάνουν με groups και users... εξάλλου είναι η βάση του unix αυτή...

Μπορείς εύκολα να κάνεις αυτό που θες πάντως...

Δες και εδώ... http://www.labtestproject.com/configure_samba_file_server_on_fedora

Link to comment
Share on other sites

Το έφτιαξα με user rights. έχω μια άλλη απορία όμως. Θέλω κάθε βράδυ να παίρνω backup τους φακέλους public + home του κάθε χρήστη μέσω robocopy στον domain controller που έχουμε.

Η δομή που έχω φτιάξει είναι ένα group με τους χρήστες που θέλω R/W πρόσβαση στον public και το other group read/execute

drwxrwxr-x 2 root technical 4.0K Jun 25 12:16 public_tech

drwx------ 2 user1 wheel 4.0K Jun 15 10:14 user1

drwx------ 2 user2 wheel 4.0K Jun 15 10:17 user2

drwx------ 2 user3 wheel 4.0K Jun 15 10:20 user3

drwx------ 2 user4 wheel 4.0K Jun 15 10:26 user4

drwx------ 2 user5 wheel 4.0K Jun 15 10:31 user5

drwx------ 2 user6 wheel 4.0K Jun 15 10:43 user6

drwx------ 2 user7 wheel 4.0K Jun 25 12:16 user7

Πρέπει να φτιάξω κάποιο χρήστη σε samba που να μπορεί να βλέπει όλους τους φακέλους;

Link to comment
Share on other sites

Καταρχάς για backups, σου προτείνω το rsync... νομίζω ότι είναι ότι καλύτερο παίζει, αλλά μέχρι να το μάθεις στην αρχή θέλει διάβασμα γιατί είναι scripting πρόγραμμα...

Κατά δεύτερον, αν έχεις πχ ένα rsync script και θέλεις να κάνεις backup, ας πούμε κάθε βράδυ, τότε το μόνο που χρειάζεται να κάνεις είναι να το βάλεις στο crontab τα scripts ενώ είσαι root...

Δηλαδή, αν τρέξεις το gnome-schedule (το οποίο είναι το gui του crontab) σαν root

# su

# gnome-schedule &

και κάνεις add το script σου (το οποίο το έχεις κάνει πρώτα executable 'chmod +x ' ), τότε το crontab, θα τρέξει το script σαν root, οπότε θα έχει δικαιώματα παντού...

Link to comment
Share on other sites

Το rsynch το έχω δουλέψει λίγο στο Freenas. Μπορεί όμως το linux να στείλει στο share του domain controller με rsync? Δεν θέλω να κάνω κάποιο backup σε εξωτερικό δίσκο, θα γίνονται backup μέσω δικτύου

To & γιατί το βάζεις στο τέλος, παρατήρησα ότι το nautilus και γενικά οι εντολές δουλεύουν και χωρίς το &

Φλασιά που μου ήρθε τώρα. Στο Freenas έχω πρόβλημα όταν κάνω backup με το Rsynch και ελληνικούς χαρακτήρες. Αν έχω και στο linux τον ήπια

Link to comment
Share on other sites

Το rsynch το έχω δουλέψει λίγο στο Freenas. Μπορεί όμως το linux να στείλει στο share του domain controller με rsync? Δεν θέλω να κάνω κάποιο backup σε εξωτερικό δίσκο, θα γίνονται backup μέσω δικτύου

Τα πάντα κάνεις... επειδή γράφεις scripts, μπορείς να κάνεις mount ότι folders θες από διάφορα domains, να κάνεις το backup σου και μετά να τα κάνεις unmount... ότι θες κάνεις... για το mount δες:

$ mount.cifs -h

ή

$ mount.smbfs -h

Γενικά να προτιμάς το mount.cifs γιατί ορισμένα προγράμματα έχουν πρόβλημα όταν βλέπουν mounts με smbfs...

To & γιατί το βάζεις στο τέλος, παρατήρησα ότι το nautilus και γενικά οι εντολές δουλεύουν και χωρίς το &

Επειδή είσαι με putty + xming το έβαλα, γιατί σου αφήνει το terminal ελεύθερο και τρέχει την εντολή σε background process... αν δεν βάλεις στο τέλος το &, τότε σου lock-άρει το terminal και αν θες να τρέξεις και κάτι άλλο, τότε πατάς Ctrl+Z, στέλνεις στο background το process που έχει σταματήσει, ώστε να συνεχίσει και το ξανα-φέρνεις μπροστά όταν θελήσεις...

Ψάξε για τις εντολές bg, fg, jobs για περισσότερες πληροφορίες...

Φλασιά που μου ήρθε τώρα. Στο Freenas έχω πρόβλημα όταν κάνω backup με το Rsynch και ελληνικούς χαρακτήρες. Αν έχω και στο linux τον ήπια

Αν έχεις εγκαταστήσει και ελληνικό πληκτρολόγιο στο σύστημα, λογικά δεν θα έχεις πρόβλημα... δεν θυμάμαι να είχα ποτέ κάποιο θέμα με αυτό δηλαδή...

Link to comment
Share on other sites

  • 2 weeks later...

JACO καλημέρα

Πόσο εύκολο είναι να βάλω στο script κάποιο είδος ευφυίας; Ας πούμε δεν μπορεί να κάνει mount το directory, να γράφει ένα log ότι δεν έκανα αυτό και να βγαίνει απο το script

Απ'οτι είδα η μεταβλητή που έχει το exit code μετά απο κέθε εντολή είναι η $?. Το παρακάτω μάλλον εκτελείτε όταν είναι zero.

if [[ -z $? ]]

then

# notify me

ssh example.com 'php /path/tasks/build.php'

fi

Link to comment
Share on other sites

H bash έχει την if/fi για να κάνεις τέτοιες δουλειές...

Αυτό που χρειάζεσαι είναι,

1. προσπαθείς να κάνεις mount

2. ελέγχεις αν έγινε το mount με κάποιο grep στην mount

3. με if/fi αν έγινε κάνεις αυτό που θες, αλλιώς κάνεις echo με append (echo >>) σε ένα αρχείο το σφάλμα που θες μαζί με την time για να έχεις και το timestamp

Για όλα τα παραπάνω μπορείς να βρεις 100άδες παραδείγματα, από πολύ απλά μέχρι για phd στο google...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.