Samba och behörigheter - finns grupper ens?

Permalänk
Medlem

Samba och behörigheter - finns grupper ens?

Går att på nåt vis helt och hållet synka Samba med Unixanvändare?

Har en stor filmapp som delas med netatalk via AFP till mac-användare. Där funkar allt prima, då vi har en grupp för alla användare, och alla filer har rättigheter 770, så att även om nisse skapar en fil så kan anders läsa och skriva filerna eftersom dom är i samma grupp.

Problemet kommer när man ska dela ut samma filer över Samba - så fort en fil inte är skapad av samma användare som läser filen för stunden, så kommer kan den användaren inte läsa filen.

Finns begreppet grupper ens inom Samba? Vi vill inte sätta alla filer som 777 bara för att Samba larvar sig på detta vis..

Nån som vet nåt om detta?

Har provat att köra "valid users = @gruppen" men det gör ingen skillnad. Det går inte att komma åt filerna.

Permalänk
Medlem

Du kan ju sätta vilken umask samba ska skapa filer med... typ 775 eller 770

Permalänk
Medlem
Skrivet av tackle:

Går att på nåt vis helt och hållet synka Samba med Unixanvändare?

Har en stor filmapp som delas med netatalk via AFP till mac-användare. Där funkar allt prima, då vi har en grupp för alla användare, och alla filer har rättigheter 770, så att även om nisse skapar en fil så kan anders läsa och skriva filerna eftersom dom är i samma grupp.

Problemet kommer när man ska dela ut samma filer över Samba - så fort en fil inte är skapad av samma användare som läser filen för stunden, så kommer kan den användaren inte läsa filen.

Finns begreppet grupper ens inom Samba? Vi vill inte sätta alla filer som 777 bara för att Samba larvar sig på detta vis..

Nån som vet nåt om detta?

Har provat att köra "valid users = @gruppen" men det gör ingen skillnad. Det går inte att komma åt filerna.

Det ska gå med valid users, men du ska bara skriva gruppen, inget annat?

valid users = gruppnamn

Permalänk
Medlem

valid users = @gruppen

Detta betyder att endast användare som är medlemmar i den gruppen kan logga in via samba till den utdelningen. Men sedan får du väl se till att filerna som skapas och sparas av dessa användare får denna grupp som ägare. Själv använder jag dessutom

force group = gruppen

Vilket jag fattat som att skrivna filer via samba i den utdelningen får ägarskap av den gruppen och att alla som loggar in har samma åtkomst som denna grupp..

Har även satt ägarskap på de utdelade mapparna till denna grupp och så ser man till att alla användare som ska logga in verkligen tillhör denna grupp på datorn som delar ut via samba (kolla i /etc/group och /etc/passwd). Man kan t.ex. sätta standardgrupp i /etc/passwd så att filer som skapas av denna användare ägs av den gruppen som default.

Förmodligen har jag kanske gjort mer saker än nödvändigt men det verkar funka för mig.
Här står lite om smb.conf
smb.conf

Citat:

force group (S)

This specifies a UNIX group name that will be assigned as the default primary group for all users connecting to this service. This is useful for sharing files by ensuring that all access to files on service will use the named group for their permissions checking. Thus, by assigning permissions for this group to the files and directories within this service the Samba administrator can restrict or allow sharing of these files.

In Samba 2.0.5 and above this parameter has extended functionality in the following way. If the group name listed here has a '+' character prepended to it then the current user accessing the share only has the primary group default assigned to this group if they are already assigned as a member of that group. This allows an administrator to decide that only users who are already in a particular group will create files with group ownership set to that group. This gives a finer granularity of ownership assignment. For example, the setting force group = +sys means that only users who are already in group sys will have their default primary group assigned to sys when accessing this Samba share. All other users will retain their ordinary primary group.

If the force user parameter is also set the group specified in force group will override the primary group set in force user.

Default: force group =

Example: force group = agroup

Permalänk
Medlem

Har efter lite forskande läst mig till att gruppnamn ska anges med @ om man vill kolla nån form av windowsgrupper i första hand och unixgrupper i andra hand.

Ett + istället för @ gör att man bara kollar unixgrupper, och ett &-tecken bara windows. Quota mig ej om detta dock!

Jonaz, har satt umask till 770 och det funkar bra. Problemet jag har är följande:
Vi har användare "nisse", och användare "lasse". Båda är i grupp "snubbar" (bra namn).
I confen måste jag sätta "valid users = nisse,lasse" om jag vill att det ska funka, hur jag än anger en grupp så går det ej att komma åt.

EDIT: skrev meddelandet men postade inte på länge så såg inte ditt ovan ronnylov

Har lyckats komma så långt att användare som skapar filer skapar dom med rätt grupp!
Problemet är fortfarande att valid users måste anges användarspecifikt och gruppen hjälper inte.

Permalänk
Medlem

Är gruppen "snubbar" primär grupp?

Permalänk
Medlem

Ja, tror det (vet inte 100% säkert hur jag dubbelkollar det)

Om jag tittar i /etc/groups så ser jag i slutet på den filen nåt i stil med:

snubbar:x:1001:
grupp2:x:1002:nisse,lasse

Grejen är att om jag kör "groups nisse" eller "groups lasse" så säger den:
"snubbar grupp2". Om jag kör "usermod -g snubbar lasse" så säger den "no change", som jag förstår indikerar att det redan är den primära gruppen.

Jag vet inte hur pass mycket /etc/groups spelar in, men jag tycker ju att nisse och lasse borde stå med efter "snubbar"-gruppen.

Vet du om det spelar nån roll?

EDIT:
provade, eftersom grupp2 stod ihop med användarnamne, att byta hela utdelningen till grupp2 istället, men det gör ingen skillnad.

Permalänk
Medlem

Primära gruppen den grupp vars gruppnummer är listad på användaren i filen /etc/passwd.
En användare är ju alltid medlem i sin primära grupp så den användaren behöver då inte inte anges för den gruppen i /etc/group.

Så genom att kolla /etc/passwd kan man se numret på primära gruppen för användaren och sedan kollar man /etc/group vad gruppen med detta nummer heter. Finns kommandon man kan använda för att kolla detta också. "groups nisse" listar alla grupper som nisse är medlem i. "id nisse" visar användarid och gruppid för denna användare.

Hur ser inställningarna ut under din share i smb.conf?

Permalänk
Medlem

ronnylov:
När jag kollar både med groups-kommandot, id-kommandot och kollar igenom /etc/passwd samt /etc/group så ser allt ut att stämma till 100%
"nisse" och "lasse" har båda 1001 som primär grupp, och den gruppen är "snubbar".

Så här ser sharen ut:

[mainshare]
comment = Filserver Samba
path = /mnt/storage/mainshare
valid users = +snubbar
force group = snubbar
force create mode = 0770
force directory mode = 0770
create mask = 0770
directory mask = 0770
writable = yes

Så ser den ut efter jag slutat mitt i felsökning, men i stora drag är det ungefär så jag ställt in det. Så länge jag kör valid users = nisse,lasse så funkar det, men att köra via definierade grupper går ej.
valid users har jag provat att sätta som "snubbar", "+snubbar" eller "@snubbar"