Entwicklungsumgebung/Ftp
Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben). |
FTP-Server
Installation von pure-ftpd
Voreinstellungen für den FTP-Server setzen:
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
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:
# egrep -v '^$|#' /etc/pure-ftpd/db/ldap.conf
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
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))"
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
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
- http://tuxclouds.org
- http://www.debian-administration.org/article/Setting_up_an_FTP_server_on_Debian