Entwicklungsumgebung/Ftp

Aus Delixs
Zur Navigation springen Zur Suche springen
ZumTest Nach Meinung des Autors ist diese Seite fertig. Es wäre schön, wenn ausgiebige Tests durch viele Nutzer eventuell noch vorhandene Fehler beseitigen helfen.


FTP-Server

Installation von pure-ftpd

Voreinstellungen für den FTP-Server setzen:

<source lang="text"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e " \ pure-ftpd-common pure-ftpd/ftpwho-setuid boolean false pure-ftpd-common pure-ftpd/virtualchroot boolean false pure-ftpd-common pure-ftpd/standalone-or-inetd select standalone \ " | debconf-set-selections ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </source>


pure-ftpd als LDAP-Variante installieren:

 aptitude -R install pure-ftpd-{common,ldap} -y 

Sicherstellen, dass der inetd sich auch wirklich heraushält:

 sed -i '/STANDALONE_OR_INETD=/{s#inetd#standalone#p}' /etc/default/pure-ftpd-common
 update-inetd --comment-chars '#' --disable tftp

Den LDAP Bereich des pure-ftpd konfigurieren. Schreib dafür die folgenden Zeilen in die "/etc/pure-ftpd/db/ldap.conf":


<source lang="text"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LDAPServer localhost LDAPPort 389 LDAPBaseDN ou=people,ou=accounts,dc=delixs-schule,dc=de LDAPBindDN cn=admin,dc=delixs-schule,dc=de LDAPBindPW schule LDAPFilter (&(objectClass=posixAccount)(uid=\L)) LDAPHomeDir homeDirectory LDAPVersion 3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </source>

Kontrolle mittels:

 # egrep -v '^$|#' /etc/pure-ftpd/db/ldap.conf

Danach ist der Dienst wieder durchzustarten

 service pure-ftpd-ldap restart  


Test des FTP-Servers

Der Erfolg:

 # lsof -ni:21
 COMMAND    PID USER   FD   TYPE DEVICE SIZE NODE NAME
 pure-ftpd 4085 root    5u  IPv4  13005       TCP *:ftp (LISTEN)
 pure-ftpd 4085 root    6u  IPv6  13007       TCP *:ftp (LISTEN)

Da noch kein Benutzer angelegt ist, folgt nun mmustermann:

 delixs-useradd --user mmustermann --lastname Mustermann \
 --forename Martin --class TEACHER --pass geheim
 delixs-passwd --user mmustermann --pass geheim

Er wird jetzt im LDAP auch gefunden. Der filter (&(objectClass=posixAccount)(uid=mmustermann))" wird von pure-ftpd benutzt, daher der Test:

 ldapsearch -x -LLL -b "ou=people,ou=accounts,dc=delixs-schule,dc=de" "(&(objectClass=posixAccount)(uid=mmustermann))"


<source lang="text"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dn: uid=mmustermann,ou=people,ou=accounts,dc=delixs-schule,dc=de objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount objectClass: sambaSamAccount cn: mmustermann sn: mmustermann givenName: mmustermann uid: mmustermann uidNumber: 1000 gidNumber: 1001 homeDirectory: /home/teacher/mmustermann loginShell: /bin/bash gecos: Martin Mustermann,TEACHER sambaLogonTime: 0 sambaLogoffTime: 2147483647 sambaKickoffTime: 2147483647 sambaPwdCanChange: 0 displayName: mmustermann sambaSID: S-1-5-21-1217022432-528198597-2225102744-3000 sambaPrimaryGroupSID: S-1-5-21-1217022432-528198597-2225102744-3003 sambaLMPassword: 193130B61A7F81C0AAD3B435B51404EE sambaAcctFlags: [U] sambaNTPassword: C2AE1FE6E648846352453E816F2AEB93 sambaPwdLastSet: 1256425561 sambaPwdMustChange: 2120425561 shadowMax: 10000 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </source>


Ein ftp-login gelingt nicht auf localhost, sondern nur auf die IP Adresse von eth0 oder eth1!


Also musst du deine IP-Adresse herausfinden:

 # ifconfig eth0 | awk '/inet Adresse/{print $2}' | awk -F: '{print $2}'
 172.16.16.154

Einloggen mit ncftp ist jetzt erfolgreich:

 ncftp -ummustermann -pgeheim  172.16.16.154

fertig.


Das FTP Clientprogramm

Das Paket "ncftp" ist zur Dateiübertragung mittels (File Transfer Protocol) vorgesehen. Es erlaubt den Transfer von Dateien zu oder von entfernten Rechnern.

Installation:

 aptitude install ncftp

Einzurichten ist hier nichts.


Weblinks



zurück | Hauptseite

Thorsten Strusch 2009