Bug 29553 - Kein Zugriff auf Samba4 share mit valid users = @groupname
Kein Zugriff auf Samba4 share mit valid users = @groupname
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Samba4
UCS 3.1
Other Linux
: P5 normal with 2 votes (vote)
: UCS 3.1-0-errata
Assigned To: Arvid Requate
Stefan Gohmann
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-12-04 18:37 CET by Arvid Requate
Modified: 2014-02-08 09:15 CET (History)
6 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arvid Requate univentionstaff 2012-12-04 18:37:38 CET
Die Authorisierung über Gruppenmitgliedschaft funktioniert nicht bei Samba4-Shares die per "valid users = @group1" eine Zugriffsbeschränkung auf Gruppenmitglieder definiert haben. Getestet am Windows7-Client und per CLI:

root@slave2:~# smbclient //localhost/share2b -Uuser2%univention
Domain=[ARUCS31I14] OS=[Unix] Server=[Samba 4.0.0rc2]
tree connect failed: NT_STATUS_ACCESS_DENIED

root@slave2:~# getent group group1
group1:*:5037:user2

root@slave2:~# udm shares/share list --filter name=share2b
name=share2b
DN: cn=share2b,cn=shares,dc=arucs31i14,dc=qa
ARG: None
  sambaDirectorySecurityMode: 0777
  sambaHostsAllow: None
  owner: 0
  sambaName: share2b
  sambaValidUsers: @group1
  sambaCreateMode: 0744
  group: 5001
  [...]
root@slave2:~# ls -ld /share2
drwxrwxr-x 2 root Domain Users 4096  4. Dez 03:47 /share2

Trägt man hingegen z.B. den Benutzer selbst ein, dann funktioniert der Zugriff.
Bei Memberservern in der Samba4-Domäne funktioniert die Zugriffskontrolle über Gruppenmitgliedschaft.
Comment 1 Arvid Requate univentionstaff 2012-12-04 18:40:20 CET
Ein kurzer Test, die Posix-ID der Gruppe in idmap.ldb als ID_TYPE_BOTH zu deklarieren hat keine Änderung gebracht (die posix-ID ist hier ja vermutlich auch nicht relevant).
Comment 2 Arvid Requate univentionstaff 2012-12-05 10:42:53 CET
Der bekannte Workaround, die SID der Gruppe einzutragen funktioniert.
Comment 3 Arvid Requate univentionstaff 2012-12-13 15:17:56 CET
Vielleicht kann man auch einfach als Workaround im Listener-Modul @group in die SID konvertieren und in das shares.conf.d-Subfile schreiben.
Comment 4 Arvid Requate univentionstaff 2013-01-17 17:43:33 CET
Behoben durch den Patch für Bug #29983.
Comment 5 Stefan Gohmann univentionstaff 2013-01-28 16:02:42 CET
errata YAML: OK

errata function / code: OK

3.1-1 changelog: OK

3.1-1 function / code: OK over Bug #30178
Comment 6 Moritz Muehlenhoff univentionstaff 2013-01-29 13:22:47 CET
http://errata.univention.de/3.1-errata26.html
Comment 7 Thomas Manninger 2013-04-04 14:15:03 CEST
Same Problem with "valid users", "write list", "read list" after upgrade to 3.1-1.

Temporary i used the sid of the groups.
Comment 8 leo-huette 2014-02-07 21:14:18 CET
I'm facing the very same problem with a standalone server.
unix extensions are set to 'no'.

valid users = @groupname
force user  = username
force group = groupname

uname -a
FreeBSD Storage-10.NetOcean.Local 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014     root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

samba -V
Version 4.1.4

How can I get the SID of a group in order the get the workaround running untill this is fixed?
Comment 9 leo-huette 2014-02-07 21:15:50 CET
Btw. here is a more detailed post of this issue:
http://forums.freebsd.org/viewtopic.php?f=43&t=44769
Comment 10 Stefan Gohmann univentionstaff 2014-02-07 21:21:09 CET
(In reply to leo-huette from comment #8)
> I'm facing the very same problem with a standalone server.
> unix extensions are set to 'no'.
> 
> valid users = @groupname
> force user  = username
> force group = groupname
> 
> uname -a
> FreeBSD Storage-10.NetOcean.Local 10.0-RELEASE FreeBSD 10.0-RELEASE #0
> r260789: Thu Jan 16 22:34:59 UTC 2014    
> root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
> 
> samba -V
> Version 4.1.4
> 
> How can I get the SID of a group in order the get the workaround running
> untill this is fixed?

wbinfo --name-to-sid="groupname"? Otherwise you could check the patch Arvid send upstream:
 https://bugzilla.samba.org/show_bug.cgi?id=9570
Comment 11 leo-huette 2014-02-07 22:22:56 CET
Die nachfolgende Optionsänderung

force group = S-1-22-2-2006

hat lediglich bewirkt, dass nun gar kein Zugriff mehr auf das Share gewährt wird. Verwende ich hier die korrekte Syntax?

wbinfo --name-to-sid=tesgroup
funktioniert leider nur für Gruppen, bei denen es keinen gleichnamigen Benutzer gibt. Wenn es zum Benutzernamen eine gleichnamige Gruppe gibt, so wird der Benutzername vorgezogen und hierfür die SID usgespuckt.

Alternativ habe ich folgendes entdecken können, was jedoch leider fehlschlägt:
wbinfo --gid-to-sid 2000
failed to call wbcGidToSid: WBC_ERR_DOMAIN_NOT_FOUND
Could not convert gid 2000 to sid
Comment 12 Stefan Gohmann univentionstaff 2014-02-08 09:15:37 CET
(In reply to leo-huette from comment #11)
> Die nachfolgende Optionsänderung
> 
> force group = S-1-22-2-2006
> 
> hat lediglich bewirkt, dass nun gar kein Zugriff mehr auf das Share gewährt
> wird. Verwende ich hier die korrekte Syntax?
> 
> wbinfo --name-to-sid=tesgroup
> funktioniert leider nur für Gruppen, bei denen es keinen gleichnamigen
> Benutzer gibt. Wenn es zum Benutzernamen eine gleichnamige Gruppe gibt, so
> wird der Benutzername vorgezogen und hierfür die SID usgespuckt.
> 
> Alternativ habe ich folgendes entdecken können, was jedoch leider
> fehlschlägt:
> wbinfo --gid-to-sid 2000
> failed to call wbcGidToSid: WBC_ERR_DOMAIN_NOT_FOUND
> Could not convert gid 2000 to sid

Samba in der Konfiguration auf FreeBSD ist nicht so sehr unser Spezialgebiet. Am einfachsten auf der Samba Mailingliste nachfragen:
  https://lists.samba.org/mailman/listinfo/samba