Update Owncloud 8.2 auf Owncloud 9.1

Ein direktes Update von Owncloud 8.2 auf 9.1 ist so leider nicht möglich, da man zuerst über die Zwischenversion 9.0 gehen muss.

Im Folgenden wird davon ausgegangen, dass OC direkt im Root Verzeichnis des Apache liegt. Sollte das anders sein, müssen die Pfade dementsprechend angepasst werden. Außerdem ist das Datenverzeichnis auf eine eigene Partition ausgelagert.

Update Owncloud 8.2 auf 9.0

Als erstes wechselt man in das OC Root Verzeichnis, um den Wartungsmodus einzuschalten. Das occ Skript muss dabei im Kontext des Besitzers ausgeführt werden (www-data als Apache Benutzer)

su - www-data -s /bin/bash -c 'php occ maintenance:mode --on'

Anschließend kann die neue OC Version heruntergeladen und entpackt werden.

wget https://download.owncloud.org/community/owncloud-9.0.4.zip
unzip owncloud-9.0.4.zip

Danach wird das ursprüngliche Installationsverzeichnis verschoben und das neue Verzeichnis anstelle des Alten benutzt:

mv www www-orig
mv owncloud www

Nun muss die config.php und das Datenverzeichnis (data) aus der alten Installation in das neue Verzeichnis kopiert werden. Sollte das Datenverzeichnis außerhalb des Owncloud Verzeichnisses liegen, so muss nur die Konfiguration kopiert werden:

cp www-orig/config/config.php www/config/config.php

Anpassen der Rechte:

chown www-data:www-data www -R

Ausführen des eigentlichen Upgradeprozesses:

su - www-data -s /bin/bash -c 'php occ upgrade'

Nun kann auf Version 9.1 migriert werden.

Upgradebefehle Copy & Paste:

cd /var/www
su - www-data -s /bin/bash -c 'php occ maintenance:mode --on'
cd ..
wget https://download.owncloud.org/community/owncloud-9.0.4.zip
unzip owncloud-9.0.4.zip
mv www www-orig
mv owncloud www
cp www-orig/config/config.php www/config/config.php
chown www-data:www-data www -R
cd www
su - www-data -s /bin/bash -c 'php occ upgrade'

Update Owncloud 9.0 auf 9.1

Das Upgrade verhält sich analog zum oben beschriebenen Upgradeprozess.

cd /var/www
su - www-data -s /bin/bash -c 'php occ maintenance:mode --on'
cd ..
wget https://download.owncloud.org/community/owncloud-9.1.0.zip
unzip owncloud-9.1.0.zip
mv www www-90
mv owncloud www
cp www-90/config/config.php www/config/config.php
chown www-data:www-data www -R
cd www
su - www-data -s /bin/bash -c 'php occ upgrade'
su - www-data -s /bin/bash -c 'php occ maintenance:mode --off'

Sollte dann in etwa so aussehen:

su - www-data -s /bin/bash -c 'php occ upgrade'

ownCloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Set log level to debug
Checking whether the database schema can be updated (this can take a long time depending on the database size)
Done
24/24 [============================] 100%
Checked database schema update
Checking updates of apps
Checking whether the database schema for <activity> can be updated (this can take a long time depending on the database size)
Done
2/2 [============================] 100%
Checking whether the database schema for <dav> can be updated (this can take a long time depending on the database size)
Done
10/10 [============================] 100%
Checking whether the database schema for <federatedfilesharing> can be updated (this can take a long time depending on the database size)
Done
1/1 [============================] 100%
Checking whether the database schema for <federation> can be updated (this can take a long time depending on the database size)
Done
1/1 [============================] 100%
Checking whether the database schema for <files_sharing> can be updated (this can take a long time depending on the database size)
Done
1/1 [============================] 100%
Checking whether the database schema for <files_trashbin> can be updated (this can take a long time depending on the database size)
Done
1/1 [============================] 100%
Checking whether the database schema for <notifications> can be updated (this can take a long time depending on the database size)
Done
1/1 [============================] 100%
Checked database schema update for apps
Updating database schema
Updated database
Updating <federatedfilesharing> ...
Updated <federatedfilesharing> to 0.3.0
Updating <provisioning_api> ...
Updated <provisioning_api> to 0.5.0
Updating <updatenotification> ...
Updated <updatenotification> to 0.2.1
Updating <federation> ...
Updated <federation> to 0.1.0
Updating <files> ...
Updated <files> to 1.5.1
Updating <activity> ...
Updated <activity> to 2.3.2
Updating <dav> ...
Fix classification for calendar objects
Done
18/18 [============================] 100%
Updated <dav> to 0.2.5
Updating <files_sharing> ...
Updated <files_sharing> to 0.10.0
Updating <files_trashbin> ...
Updated <files_trashbin> to 0.9.0
Updating <files_versions> ...
Updated <files_versions> to 1.3.0
Updating <comments> ...
Updated <comments> to 0.3.0
Updating <notifications> ...
Updated <notifications> to 0.3.0
Updating <systemtags> ...
Updated <systemtags> to 0.3.0
Drop old database tables
Done
28/28 [============================] 100%
Remove old (< 9.0) calendar/contact shares
Done
4/4 [============================] 100%
Fix permissions so avatars can be stored again
Done
2/2 [============================] 100%
Starting code integrity check...
Finished code integrity check
Update successful
Maintenance mode is kept active
Reset log level

