[Samba] toegang beperken

Pagina: 1
Acties:

  • Trunksmd
  • Registratie: Juli 2002
  • Laatst online: 13-02 10:05
Voorheen had ik via SWAT een security=share geconfigureerd, waarbij iedereen toegang had. (chown nobody:user /samba). Nu wil ik meer security op mijn fileserver. Dus heb ik samba security=user gezet en guest=no. Nu wil ik het volgende: userA moet in zijn home directory en de directory samba kunnen via de fileserver. UserA moet in beide directory read,write,execute mogelijkheden hebben. Anderen mogen een eigen home directory hebben en mogen de samba directory alleen lezen. Deze "anderen" heb ik hier nog niet geconfigureerd. De reden is dat met onderstaande configuratie het niet uitmaakt of je userA bent of een willekeurige (anonieme) andere. De fileserver vraagt geen username/wachtwoord en iedereen kan nog gewoon inloggen in zowel de directory samba als de home directory van userA. Wat doe ik hier fout? Misschien is het heel simpel, maar ik zie het ff niet meer.
Onderstaande smb.conf is geconfigureerd via SWAT en niet via de shell.

# Global parameters
[global]
workgroup = LAN
server string = samba
obey pam restrictions = Yes
passdb backend = tdbsam
passwd chat =
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
add user script = /usr/sbin/adduser --force-badname --dirstuid 10000 --gid 5000 --disabled-login --no-create-home --quiet --gecos GECOS
domain logons = Yes
preferred master = Yes
domain master = Yes
dns proxy = No
wins support = Yes
ldap ssl = no
panic action = /usr/share/samba/panic-action %d
invalid users = root
admin users = userA
write list = userA
hosts allow = 192.168.1., EXCEPT, 192.168.1.1

[homes]
comment = Home Directories
create mask = 0700
directory mask = 0700
browseable = No

[printers]
comment = All Printers
path = /tmp
create mask = 0700
printable = Yes
browseable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers

[samba]
comment = network share
path = /samba
force create mode = 0770
only user = Yes
hosts allow =

  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
code:
1
 passwd chat =

Een lege password chat lijkt me niet handig, dan gebeurt er niets als er iemand een password meegeeft. Als je niets na het =-teken zet kun je de optie beter geheel weglaten, dus ook bij de laatste hosts allow.

  • Trunksmd
  • Registratie: Juli 2002
  • Laatst online: 13-02 10:05
cool_zero schreef op dinsdag 07 december 2004 @ 12:34:
code:
1
 passwd chat =

Een lege password chat lijkt me niet handig, dan gebeurt er niets als er iemand een password meegeeft. Als je niets na het =-teken zet kun je de optie beter geheel weglaten, dus ook bij de laatste hosts allow.
Bedankt voor de tip, maar dat beantwoordt mijn vraag nog niet.

  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Je vroeg waarom samba geen username en password combinatie vraagt en dat komt waarschijnlijk door die lege passwd chat. Maar nog wat extra informatie. De user only parameter is alleen nuttig als security op share staat.(zie 'man smb.conf' ). En nog wat config opties die wel handig zijn, sommige zul je misschien net iets anders willen gebruiken:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[global]
    map to guest = bad password              
    invalid users = root                              
    security = user                                 
    encrypt passwords = true                  
    passdb backend = smbpasswd guest 
    unix password sync = no  

[doc]                                                        
    comment = alles n.s. Files                     
    writeable = yes                                      
    path = /home/userA/doc                         
    public = no                                            
    write list = userA                          
    browseable = no                                     
    hosts allow = 192.168.1.0/255.255.255.0  
    create mask = 0644          
    directory mask = 0755       
    force create mode = 0644   
    force directory mode = 0755
    invalid users = root nobody
    valid users = userA      

[flat]                           
    comment = Flatfiles 
    writeable = yes  
    path = /home/flat
    public = yes
    hosts allow = 192.168.1.2
    create mask = 0644              
    directory mask = 0755           
    force create mode = 0644       
    force directory mode = 0755


