Linuxmuster-linuxclient7: login is case insensitiv

Hallo,
ich habe festgestellt, dass man sich auch mit Großbuchstaben unter Linux anmelden kann. Also der Nutzer netzint2 kann sich mit Netzint2 anmelden.

Sehe ich das richtig, dass man das wegen der AD nicht abstellen kann? (siehe man sssd.conf: Case sensitive. This value is invalid for AD provider. )
Es wäre schön, wenn man das verbieten könnte, so wie bei LMN6. U.a. deswegen:

Das umounten (und eine Reihe von unseren Scripten) scheint dann nicht zu funktionieren:

Nov 15 11:31:19 nb07-pc29 linuxmuster-linuxclient7[5424]: [INFO] === Trying to unmount all shares of user Netzint2 ===
Nov 15 11:31:19 nb07-pc29 linuxmuster-linuxclient7[5425]: [INFO] Mount basedir /home/Netzint2/media does not exist -> nothing to unmount
Nov 15 11:31:19 nb07-pc29 linuxmuster-linuxclient7[5426]: [INFO] Mount basedir /srv/samba/Netzint2 does not exist -> nothing to unmount
Nov 15 11:31:19 nb07-pc29 linuxmuster-linuxclient7[5427]: [INFO] ===> Finished unmounting all shares of user Netzint2 ===
Nov 15 11:31:19 nb07-pc29 linuxmuster-linuxclient7[5428]: [INFO] Uninstalling all printers of Netzint2
Nov 15 11:31:19 nb07-pc29 linuxmuster-linuxclient7[5429]: [INFO] Getting installed printers of Netzint2

Das kommt wohl wegen:

user@nb07-pc29:/$ sudo ls -al /home/Netzint2
ls: Zugriff auf '/home/Netzint2' nicht möglich: Datei oder Verzeichnis nicht gefunden

Aber das Verzeichnis /home/netzint2 ist sehr wohl vorhanden.

Also wenn man es nicht verbieten kann, werde ich wohl unsere Scripte anpassen müssen ($USER ist Netzint2 und das dann auf lowercase ändern).

Viele Grüße, Helge

Hi Helge,

Ich bin mir nicht sicher, ob man den Login mit einem Großbuchstaben im Benutzernamen verhindern kann. Wenn du einen Weg findest, dann bau ich das gerne ein.
Hab grad leider keine Zeit, selbst zu suchen.

VG,
Dorian

Hallo Helge,

ich nehme in meinen Skripten immer den Befehl whoami, um den korrekten Benutzernamen auszulesen:

username=$(whoami)

Das ist besser als die Variable $USER, welche die Benutzereingabe beim Login enthält.

So bekommt man die korrekte Userbezeichnung z.B. linuxmustermann, auch wenn der sich als linuXmustermaNN angemeldet hat.

Vielleicht hilft das Dir…

Gruß
Stefan

Hallo Stefan!
Ich hatte auch verschiedene Probleme mit den Großbuchstaben in $USER und hab dann

USER=`echo $USER | tr [:upper:] [:lower:]`

eingebaut.
Damit sind es nurnoch Kleinbuchstaben.
Gruß - Rainer

Danke Stefan! Das ist viel einfacher als mit tr zu hantieren :wink:

@dorian Soweit ich sehe, kann man dies verhalten nur mit hacks unterbinden und die gehen dann vermutlich nicht mit allen login-managern.

Es bleibt wohl nur die Scripte abzusichern. Anscheinend ist da in linuxmuster-linuxclient7 ein case-bug (siehe oben, ich schreibe dazu noch ein issue auf github). Sonst ist linuxmuster-linuxclient7 wohl case-safe.

Viele Grüße, Helge

Ich hatte gleichzeitig wie Rainer geschrieben. …und Rainer hat Recht: man muss mit tr hantieren, wenn das Script als root ausgeführt wird. Z.B. /etc/gdm3/PostLogin/Default .

Und wer die Backticks nicht mag:

USER=$(echo $USER | tr [:upper:] [:lower:])

Viele Grüße, Helge

Hallo!
Vorsicht: Das Problem von whoami ist, dass in manchem Kontext der zurückgegebene User nicht unbedingt der sich anmeldende $USER ist.
Z.B. erhält man mit den Scripten unter /etc/linuxmuster-linuxclient7/onLoginAsRoot.d/ mit whoami den Benutzer root.
Gruß - Rainer

Rainer, schreiben wir immer gleichzeitig??? Beim dritten Mal sollten wir ein Bier trinken gehen. :wink:

Ich habe aber noch eine Ergänzung. Falls jemand auf dem System doch einen Benutzer mit Großbuchstaben angelegt hat, sollte dies bulletproof sein:

USER=$(id -un $USER)

Viele Grüße, Helge