openSUSE folgt der reinen Lehre.
Nach der muss für sudo (SubstituteUser kontext and DO ) die Datei sudoers korrekt konfiguriert sein.
In dieser Datei werden Befehle mit genau definierten Argumenten bestimmten Usern zugeordnet, so dass diese User __genau__ exakt diesen Befehl mit anderen Rechten (i.d.R. mit Root-Rechten) ausgeführt werden.
Was ganz praktisch ist, weil man z.B. Frau Pfenning das Konfigurieren des Abteilungsdruckers "Pfuinanzschleuder" erlauben kann, ohne ihr vollständig Root-Rechte zu gewähren.
Distris, wie Debian haben in der sudoers einen One-size-fits-all Eintrag, der schlicht den Usern gleich komplett Root- Rechte einräumt.
Warum es dennoch funktioniert, ist weniger leicht einsehbar.
Es bestehen zwischen su -c (-c für -command ) und sudo subtile Unterschiede im Envrionment.
Mit su - maxe wirst du zu einem richtigen maxe, sprich alle .rc und profile Dateien werden abgearbeitet UND bestimmte Envirionmentvariablen korrekt gesetzt.
Bei sudo nur TEILWEISE.
Das mag oft gut gehen, gut ist es aber nicht. Ersetze unter openSUSE einfach JEDES sudo mit su -c
Reine Lehre eben.