Πρόβλημα με samba σε Debian

gerjmk | Σάβ, 01/05/2013 - 12:49 | 2' | 14

Καλημέρα και καλή Χρονιά με υγεία!!

Έχω εγκαταστήσει το samba στο Debian και τα έχω κάνει λίγο μαντάρα. έχω ένα άλλο σταθερό Η/Υ με LinuxMint 13 Mate. Το πρόβλημα μου είναι ότι δεν μπορώ από το Debian να μπω στα αρχεία του Mint, αλλά ούτε από το Mint, να μπω στο Debian. Να υπογραμμίσω ότι το samba του Mint παίζει μια χαρά και ότι στο Debian είχα εγκαταστήσει το GADMIN_Samba για να το ρυθμίσω πιο εύκολα! Πως να ρυθμίσω ή να επαναφέρω το smb.conf??

Αυτό που βασικά θέλω να κάνω, είναι τα αρχεία του /home/user να τα μοιράσω στο δίκτυο. Ο καθένας να μπαίνει, χωρίς κωδικό αλλά να μην μπορεί να μετακινήσει και να διαγράψει αλλλά να μπορεί να τα αντιγράψει ή να τα ανοιξει. Kαι έναν άλλο χρήστη, τον root που να έχει όλα τα δικαιώματα.

Φόρουμ
Δώσε αστέρια!
Σχόλια

Καλησπερα
1) Η Samba χρησιμοποιειτε μονο οταν εχεις linux & windows.

2) μπορεις να φτιαξεις εναν anonymous FTP server και να λυσεις το προβλημα σου
Οδηγιες σε αυτο το λινκ http://linuxinsider.gr/content/how-setup-vsftp
Εναλλακτικα μπορεις να χρησιμοποιησεις και αυτο
http://linuxinsider.gr/content/how-use-sshfs-and-fusermount

ΑΛΛΑ ΟΧΙ SAMBA

Γιατι οχι SAMBA? Εξηγησε το λιγο.
Σε μενα μια χαρα δουλευει, παρολο που οι υπολογιστες μου εχουν μονο Linux.

Η Samba βγηκε για να μπορουν να ανταλλασουν οι Linux users αρχεια με Windows users ( να εχουν share
files ) καθως και να μπορει να εκτυπωση αρχεια απο linux που ειναι συνδεμενοι σε windows μηχανηματα.

Δεν λεω οτι δεν μπορει να παιξει μονο με Linux αλλα γιατι να τυρρανιστεις με samba , ενω υπαρχουν δεκαδες αλλοι πιο ευκολοι τροποι να κανεις το ιδιο??

Βοηθάει όμως ένας FTP Server, σε αυτό που θέλω να κάνω, δηλαδή να είναι τα αρχεία του /home/user να τα μοιράσω στο δίκτυο. Ο καθένας να
μπαίνει, χωρίς κωδικό αλλά να μην μπορεί να μετακινήσει και να
διαγράψει αλλλά να μπορεί να τα αντιγράψει ή να τα ανοιξει, όπως αρχεία πολυθμέσων. Kαι έναν
άλλο χρήστη, τον root που να έχει όλα τα δικαιώματα. Και εκτός αυτού, κατά καιρούς έρχεται ο ξάδερφος μου με τα "παντζούρια", και μπαίνει και βλέπει τα αρχεία μουσικής που έχω στο pc μου.... Καμιά άλλη ιδέα??

Καλησπέρα,

εφόσον θέλεις να βλέπει ο καθένας στο τοπικό δίκτυο ανεξαρτήτως αν έχει linux ή windows τα αρχεία σου, η καλύτερη λύση είναι το Samba.

Προτείνω να ξεκινήσεις από το μηδέν, διαγράφοντας τις όποιες αλλαγές έχεις κάνει στο Debian. Θα βρεις αναλυτικές οδηγίες εδώ για το πως θα στήσεις το smb.conf σωστά. Εσένα σε ενδιαφέρει το κομμάτι του κειμένου που έχει τίτλο "Ανώνυμη πρόσβαση σε Samba Shares". Είναι κάτω από τη μέση του κειμένου.

