PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Betriebssystembenutzer ohne Buchstaben anlegen



Pacman2k
09.02.10, 13:15
Hallo zusammen,

ich erhoffe mir Hilfe bei folgendem Problem:

Bei uns im Unternehmen ist es irgendwie (fragt mich nicht warum, das war vor meiner Zeit) historisch so gewachsen, dass auf einem Server Daten zur verfügung gestellt werden, die von mehreren hundert Kunden per eigens programmiertem FTP Tool abgeholt werden.

Die Benutzer sind folgendermaßen angelegt: z.B. 0001234
Es gibt ein entsprechendes Verzeichnis: z.B. /home/ftp/0001234
Sämtliche Benutzer sind einer Gruppe zugeordnet und entsprechend Besitzer ihres eigenen Verzeichnisses.

Wir würden diesen Server jetzt gerne neu aufsetzen und in diesem Schritt auch direkt virtualisieren. Jetzt haben wir nur das Problem, dass diese Art Benutzer nicht zulässig ist. Es werden wohl Buchstaben verlangt im Benutzernamen oder man darf garnicht erst Benutzer mit führender 0 anlegen. Irgendwie wurde das damals (irgendwann in den 90ern) aber auch ausgehebelt, aber keiner weiß mehr so recht wie.

Alternative wäre ein vsftp mit pam-mysql aufzusetzen und die Benutzer über Datenbank zu authentifizieren, das haben wir versucht, stehen aber vor einem ähnlich unlösbaren Problem - jedenfalls für unsere Verhältnisse :p

Vielleicht hat ja jemand eine Idee, wie wir die Benutzerstruktur wieder so anlegen können...

Danke schonmal für die Hilfe!
Gruß
Marc

lOtz
09.02.10, 13:19
Welches System, welcher Server?

Pacman2k
09.02.10, 13:21
Welches System, welcher Server?

Oh tut mir leid!
Das wichtigste hab ich natürlich vergessen...

SuSe Linux Enterprise Server 10
2.6.16.21-0.8-smp

craano
09.02.10, 13:42
Also pureFTPD kommt auch mit virtuellen User-namen klar, die nur aus Zahlen (auch mit führender Null) bestehen, das habe ich eben einmal schnell getestet.

Erstellen eines pure-ftpd Server und Einrichten eines virtuellen users

1. Installieren von pure-ftpd
# pkg_add -r pure-ftpd

2. Systemuser erstellen, notwendig für den Einsatz von virtuellen ftp-usern
# pw useradd vftpuser -s /sbin/nologin -w no -d /usr/home/vftpuser ? -c "Virtual FTP user" -m

3. Virtuellen ftp-user erstellen
# /usr/local/bin/pure-pw useradd ftpcraano -u vftpuser -g vftpuser -d /usr/home/vftpuser/ftpcraano ###-d user wird chrooted
# /usr/local/bin/pure-pw mkdb ###erst wenn mkdb ausgeführt wurde, werden die Änderungen der pureftpd.passwd aktiv

4. Anpassen der /usr/local/etc/pure-ftpd.conf
PureDB /usr/local/etc/pureftpd.pdb
CreateHomeDir yes

5, Beim Systemstart starten
# echo 'pureftpd_enable="YES"' >> /etc/rc.conf
Die obige Anleitung ist eine kleine Gedächnisstütze von mir.
Das ganze läuft bei mir auf einem FreeBSD Rechner, das sollte aber grundsätzlich auf einer Suse Box nicht anders sein. Lediglich Punkt 1 wird von dem Paketmanager der Distribution verändert.
Ich speicher die virtuellen User nicht in einer DB, sondern in einer /etc/passwd ähnlichen Datei (Punkt 4), man kann das aber auch mit einer MySQL DB machen.

craano.

Pacman2k
09.02.10, 13:59
Also die grundlegende Einrichtung mit der MySQL Authentifizierung hat auch bei uns geklappt. Die User konnten wir alle über ein Skript anlegen und uns dann auch auf dem Server einloggen.

Das Problem mit vsftp und pam-mysql war bei uns, dass wir gerne die Benutzer per chroot_local_user in ihr Verzeichnis einsperren würden. Das große ABER in dem Fall ist aber, dass das Tool mit dem die User ihre Daten abrufen auch noch in ein anderes Verzeichnis springt als das Userverzeichnis.
Der Quellcode für das Tool liegt leider nichtmehr vor, sodass wir irgendwie mit symlinks arbeiten könnten oder einfach dieses besagte Verzeichnis in jedes Userverzeichnis reinmounten.

Unser Problem ist dann, dass wenn chroot_local_user=YES eingestellt ist, die Benutzer nichtmehr in ../blabla/daten springen dürfen, was aber Voraussetzung ist.
Ich hoffe das ich das einigermaßen verständlich rüberbringen kann ;)
Danke für eure Unterstützung!

Thorashh
09.02.10, 15:08
Moin

versuch es mal mit "mount -o bind ..."

craano
09.02.10, 17:19
Also die grundlegende Einrichtung mit der MySQL Authentifizierung hat auch bei uns geklappt. Die User konnten wir alle über ein Skript anlegen und uns dann auch auf dem Server einloggen.

Das Problem mit vsftp und pam-mysql war bei uns, dass wir gerne die Benutzer per chroot_local_user in ihr Verzeichnis einsperren würden. Das große ABER in dem Fall ist aber, dass das Tool mit dem die User ihre Daten abrufen auch noch in ein anderes Verzeichnis springt als das Userverzeichnis.
Der Quellcode für das Tool liegt leider nichtmehr vor, sodass wir irgendwie mit symlinks arbeiten könnten oder einfach dieses besagte Verzeichnis in jedes Userverzeichnis reinmounten.

Unser Problem ist dann, dass wenn chroot_local_user=YES eingestellt ist, die Benutzer nichtmehr in ../blabla/daten springen dürfen, was aber Voraussetzung ist.
Ich hoffe das ich das einigermaßen verständlich rüberbringen kann ;)
Danke für eure Unterstützung!
Eingangs ging es um Benutzernamen mit führenden Nullen. Jetzt sprichst Du von einer völlig anderen Baustelle. Hier sollte Dir in der Tat ein Bind-Mount weiterhelfen.

Grüße.
craano.