PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : vsftp server problem



unix
27.08.03, 09:36
hi

Ich habe auf meinem Linux Rechner(Suse 8.0) vspft installiert. Ich habe einen User erstellt , der sein Homeverzeichnis in /home/user hat.

Wenn sich der user einloggt ftp://user:paswort@localhost einloggt kommt er automatisch auf /home/user. Und kann auch nur in diesem Verzeichnis bleiben.

Jetzt habe ich einen Ordner /home/all erstellt. Und möchte jetzt, dass der user in seinem Verzeichnis eine Verknüpfung von diesem Ordner /home/all hat. Und auf diesem Ordner nur leserechte hat.

Ich habe es mal mit dem ln befehl probiert, aber wenn man sich einloggt sieht man nur ein verknüpfungsfile und kein ordner. Man kann also auch nicht auf diesen Ordner zugreifen (Seite kann nicht angezeigt werden.)

Danach habe ich den befehl lndir ausprobiert. Er erstellt die Verknüpfung und man kann auch zugreifen. Jedoch wenn ich im Ordner /home/all ein file einfüge, wird es bei dem user in dem Verknüpfungsordner nicht aktualisiert. auch mit f5 nicht.

Könnt ihr mir helfen?

Bartleby
27.08.03, 12:00
Ich denke, dass solltest du in dem entsprechenden config-file von vsftp ändern (bestimmt vsftp.conf).

itomix
27.08.03, 16:31
Hi,

ich versuche mal dir bei deinen zu Problem helfen!

1) Gebe den Verzeichnis die Berechtigung mit dem Befehl:

chmod -R ugo+rx /home/all <---- (...oder nur mit (r = Read))

2) Kontrolliere es mit <ls -la> die Verz. Berechtigung muß folgendermaßen aussehen

dr-xr-xr-x /home/all

3) Lege in jeden Home Verzeichnis ein Ordner an (../home/user/all)

mkdir /home/username/all

4) Schreibe ein Bashscript! (... schreibe es am besten mit "mcedit")

a)
#!/bin/sh
mount --bind /home/all/ /home/username01/all/
mount --bind /home/all/ /home/username02/all/
mount --bind /home/all/ /home/username03/all/

(Info: das Script kannst du auch per Hand ausführen mit <sh ftpall oder ./ftpall>, dadurch kannst du die Funktion schon mal testen)

b)Speicher das Script unter "ftpall" und mache dieses mit dem Befehl <chmod +x ftpall>
ausführbar!

5) Lege ein Runlevel an!

ln -s /Verzeichnis/ftpall /etc/rc.d/rc3.d/S100ftpall

Wichtig : S99
S = Start - beim Start (K = Kill - beim herunterfahren)
99 = Reihenfolge der Scriptabarbeitung - 99 = als letztes

Nach dem Reboot sollte das Verzeichnis dann in User Verzeichnis gemounted sein!

!!! Achtung Wichtiger Hinweis !!!

Solltest du irgendwann den User mit <userdel -r username löschen> dann mußt du
erstmal das Verzeichnis umounten mit der Befehl: < umount /home/username/all >
oder besser noch mit < umount -R /home/username/all > ansonsten sind die Daten auf dem Verz. /homa/all/ futsch!


MfG

itomix_tux

www.itomix.de

unix
28.08.03, 09:55
danke so habe ich es auch gelöst.. aber danke noch für dein Post

itomix
28.08.03, 10:38
Hi,

nur zur Info man kann es auch mit einen kleinen Script vereinfachen!
Hierbei liegt das Homeverzeichnis aber in </FTP/user> und der User hat keinen
Shellzugriff mit <... sbin/nologin>!

zum erstellen eines User's:

#!/bin/bash
echo -n "Moechten Sie einen neuen FTP Benutzers anlegen (j/n)?"
read yes
if [ "$yes" = "j" ]; then
echo -n "Bitte Name eingeben :"
read iuser
useradd -g iuser -m -d /FTP/user/$iuser $iuser -s /sbin/nologin
mkdir /FTP/user/$ixuser/all
echo "mount --bind /FTP/all/ /FTP/user/$iuser/all" >> /etc/rc.d/ftpall
echo "Bitte Passwort eingeben :"
echo " "
passwd $iuser
echo " "
echo " "
echo "Benutzer wurde erfolgreich angelegt!"
echo " "
/etc/rc.d/ftpall
exit 1
else
echo
fi

Zum löschen des User's:

#!/bin/bash
iuser=$1
echo -n "Moechten Sie einen FTP Benutzers loeschen (j/n)?"
read yes
if [ "$yes" = "j" ]; then
echo -n "Bitte Benutzername eingeben :"
read iuser
umount -f /FTP/user/$iuser/all/
userdel $iuser
echo ".........."
fi
echo -n "Moechten Sie das Home-Verzeichnis auch loeschen (j/n)?"
read yes1
if [ "$yes1" = "j" ]; then
echo -n "Biite Verzeichnisnamen eingeben :"
read iuser
umount -f /FTP/user/$iuser/all/
replace 'mount --bind /FTP/all/ /FTP/user/'$iuser'/all' '# User '$iuser' wurde geloescht!' -- /etc/rc.d/ftpall
rm -rf /FTP/user/$iuser;
echo ".........."
echo "Loeschen des Benutzers erfolgreich!"
else
exit 1
fi

MfG
itomix

www.itomix.de