Κατόπιν, αν π.χ. το Debian PC έχει τη διεύθυνση 192.168.1.100, τότε στο Mint PC τρέχεις το Nautilus ή το Dolphin, πατάς Ctrl+L και γράφεις κάτι του στυλ:
smb://192.168.1.100

Στη συνέχεια, για να μην αλλάζουν συνέχεια οι IP, καλό είναι να βάλεις στατικές IP στα μηχανήματά σου. Ωστε κάθε μηχάνημα να έχει πάντα την ίδια IP και να μην αλλάζει κάθε φορά που "παίρνει" ip από το ρουτεράκι σου.

Για έξτρα ευκολία, μπορεις να τις αντιστοιχίσεις με νορμαλ ονόματα στο αρχείο /etc/hosts:

192.168.1.100 debian
192.168.1.101 mint

Οπότε μετά θα μπορείς να βλέπεις το κάθε PC γράφοντας το πιο απλό smb://debian.

Φίλε Δημήτρη, ευχαριστώ για την βοήθεια σου, την υπερπολυτίμη. Ενδιαφέρον είναι οι 4 τελευταίες γραμές. Όσον αφορά το ρουτεράκι, έχω off τον dhcp, οπότε αναγκαστικά έχω τις ip των Η/Υ στατικές.

Αν θες να εχεις κοινοχρηστο φακελο για Linux, προσωπικα η καλυτερη λυση ειναι nfs.

Το φτιαχνεις, και το μονο που εχεις να κανεις ειναι να γινεται mount ενας φακελος.
Αν δεν εχεις windows καλυτερα να μην βαλεις Samba.

Το configuration αρχειο της Samba ειναι PITA

Παρακάτω συνάπτω τις ρυθμίσεις από το /etc/samba/smb.conf (Η IP του Debian είναι 192.168.1.101)

[global]

netbios name = Samba24


server string = Samba file and print server


workgroup = Workgroup


security = user


hosts allow = 127. 192.168.0.


interfaces = 127.0.0.1/8 192.168.0.0/24


bind interfaces only = yes


remote announce = 192.168.0.255


remote browse sync = 192.168.0.255


printcap name = cups


load printers = yes


cups options = raw


printing = cups


guest account = guest



log file = /var/log/samba/samba.log

max log size = 1000


null passwords = no


username level = 6


password level = 6


encrypt passwords = yes


unix password sync = yes


socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192


local master = no


domain master = no


preferred master = no


domain logons = no


os level = 33


logon drive = m:


logon home = \\%L\homes\%u


logon path = \\%L\profiles\%u


logon script = %G.bat


time server = no


name resolve order = wins lmhosts bcast


wins support = no


wins proxy = no


dns proxy = no


preserve case = yes


short preserve case = yes


client use spnego = no


client signing = no


client schannel = no


server signing = no


server schannel = no


nt pipe support = yes


nt status support = yes


allow trusted domains = yes


obey pam restrictions = yes


enable spoolss = yes


client plaintext auth = no


disable netbios = no


follow symlinks = no


update encrypted = yes


pam password change = no


passwd chat timeout = 120


hostname lookups = no


username map = /etc/samba/smbusers


passdb backend = tdbsam


passwd program = /usr/bin/passwd '%u'


passwd chat = *New*password* %n\n *ReType*new*password* %n\n *passwd*changed*\n


add user script = /usr/sbin/useradd -d /dev/null -c 'Samba User Account' -s /dev/null '%u'


add user to group script = /usr/sbin/useradd -d /dev/null -c 'Samba User Account' -s /dev/null -g '%g' '%u'


add group script = /usr/sbin/groupadd '%g'


delete user script = /usr/sbin/userdel '%u'


delete user from group script = /usr/sbin/userdel '%u' '%g'