su - www-data -s /bin/bash -c 'php occ maintenance:mode --off'

ownCloud is in maintenance mode - no app have been loaded
Maintenance mode disabled

Abschließend sollten die Berechtigungen auf die Dateien ordnungsgemäß gesetzt werden.

Strong Directory Permissions

Datei erstellen nano /tmp/perms.sh und befüllen:

#!/bin/bash
ocpath='/var/www'
htuser='www-data'
htgroup='www-data'
rootuser='root'

printf "Creating possible missing Directoriesn"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater

printf "chmod Files and Directoriesn"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750

printf "chown Directoriesn"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/

chmod +x ${ocpath}/occ

printf "chmod/chown .htaccessn"
if [ -f ${ocpath}/.htaccess ]
then
chmod 0644 ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
then
chmod 0644 ${ocpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi

Ausführbar machen und laufen lassen.

chmod +x perms.sh
./perms.sh

Creating possible missing Directories
chmod Files and Directories
chown Directories
chmod/chown .htaccess

Sollten eigene Themes benutzt werden, müssen die auch noch von der alten Installation in die neue kopiert werden.

Advertisements

GPO Name anhand der SID herausfinden

Kurz notiert:

Um den Namen einer GPO herauszufinden, einfach eine cmd starten und folgendes eingeben:
dsquery * domainroot -filter "(&(name={SID}))" -attr displayname
Als Ausgabe erfolgt dann der jeweilige Name (ohne “displayname” werden mehr Infos angezeigt):

displayname
[Konf.] Standarddrucker

Verzeichnisse im Explorer ausblenden (Netzwerk, Bilder, Dokumente etc.)

Netzwerk im Explorer ausblenden

Die in Windows hinterlegten Schnellzugriffe im Explorer können mitunter nerven, wenn man sie nicht nutzt, sie aber dennoch vorhanden sind.

2016-09-07 07_49_20-Computer

Dazu benötigt man die CSLID der jeweiligen Komponenten. In der Registry wird sie dann auf “nicht auflisten” gesetzt.

Pfad:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\NonEnum

Der jeweilige Wert muss auf “1” gesetzt werden.

CLSIDs:

  • Schnellzugriff – {679f85cb-0220-4080-b29b-5540cc05aab6}
  • Onedrive – {018D5C66-4533-4307-9B53-224DE2ED1FE6}
  • Netzwerkumgebung – {F02C1A0D-BE21-4350-88B0-7367FC96EF3C}
  • Heimnetzgruppe – {B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}
  • Bibliotheken (Windows 7) – {031E4825-7B94-4dc3-B131-E946B44C8DD5}

Registry Einträge für die Netzwerkumgebung

Windows Registry Editor Version 5.00

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\NonEnum
"{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}"=dword:00000001

2016-09-07 07_59_47-Bibliotheken

Gibt’s auch als ADM Template: https://social.technet.microsoft.com/Forums/windowsserver/de-DE/c88e32e9-ccac-4267-927f-9783c1c2e4e2/netzwerkumgebung-bei-win7clients-deaktivieren

Dieser PC  Unterordner entfernen (Windows 8.1, Windows 10)

Die Ordner/Knoten unterhalb von “Dieser PC” bei den neueren Windows Systemen stören manchen ebenfalls.

Analog zum oberen Teil, können auch diese in der Registry ausgeblendet werden. Dazu müssen die betreffenden Schlüssel allerdings gelöscht werden.

Pfad:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer NameSpace

CLSIDs:

Windows 8.1:

  • Musik – {1CF1260C-4DD0-4ebb-811F-33C572699FDE}
  • Downloads – {374DE290-123F-4565-9164-39C4925E467B}
  • Bilder – {3ADD1653-EB32-4cb0-BBD7-DFA0ABB5ACCA}
  • Videos – {A0953C92-50DC-43bf-BE83-3742FED03C9C}
  • Dokumente – {A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}
  • Desktop – {B4BFCC3A-DB2C-424C-BO29-7FE99A87C641}

Windows 10

  • Downloads – {088e3905-0323-4b02-9826-5d99428e115f}
  • Bilder – {24ad3ad4-a569-4530-98e1-ab02f9417aa8}
  • Musik – {3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}
  • Dokumente – {d3162b92-9365-467a-956b-92703aca08af}
  • Videos – {f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}

Das Entfernen der Schlüssel kann man mit den Gruppenrichtlinien nur über die GPP Registry machen, da ein ADM Template keine Schlüssel löschen kann.

Passwortänderung nicht möglich: ERROR_DOWNGRADE_DETECTED (1265) netapi32

Die Änderung des Passworts via netapi32 in C# funktioniert neuerdings nicht mehr. Die Fehlermeldung gibt an:

This call has now stopped working and returns the exception “The system cannot contact a domain controller to service the authentication request. Please try again later. (Exception from HRESULT: 0x800704F1)  “

Das Problem scheint in einem Windows Update zu liegen, welches NTLM als Methode zur Kennwortänderung nicht mehr zulässt.
[fusion_builder_container hundred_percent=”yes” overflow=”visible”][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”]

 private void changePW(string server, string user, string oldPW, string newPW)
        {
            try
            {
                //Aufruf für Passwortänderung über Netapi32
                int retValue = NetUserChangePassword(server, user, oldPW, newPW);

                switch(retValue)
                {
                    case 0:
                        //Progressbar full
                        this.progressBar1.Value = 100;
                        MessageBox.Show("Das Passwort wurde erfolgreich geändert!", "Passwortänderung", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.Close();
                        break;
                    case 86:
                        MessageBox.Show("Das eingebene Passwort ist nicht korrekt!", "Passwortänderung fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        break;
                    case 1351:
                        MessageBox.Show("Der Server ist entweder nicht erreichbar oder falsch angegeben!nBitte die IT benachrichtigen.", "Passwortänderung fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;
                    default:
                        break;
                }
            }
            catch (Exception f)
            {
                //Falls es keine InnerExeption mit zusätzlichen Infos gibt wird die normale benutzt
                if (f.InnerException == null)
                {
                    MessageBox.Show(f.Message + "nBitte die IT benachrichtigen.", "Fehler beim Passwort setzen", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                else
                {
                    //Abfrage der InnerException
                    MessageBox.Show(f.InnerException.Message + "nBitte die IT benachrichtigen.", "Fehler beim Passwort setzen", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }

        }

Problem ist das Windows Update KB3167679
Microsoft:

Mit diesem Sicherheitsupdate wird die Funktion des Verhaltensprozesses deaktiviert, zurück zu NTLM zu wechseln, wenn die Kerberos-Authentifizierung für Kennwortänderung fehlschlägt.

Momentan wird die Funktion zur Kennwortänderung von deaktivierten oder gesperrten Konten nur von NTLM unterstützt. Sie wird nicht vom Kerberos-Protokoll unterstützt. Mit diesem Sicherheitsupdate wird verhindert, dass der Verhaltensprozess zur Kennwortänderung zurück zu NTLM wechselt, wenn die Kerberos-Authentifizierung fehlschlägt. Daher können Sie das Kennwort von deaktivierten oder gesperrten Konten nicht mehr ändern, nachdem Sie dieses Update installiert haben. Das Ändern von Kennwörtern von deaktivierten oder gesperrten Benutzerkonten über NTLM ist nicht sicher. Aus diesem Grund ist die Funktion des Verhaltensprozesses, zurück zu NTLM zu wechseln durch dieses Sicherheitsupdate deaktiviert.

KB Artikel

Die Deinstallation behebt das Problem erst einmal.[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]