Bug 21587 - Join mit angepasster umask
Join mit angepasster umask
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Join (univention-join)
UCS 2.4
Other Linux
: P5 normal (vote)
: UCS 3.0-1
Assigned To: Lukas Walter
Felix Botner
:
: 16327 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-02-15 12:22 CET by Stefan Gohmann
Modified: 2012-03-04 14:34 CET (History)
3 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
fix join fail with modified umask (446 bytes, patch)
2012-01-16 15:06 CET, Lukas Walter
Details | Diff
fix join fail with modified umask (530 bytes, patch)
2012-01-17 11:57 CET, Lukas Walter
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-02-15 12:22:48 CET
Wenn die umask per UCR geändert ist, dann scheinen nicht alle Verzeichnisse die richtige Berechtigung zu haben.

Auf einem Kundensystem:

# ucr search umask
umask: 027

Dort funktionierte die UMC Anmeldung erst nach:
chmod o+rx /etc/univention/ssl/
chmod o+rx /etc/univention/ssl/ucsCA/
Comment 1 Lukas Walter univentionstaff 2011-10-18 15:14:47 CEST
Scheint unter UCS 3.0 und 2.4-1 nicht mehr reproduzierbar zu sein.
Comment 2 Lukas Walter univentionstaff 2011-10-26 15:15:05 CEST
Auch unter 2.4-3 und 2.4-4 nicht reproduzierbar.
Comment 3 Felix Botner univentionstaff 2011-11-09 16:48:22 CET
Mit 3.0-0 konnte ich das Problem nachstellen.

-> ucr get umask
0027
-> umask 
0027

-> join

-> ls -al /etc/univention/ssl
insgesamt 32
drwxr-x---  6 root    DC Backup Hosts 4096  9. Nov 16:40 .


bzw.

-> ucr get umask
-> umask
0022

-> ls -al /etc/univention/ssl
insgesamt 20
drwxr-xr-x  5 root DC Backup Hosts 4096  9. Nov 16:27 .
Comment 4 Lukas Walter univentionstaff 2012-01-16 15:06:09 CET
Created attachment 4096 [details]
fix join fail with modified umask

Der patch modifiert management/univention-join/univention-join so, dass zu Beginn des scripts die aktuelle umask in der Variable UMASK gespeichert wird. Anschließend wird die umask vorrübergehend auf den Wert "0022" gesetzt. Am Ende der Durchführung wird die umask wieder auf den in UMASK gespeicherten Wert zurückgesetzt.
Comment 5 Stefan Gohmann univentionstaff 2012-01-16 15:13:38 CET
(In reply to comment #4)
> Created an attachment (id=4096) [details]
> fix join fail with modified umask
> 
> Der patch modifiert management/univention-join/univention-join so, dass zu
> Beginn des scripts die aktuelle umask in der Variable UMASK gespeichert wird.
> Anschließend wird die umask vorrübergehend auf den Wert "0022" gesetzt. Am Ende
> der Durchführung wird die umask wieder auf den in UMASK gespeicherten Wert
> zurückgesetzt.

Besser so lösen, dass für die Verzeichnisse / Dateien, die andere Rechte benötigen diese direkt gesetzt werden. Die umask wurde ja absichtlich so angepasst, ansonsten verhalten sich die Dienste anders, wenn die vom Join-Prozess gestartet wurden.
Comment 6 Felix Botner univentionstaff 2012-01-16 15:19:42 CET
*** Bug 16327 has been marked as a duplicate of this bug. ***
Comment 7 Lukas Walter univentionstaff 2012-01-17 11:57:22 CET
Created attachment 4097 [details]
fix join fail with modified umask

Pass univention-join so an, dass die Rechte für /etc/univention/ssl, /etc/univention/ssl/ucsCA und /etc/univention/ssl/ucsCA/CAcert.pem während des Joinvorgangs auch dann stimmen, wenn die umask zuvor durch den User geändert worden ist.
Comment 8 Alexander Kläser univentionstaff 2012-01-17 12:00:37 CET
(In reply to comment #7)
> Created an attachment (id=4097) [details]
> fix join fail with modified umask
> 
> Pass univention-join so an, dass die Rechte für /etc/univention/ssl,
> /etc/univention/ssl/ucsCA und /etc/univention/ssl/ucsCA/CAcert.pem während des
> Joinvorgangs auch dann stimmen, wenn die umask zuvor durch den User geändert
> worden ist.

OK, den Patch bitte übernehmen ins SVN und vor die chmod-Zeilen einen kleinen Kommentar hinzufügen warum dies geschieht zusammen mit einem Verweis auf Bug #21587.
Comment 9 Lukas Walter univentionstaff 2012-01-17 14:03:22 CET
Der Patch wurde übernommen und das Paket gebaut.

univention-join (4.0.30-1) unstable; urgency=low

  * prevent join from failing if umask is modified (Bug #21587)
Comment 10 Felix Botner univentionstaff 2012-02-10 10:22:38 CET
Das gilt jetzt aber nur für "domaincontroller_backup". Bei einem Slave etc. wird das chmod gar nicht ausgeführt.

if [ "$server_role" = "domaincontroller_backup" ]; then
    ...
    chmod ...
    ...
elif [ "$server_role" = "domaincontroller_slave" ]; then
    ...
elif [ "$server_role" = "memberserver" ]; then
    ...
...

Also entweder das chmod in jeden der if/elif Zweige rein oder irgendwie am Ende, wenn das Verzeichnis existiert die Berechtigungen anpassen.
Comment 11 Lukas Walter univentionstaff 2012-02-13 15:53:26 CET
Änderungsvorschlag übernommen. Paket gebaut.

univention-join (4.0.32-1) unstable; urgency=low

  * fix for Bug #21587 now pertains all system roles (Bug #21587)
Comment 12 Felix Botner univentionstaff 2012-02-13 17:02:44 CET
ok, mit (max.) 027 als umask funktioniert es, alles was noch restriktiver ist (777, 077) funktioniert nicht (aber das ist ok)

Changelog Eintrag vorhanden.
Comment 13 Sönke Schwardt-Krummrich univentionstaff 2012-03-04 14:34:21 CET
UCS 3.0-1 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"