Daarnaast kun je met de unixschijfrechten ook al afdwingen dat alleen een bepaalde user mag schrijven, dus als userA de eigenaar is van de /home/flat directory (en de chmod rechten goed staan) dan kan ook alleen userA in de flat directory schrijven ondank dat die voor samba geheel openstaat.

  • Trunksmd
  • Registratie: Juli 2002
  • Laatst online: 13-02 10:05
Bedankt voor de tips. Ik heb aan de hand van jouw tips en de samba handleiding de zaak eens grondig veranderd en het werkte. Ondertussen heb ik een nieuwe map (mapB erbij gezet voor user b, waar normaal gesproken user a en b in moeten komen. Alleen komen userA en B niet in die map. Windows vraagt voor die map een username en wachtwoord, terwijl ie voor de samba map dat niet vraagt. Unixpermissie van de samba map en de map b staan allebei gelijk. userA en B komen wel in de samba map.


Samba config file created using SWAT
# Date: 2004/12/10 01:22:59

# Global parameters
[global]
server string = samba
security = user
dns proxy = No
wins support = Yes
ldap ssl = no
panic action = /usr/share/samba/panic-action %d
invalid users = root

[printers]
comment = All Printers
path = /tmp
create mask = 0700
printable = Yes
browseable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers

[samba]
comment = network share
path = /samba
invalid users = root, nobody
read list = userB
write list = userA
force user = userA
force group = users
hosts allow = 192.168.1.0/255.255.255.0, EXCEPT, 192.168.1.1

[mapB]
comment = friends
path = /mapB
invalid users = root, nobody
valid users = userA
admin users = userA
write list = userB, userA
force user = userB, userA
force group = users
hosts allow = 192.168.1.0/255.255.255.0, EXCEPT, 192.168.1.1
#

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Wat zijn de Unix/FS permissies van die mapB?

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • Trunksmd
  • Registratie: Juli 2002
  • Laatst online: 13-02 10:05
755

  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Er staat dat userB er ook in moet kunnen, maar dat gaat nutuurlijk niet werken als er dit staat:
code:
1
 valid users = userA


Maar afgezien van dat raad ik je aan even in de log file te kijken van samba om te achterhalen wat er nu mis gaat. (/var/log/samba ofzo)

Daarnaast moet je erop letten dat de username/password combinatie hetzelfde is als eerdere shares(mappen) waarmee verbonden is. Dus je kunt niet met twee verschillende users zijn ingelogd met 1 client computer.(misschien dat het wel mogelijk is met een truukje, maar standaard is dit niet zo). Om te zien hoe je verbonden bent kun je altijd even 'smbstatus' gebruiken.

  • Trunksmd
  • Registratie: Juli 2002
  • Laatst online: 13-02 10:05
Ik probeer nu weer in te loggen sinds vanacht met userB. Deze user kan wel in de samba map maar niet in mapB (ik heb vantevoren al valid user = userB ingetikt). userA kan ook in de samba map maar niet in userB map.

/var/log/samba/smbd.log

[2004/12/10 15:44:43, 1] smbd/service.c:make_connection_snum(408)
Couldn't find user userB, userA

Ik snap het niet. Dit alles is gedaan nadat ik ontkoppeld was van het netwerk en mijn clientpc zelfs opnieuw heb opgestart.

  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Heb je wel met smbpasswd de gebruikers userA en UserB aangemaakt en ook op unix niveau de user aangemaakt? Met smbpasswd krijg je een passwordfile erbij.(bij mij /etc/samba/smbpasswd)

En na elke configwijziging moet je samba wel opnieuw opstarten (behalve als je een deel van de config include, maar dat doe je hier toch niet :) ) Maar dat doe je waarschijnlijk al wel.

  • Trunksmd
  • Registratie: Juli 2002
  • Laatst online: 13-02 10:05
userA en B bestaan zowel in unix als in samba, ja dus. Ze hebben notabene dezelfde wachtwoorden unix en samba. Daar had ik dus aan gedacht. En natuurlijk start ik opnieuw op na config wijzigingen.

  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Ik zie zo snel niet wat er mis gaat, maar ik zou de share gewoon eerst heel basic maken en daarna uitbreiden en kijken waarneer het fout gaat.
Pagina: 1