PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Konfiguration zu tricky für Samba?



fredlcore
19.10.06, 17:52
Hallo Forum!

Ich habe hier schon öfter hilfreiche Tipps gefunden, aber entweder bin ich bei dem Thema hier zu blöd oder es ist für die Umsetzung wirklich zu tricky?

Ich möchte folgendes erreichen:
Auf meinem Thin-Client läuft Samba und soll dort drei Verzeichnisse zur Verfügung stellen:


/private
- Nur User "A" soll lesen und schreiben können. Inhaltsverzeichnis auch erst nach Passworteingabe.

/friends
- Nur User "B" soll lesen und schreiben können. Inhaltsverzeichnis auch erst nach Passworteingabe.

/public
- Alle Nutzer sollen ohne Passwortangabe Inhalt einsehen und lesen können.
- User "A" und "B" sollen nach Eingabe ihrer Passwörter lesen und schreiben können.


Ich habe User "A" und "B" schon mit smbpasswd angelegt und unterschiedliche Aspekte funktionieren auch einzeln, bloß nicht alles auf einmal ;)...
Hat jemand eine Idee oder eine Beispiel-Conf, die ich übernehmen könnte?

Vielen Dank schonmal im Voraus,

viele Grüße,

Frederik.

comrad
19.10.06, 19:01
hi!



/private
- Nur User "A" soll lesen und schreiben können. Inhaltsverzeichnis auch erst nach Passworteingabe.

Also da würd ich sowas machen:


[private]
...
users = USERA
writeable = yes
browseable = no
...


Dasselbe beim zweiten Share.



/public
- Alle Nutzer sollen ohne Passwortangabe Inhalt einsehen und lesen können.
- User "A" und "B" sollen nach Eingabe ihrer Passwörter lesen und schreiben können.


Hier kann ich leider kein Beispiel geben, aber mir würde soetwas in den Sinn kommen. Schreibrechte unter Linux auf g+rwx setzen und im Share auf users allowed = @GROUP setzen. Aber hier auch guest ok = yes einstellen.

Sowas in der Richtung möglicherweise. Was hast du denn bislang probiert?

fredlcore
19.10.06, 19:37
Hi Comrad,

vielen Dank für die schnelle Antwort!



Also da würd ich sowas machen:


[private]
...
users = USERA
writeable = yes
browseable = no
...


Sowas in der Richtung möglicherweise. Was hast du denn bislang probiert?

Also das ist meine momentane smb.conf, ich hab' wohl "force user" mit "users" verwechselt ;). :


[global]
workgroup = Workgroup
guest account = nobody
security = share
browseable = yes
guest ok = no
guest only = no
log level = 3
max log size = 100
encrypt passwords = yes
smb passwd file=/opt/etc/samba/smbpasswd
dns proxy = no
server string = WL-HDD

[Public]
path=/opt/share/public
writeable = no
browseable = yes
guest ok = yes

[Private]
path=/opt/share/private
writeable = yes
browseable = yes
force user = frederik

[Friends]
path=/opt/share/friends
writeable = yes
browseable = yes
force user = friends


Damit muß ich mich bei "Private" und "Friends" mit Passwort anmelden, bei "Public" komme ich so rein. Jedoch bin ich automatisch auch für "Private" bzw. "Friends" freigeschaltet, obwohl ich mich nur einmal mit einer Kennung angemeldet habe.
Schreibzugriff auf "Public" funktioniert (logischerweise) noch nicht, aber da probiere ich mal Deinen Vorschlag.
Oder sieht jemand noch einen eklatanten Fehler in meiner Config?

Viele Grüße,

Frederik.

fredlcore
19.10.06, 19:55
Hallo nochmal,


Also da würd ich sowas machen:


[private]
...
users = USERA
writeable = yes
browseable = no
...



Hm, das hat leider nicht viel gebracht. Wenn ich security auf share belasse, muß ich überhaupt nix mehr eingeben und kann alle Shares lesen. Wenn ich auf "user" gehe, werde ich aber schon beim Klick auf den Client nach User/Pass gefragt und bekomme dann nur nach Eingabe von gültigen Zugangsdaten alle Shares angezeigt. Das bringt natürlich für "Public" nichts.
Außerdem habe ich dann wieder Zugriff auf alle Shares und nicht nur auf die, die für den User bestimmt sind.

Oder habe ich was falsch gemacht?

Viele Grüße,

Frederik.

warrez
21.10.06, 08:45
Wie waere es damit:


adduser --home /home/private --shell /bin/false usera
smbpasswd -a usera

adduser --home /home/friends --shell /bin/false userb
smbpasswd -a userb


In der smb.conf:


[global]
...
security = user
...