delete group script = /usr/sbin/groupdel '%g'


add machine script = /usr/sbin/useradd -d /dev/null -g sambamachines -c 'Samba Machine Account' -s /dev/null -M '%u'


machine password timeout = 120


idmap uid = 16777216-33554431


idmap gid = 16777216-33554431


template shell = /dev/null


winbind use default domain = yes


winbind separator = @


winbind cache time = 360


winbind trusted domains only = yes


winbind nested groups = no


winbind nss info = no


winbind refresh tickets = no


winbind offline logon = no




[homes]


comment = Home Directories


path = /home


read only = no


available = yes


browseable = yes


writable = yes


guest ok = no


public = no


printable = no


locking = no


strict locking = no




[printers]


comment = All Printers


path = /var/spool/samba


browseable = yes


writable = no


guest ok = no


public = no


printable = yes


locking = no


strict locking = no




[pdf-printer]


path = /tmp


comment = PDF Printer Service


printable = yes


guest ok = yes


use client driver = yes


printing = bsd


print command = /usr/bin/gadmin-samba-pdf %s %u


lpq command =


lprm command =






[root]


path = /home/user


available = yes


browsable = yes


public = yes


writable = yes

 

Ερωτήσεις:

Αν πας στο Mint, στον file manager του, πατήσεις Ctrl+L και γράψεις:
smb://192.168.1.101

τι σου δίνει; Βλέπεις το "root" που έχεις διαμοιράσει στο smb.conf του Debian;

Επίσης, αν πας στο ίδιο το Debian, στον file manager του και πατήσεις Ctrl+L και γράψεις smb://192.168.1.101 τότε βλέπεις το "root" φάκελο;

Επίσης, στη ρύθμιση του sbm.conf στην τελευταία γραμμή βλέπω ότι το ορίζεις writable. Αυτό το βλέπω δύσκολο να σου παίζει, γιατί τότε θα πρέπει να ορίσεις και δικαιώματα εγγραφής σε όλον τον κόσμο. Δηλαδή chmod -R o+w ~
Γενικά φίλε αυτό που πας να κάνεις είναι κατά τη γνώμη μου λάθος. Δηλαδή, λάθος είναι να μοιράσεις όλο το home στο τοπικό δίκτυο. Είναι προτιμότερο να φτιάξεις έναν φάκελο Public μέσα στο home και να μοιράζεις αυτόν μόνο.

Επίσης, επαναλαμβάνω ότι είναι προτιμότερο να απεγκαταστήσεις ότι "ευκολο" εργαλείο εγκατέστησες, να κάνεις apt-get purge και το samba για να διαγραφούν οι ρυθμίσεις, να το εγκαταστήσεις ξανά από την αρχή και να κάνεις τις μίνιμουμ δυνατές αλλαγές. Διαφορετικά θα χαθείς στις δεκάδες ρυθμίσεις που βλέπω ότι έχεις ενεργές.

Μην με παρεξηγείς. Συνήθως για να μοιράσω ένα "φακέλι" στο τοπικό δίκτυο μου, αρκεί να κάνω apt-get install samba, sudo nano /etc/smb.conf και να προσθέσω στο τέλος κάτι του στυλ:

[public]
path = /home/dimitris/public
available = yes
browsable = yes
public = yes
writable = yes

Μετά δίνω chmod -R 777 /home/dimitris/public και /etc/init.d/samba restart και συνήθως όλα δουλεύουν μια χαρά.

Είναι σημαντικό όπως βλέπεις τα δικαιώματα σε επίπεδο file system να επιτρέπουν την πρόσβαση σε όλους (777). Γιατί ότι εντολή και να δίνεις στο smb.conf, π.χ. writable=yes, αυτή ισχύει μόνο αν τα δικαιώματα στο folder αυτό είναι σωστά. Διαφορετικά, το Linux λέει στο Samba ένα τεράστιο "νιετ"!!!

