Entwicklungsumgebung/Ftp

Aus Delixs
Zur Navigation springen Zur Suche springen


Diese Seite ist momentan eine Baustelle im Zustand: 1

Wird bearbeitet von: ThorstenStrusch
Hilfe zum Bearbeitungsstatus: Hilfe:Status eines Artikels


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