[public]
comment = Samba server's public
writable = no
browseable = yes
locking = no
path = /public
public = yes


Dann:



groupeadd sambaprivat
adduser usera sambaprivat
adduser userb sambaprivat

chown root:sambaprivat /public -R
chmod 775 /public -R


Evtl. noch das /public Verzeichnis jeweils ins Homedir von usera
und userb verlinken.



ln -s /public /home/private
ln -s /public /home/friends

fredlcore
21.10.06, 11:25
Hallo warrez,


Wie waere es damit:


[global]
...
security = user
...

[public]
comment = Samba server's public
writable = no
browseable = yes
locking = no
path = /public
public = yes



Hm, hab' ich gemacht, aber eigentlich fast das gleiche wie vorher: Um überhaupt die freigegebenen Shares sehen zu können, muß ich mich mit einem der beiden User und Passwort anmelden. Und dann komme ich aber wieder in alle Shares 'rein. Das public-Share wird auch nur nach User/Pass Eingabe angezeigt.

So sieht meine smb.conf jetzt aus:


[global]
workgroup = Workgroup
guest account = nobody
security = user
browseable = yes
guest ok = yes
guest only = no
log level = 3
max log size = 100
encrypt passwords = yes
smb passwd file=/opt/etc/samba/smbpasswd
dns proxy = no
server string = WL-HDD

[Public]
path=/opt/share/public
writeable = no
browseable = yes
guest ok = yes
locking = no
public = yes

[Private]
path=/opt/share/private
writeable = yes
browseable = yes
users = frederik

[Friends]
path=/opt/share/friends
writeable = yes
browseable = yes
users = friends


Die adduser-Befehle habe ich so ausgeführt, wie von Dir beschrieben, nur daß ich nicht auf /home sonder auf /opt/share gesetzt habe (da sollen/müssen die bei mir liegen).

Ist meine global-Setting ok?

Viele Grüße,

Frederik.

warrez
21.10.06, 12:51
Wenn du wirklich alles so gemacht hast wie beschrieben,
dann sollte es mit diesem smb.conf so laufen wie du es
wolltest.



[global]
workgroup = Workgroup
server string = %h server (Samba %v)

***log***
log file = /var/log/samba/log.%m
log level = 3
max log size = 1000
panic action = /usr/share/samba/panic-action %d

***auth***
security = user
encrypt passwords = true
passdb backend = tdbsam guest
obey pam restrictions = yes
invalid users = root

passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .

***net***
dns proxy = no
socket options = TCP_NODELAY

[homes]
comment = Home Directories
browseable = no
writable = yes
create mask = 0775
directory mask = 0775

[Public]
path=/opt/share/public
writeable = no
browseable = yes
guest ok = yes
locking = no
public = yes

fredlcore
21.10.06, 15:09
Hallo warrez,


Wenn du wirklich alles so gemacht hast wie beschrieben,
dann sollte es mit diesem smb.conf so laufen wie du es
wolltest.


Leider nicht ganz: Wenn ich auf den Server klicke, werde ich immer noch nach User/Pass gefragt, bevor ich die Shares zu sehen bekomme. Ich würde es aber gerne so haben, daß ich erst dann nach dem PW gefragt werde, wenn ich auf ein Share klicke, das passwortgeschützt ist. Oder geht das nicht?

Wenn ich mich dann angemeldet habe, bekomme ich das jeweilige "home" Verzeichnis und das öffentliche Verzeichnis zu sehen, aber nicht das jeweils andere, passwortgeschützte. Also mit "private" eingeloggt, sehe ich "friends" nicht und umgekehrt.

Hast Du noch eine Idee?

Meine smb.conf sieht jetzt so aus:


[global]
workgroup = Workgroup
server string = %h server (Samba %v)

***log***
log file = /var/log/samba/log.%m
log level = 3
max log size = 1000

***auth***
security = user
encrypt passwords = true
passdb backend = tdbsam guest
smb passwd file=/opt/etc/samba/smbpasswd

passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .

***net***
dns proxy = no
server string = WL-HDD

[homes]
comment = Home Directories
browseable = no
writable = yes
create mask = 0775
directory mask = 0775

[Public]
path=/opt/share/public
writeable = no
browseable = yes
guest ok = yes
locking = no
public = yes

fredlcore
24.10.06, 01:29
Hallo nochmal,

hm, bei meinem Mitbewohner, der einen Mac hat, bekommt er das "Public" Share zu sehen, ohne sich anzumelden. Bei Windows XP muß ich aber immer noch User/Pass eingeben, wenn ich nur auf den Server klicke.
Hat jemand eine Ahnung, warum?

CU!

Frederik.