Επίσης, καλό είναι όταν κάνεις τις δοκιμές σου, να έχεις ανοικτό ένα δεύτερο τερματικό με την εντολή tail -f /var/log/syslog για να βλέπεις τι παίζει. Εκεί θα βγάλει πιθανά μηνύματα λάθους.

Καλό βόλι!

dimitris]Ερωτήσεις:
Αν πας στο Mint, στον file manager του, πατήσεις Ctrl+L και γράψεις:
smb://192.168.1.101
τι σου δίνει; Βλέπεις το "root" που έχεις διαμοιράσει στο smb.conf του Debian;



Could not display "smb://192.168.1.101/".
Error: Failed to retrieve share list from server
Please select another viewer and try again.

dimitris]Ερωτήσεις: Επίσης, αν πας στο ίδιο το Debian, στον file manager του και πατήσεις Ctrl+L και γράψεις smb://192.168.1.101 τότε βλέπεις το "root" φάκελο;



Could not display "smb://192.168.1.101/".
Error: Failed to retrieve share list from server
Please select another viewer and try again.

Με τον Nautilus προσπαθείς να το δεις;

Αν την ίδια ώρα που πατάς στο Mint να δεις τα αρχεία του Debian, αν εκείνη τη στιγμή ανοίξεις ένα Τερματικό στο Debian και έχεις ανοικτό το αρχείο Log του Samba π.χ.

tail -f /var/log/samba/log.192.168.1.100

τι θα δεις;

ετοιμος ο φιλος μας. Η Samba παιζει!!!
Αμα σε εχει τσουξει 3 λεπτα υποθεση ειναι.... :D

Εγιναν τα εξεις:
1) root access
2) edit με vi το /etc/samba/smb.conf

To ; ειναι τα σχολεια για την samba. Οσες γραμμες εχουν ; δεν τις λαμβανει υποψιν και τις κρατησα γιατι βαριωμουνα να τις σβησω.

[email protected]:/etc/samba# cat smb.conf
# Samba config file created using SWAT
# from UNKNOWN (127.0.0.1)
# Date: 2013/01/06 16:48:25

[global]
        server string = %h server
        obey pam restrictions = Yes
;       pam password change = Yes
;       passwd program = /usr/bin/passwd %u
;       passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
;       unix password sync = Yes
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        dns proxy = No
        panic action = /usr/share/samba/panic-action %d
        security=share


[public]
        comment = Free for all users
        browseable = Yes
        writable = No
        public = Yes
        guest ok = Yes
        guest only = Yes
        guest account = nobody
        path = /home/public

;[homes]
;       comment = Home Directories
;       valid users = %S
;       create mask = 0700
;       directory mask = 0700
;       browseable = No

;[printers]
;       comment = All Printers
;       path = /var/spool/samba
;       create mask = 0700
;       printable = Yes
;       browseable = No

;[print$]
;       comment = Printer Drivers
;       path = /var/lib/samba/printers
[email protected]:/etc/samba#

2a) restart την samba. (/etc/init.d/samba restart)
3) mkdir /home/public
4) touch /home/public/test
4a) touch /home/public/test_yskapell
5) install links/lynx (console browsers) smbclient (χρειαστηκε για δοκιμη)
5a) [email protected]:~$ links smb://192.168.1.χχχ/public/
και βλεπω τα 2 αρχεια που εφτιαξα.

[email protected]:~$ ls -l /home/public/
total 0
-rw-r--r-- 1 yskapell users 0 Jan  8 20:44 test
-rw-r--r-- 1 yskapell users 0 Jan  8 20:44 test_yskapell
[email protected]:~$

Το παραπανω δεν απαιτει κωδικο και οποιος συνδεθει στο τοπικο δικτυο, ξερει την ip & τον φακελο μπορει να εχει προσβαση στα αρχεια.

Φακελος εχει δικαιωματα 777 για να μπορουν να αναιβαζουν ολοι αρχεια ή οσοι μπορουν να συνδεθουν στο φακελο