# Maximale Länge des Benutzernamens? (ISPConfig 3.0.4.1)



## titanium (1. Dez. 2011)

Ich möchte in ISPConfig 3.0.4.1 einen neuen Shell-User anlegen. Nach Ablauf der Skriptwarteschlange gibt es in /var/log/ispconfig/cron.log allerdings eine Fehlermeldung:

useradd: invalid user name '<MEINUSERNAME>'
PHP Warning:  chown(): Unable to find uid for <MEINUSERNAME> in /usr/local/ispconfig/server/plugins-available/shelluser_base_plugin.inc.php on line 101
usermod: user '<MEINUSERNAME>' does not exist

Ich vermute, es liegt daran, dass der tatsächliche Username (<MEINUSERNAME> ist hier im Posting nur als Platzhalter zu verstehen ;-) ziemlich lang ist (34 Zeichen). Gibt es eine Längenbeschränkung, was den Usernamen angeht?

Vielen Dank für Hinweise.


----------



## nowayback (1. Dez. 2011)

Wenn ich nicht völlig falsch liege, dann ist Standartmäßig 32 Zeichen als maximale Länge vorgegeben.

Grüße
nwb


----------



## titanium (1. Dez. 2011)

Zitat von nowayback:


> Wenn ich nicht völlig falsch liege, dann ist Standartmäßig 32 Zeichen als maximale Länge vorgegeben.
> 
> Grüße
> nwb


Danke dir für die Antwort, nwb. Das wird der Grund sein. An dieser Stelle muss man wohl ein bisschen mitdenken - ISPConfig erlaubt das Eintragen eines so langen Usernamens, aber bei der Arbeitung der Warteschlange kommt es dann zu Problemen.

Vielleicht macht es Sinn, dass ISPConfig die Länge des gesamten Shellusernamens abfragt und eine Fehlermeldung ausspuckt, wenn der dümmere Anwender (also ich  versucht, das Limit von 32 Zeichen zu sprengen.


----------



## nowayback (2. Dez. 2011)

Das Problem wird sein, dass man die Länge auch verändern kann... Bitte frage mich jetzt nicht wo bzw. wie, aber ich weiß dass das geht.

Da man den Wert, soweit ich weiß, nicht abfragen kann, bleibt wohl nur der gesunde Menschenverstand beim Anlegen 

Grüße
nwb


----------



## Till (2. Dez. 2011)

Was setzt Du denn für eine Distribution ein? Bei Debian ist die max Shell Userlänge 256 zeichen, siehe Befehl:

getconf LOGIN_NAME_MAX

ISPConfig geht da schon auf Nummer sicher und lässt nur 64 Zeichen zu.

ISPConfig kann das nur nicht sinnvoll abfragen, denn das Interface läuft ja nicht notwendigerweise auch dort, wo der username erstellt wird. Stichwort Multiserver.


----------



## titanium (2. Dez. 2011)

Zitat von Till:


> Was setzt Du denn für eine Distribution ein? Bei Debian ist die max Shell Userlänge 256 zeichen, siehe Befehl:


Hmm, danke für den Shellbefehl, Till. Ich setze ein aktuelles Debian ein.

$getconf LOGIN_NAME_MAX
256

$lsb_release -a
Description:	Debian GNU/Linux 6.0.3 (squeeze)
Release:	6.0.3
Codename:	squeeze

Dann muss das Problem doch eine andere Ursache haben 
Seltsam. Der Username enthält lediglich Kleinbuchstaben im Bereich a-z, keine Sonderzeichen und nix.


----------



## Till (2. Dez. 2011)

hast Du mal versucht den Usernamen mit useradd manuell auf der Shell anzulegen und wenn das nicht geht, ihn dann mal die letzten 2 Zeichen zu entfernen und es nochmal versucht? Sind vielleicht irgendwelche nicht alphanumerischen Zeichen wie ein - drin?


----------



## titanium (2. Dez. 2011)

Zitat von Till:


> hast Du mal versucht den Usernamen mit useradd manuell auf der Shell anzulegen und wenn das nicht geht, ihn dann mal die letzten 2 Zeichen zu entfernen und es nochmal versucht? Sind vielleicht irgendwelche nicht alphanumerischen Zeichen wie ein - drin?



Gute Idee. Habe ich soeben ausprobiert und festgestellt, dass meine Debian-Installation nicht mehr als 32 Zeichen als Nutzernamen annimmt. Sonst wird sofort gemeckert:


```
useradd: invalid user name 'ich_bin_ein_benutzer_mit_langem_namen'
```
man useradd sagt:


> Usernames may only be up to 32 characters long.


Das ist dann wohl doch die Erklärung, so wie nowayback schon schrieb. Es können also keine Nutzernamen mit mehr als 32 Zeichen (zumindest mit Debian) angelegt werden.


----------



## Till (2. Dez. 2011)

Dann werde ich wohl mal die max. Länge in ISPConfig auf 32 ändern müssen. Kannst es ja mal im Bugtracker posten.

Wie kommst Du eigentlich zu so langen Usernamen? Ich tippe mal drauf dass Du den Userprefix geändert hast? Der Standard ist aus gutem Grund nur die ID  Denn sonst kannst Du theoretisch alleine durch den Userprefix in die Situation kommen, dass Du garkeinen user anlegen kannst, weil der Prefix selbst länger als die max userlänge ist.


----------



## nowayback (2. Dez. 2011)

> *Wenn ich nicht völlig falsch liege*, dann ist Standartmäßig 32 Zeichen als maximale Länge vorgegeben.


Vielen Dank dafür das du mir gezeigt hast, das ich mich doch noch auf meine paar Grauen Zellen verlassen kann


----------



## titanium (2. Dez. 2011)

Zitat von Till:


> Wie kommst Du eigentlich zu so langen Usernamen? Ich tippe mal drauf dass Du den Userprefix geändert hast? Der Standard ist aus gutem Grund nur die ID


Echt? Standard ist ID? Bei mir steht im Formular für die Erstellung eines Shellusers

Benutzername: [CLIENTNAME] [     ]

Ich meine, ich hätte das nicht bewusst geändert und wäre noch mit dem Standard unterwegs...

Zu deiner Frage 
Der Clientname selbst ist schon recht lang, und ich vergebe dann als zweiten Teil des Benutzernamens den Real-Nachnamen des Users, der in diesem Fall auch recht lang ist. Insgesamt kam ich dann über 32 Zeichen (genau waren es 34, also knapp drüber), und da ist mir dann das kleine Problem aufgefallen.


----------

