Entwicklungsumgebung/Ftp: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(Setting_up_an_FTP_server)
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
__NOTOC__
__NOTOC__
{{Uberarbeiten}}
{{EditStatus|1|ThorstenStrusch}}  


== ProFTPd oder VsFTPd ==


* '''Vsftpd oder alternativ Proftpd unter Debian:''' http://www.tim-bormann.de/tutorial-installation-debian-etch-server/ und dort im unteren Drittel.
== 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 


== FTP-Server ==


   aptitude install proftpd proftpd-ldap
=== 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 FTP Clientprogramm ==


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


Installation:
Installation:


   aptitude install ftp
   aptitude install ncftp


Einzurichten ist hier nichts.
Einzurichten ist hier nichts.
Zeile 28: Zeile 141:
== Weblinks ==
== Weblinks ==


* http://www.proftpd.org
* http://tuxclouds.org
* http://tuxclouds.org
* http://vsftpd.beasts.org
* http://www.debian-administration.org/article/Setting_up_an_FTP_server_on_Debian
* http://www.debian-administration.org/article/Setting_up_an_FTP_server_on_Debian


Zeile 36: Zeile 147:
----
----
<div align="right">[[Installation:Entwicklungsumgebung|zurück]] | [[Hauptseite]]</div>
<div align="right">[[Installation:Entwicklungsumgebung|zurück]] | [[Hauptseite]]</div>
Thorsten Strusch 2009
[[Kategorie:DebianSqueeze]]

Aktuelle Version vom 28. März 2011, 19:30 Uhr


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