www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: nicki am 24. Juli 2003, 19:05:03



Titel: keine uploads mit proftpd und mysql-authent. möglich
Beitrag von: nicki am 24. Juli 2003, 19:05:03
hallo zusammen,

ich werde aus der doku noch nicht so recht schlau. daher meine frage:
kann ich proftpd so konfiguerieren, dass ich meine user-authentifizierung über eine mysql-db erledige und gleichzeitig die so eingeloggten user (also nix anonymous...) weder dateien hochladen, noch löschen, umbenennen oder sonstige änderungs-spielchen machen können - lediglich sehen und runterladen sollen sie die dateien können?

ein kleiner tipp, ob (evtl wie...) das geht wäre spitze :-)

gruß, nicki


Titel: keine uploads mit proftpd und mysql-authent. möglich
Beitrag von: guden am 24. Juli 2003, 19:39:51
yep geht ...einfach die rechte begrenzen bei dem verzeichniss


Titel: keine uploads mit proftpd und mysql-authent. möglich
Beitrag von: Wörsty am 24. Juli 2003, 21:11:07
Beispiel:
Gegeben sei die Verzeichnisstruktur:
/www/vhosts/ftp/
/www/vhosts/ftp/anon
/www/vhosts/ftp/uploads
proftpd.conf
Code:
ServerType standalone
RootLogin Off
UseReverseDNS Off
PersistentPasswd Off
RequireValidShell Off
User unixusername  # anpassen !
Group unixgroupname # anpassen !
DefaultChdir ~
DefaultRoot ~
DefaultTransferMode binary
IdentLookups Off
Port 21
ServerAdmin emailadresse # anpassen !
ServerIdent On "FTP-Server"
ServerName "FTP-Server"
Umask 0111 0000
SQLAuthenticate users* groups*
SQLAuthTypes Backend   Empty
SQLConnectInfo ftp@localhost:3306 ftp ftp PERSESSION
SQLHomedirOnDemand On
SQLUserInfo benutzer loginname passwort NULL NULL concat('/www/vhosts/ftp',verzeichnis) NULL # anpassen !
SQLGroupInfo gruppen name ID mitglieder
<Directory ~>
   <Limit WRITE SITE_CHMOD DELE>
      DenyAll
   </Limit>
   <Limit READ DIRS>
      IgnoreHidden   On
      AllowAll
   </Limit>
</Directory>
<Directory ~/uploads>
   <Limit SITE_CHMOD DELE>
      DenyAll
   </Limit>
   <Limit WRITE READ DIRS>
      AllowAll
      DenyAll
   </Limit>
</Directory>

Datenbank:
Code:
[root@knowledgebase proftpd]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6235 to server version: 3.23.56

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE ftp;
mysql> use ftp;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------+
| Tables_in_ftp |
+---------------+
| benutzer      |
| gruppen       |
| transfer      |
+---------------+
3 rows in set (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON ftp.* TO 'ftp'@'%' IDENTIFIED BY 'ftp' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> DROP TABLE IF EXISTS benutzer;
mysql> CREATE TABLE `benutzer` (
  `ID` int(11) unsigned NOT NULL default '0',
  `Beschreibung` varchar(30) default NULL,
  `loginname` varchar(16) NOT NULL default '',
  `passwort` varchar(16) NOT NULL default '',
  `Shell` varchar(255) default NULL,
  `verzeichnis` varchar(255) NOT NULL default '/',
  `Anmerkung` text,
  PRIMARY KEY  (`loginname`,`ID`)
) TYPE=MyISAM COMMENT='FTP-Benutzer für den FTP-Server';
mysql> INSERT INTO benutzer (ID, Beschreibung, loginname, passwort, Shell, verzeichnis, Anmerkung) VALUES("0", "Admin", "ftpadmin", "2009d4fa00e0ef29", NULL, "/", NULL);
mysql> INSERT INTO benutzer (ID, Beschreibung, loginname, passwort, Shell, verzeichnis, Anmerkung) VALUES("1", "Anonymous", "anonymous", "", NULL, "/anon", NULL);
mysql> DROP TABLE IF EXISTS gruppen;
mysql> CREATE TABLE `gruppen` (
  `ID` tinyint(3) unsigned NOT NULL auto_increment,
  `name` varchar(16) NOT NULL default '',
  `mitglieder` text,
  UNIQUE KEY `ID` (`ID`,`name`)
) TYPE=MyISAM COMMENT='FTP-Benutzergruppen für den FTP-Server';
mysql> INSERT INTO gruppen (ID, name, mitglieder) VALUES("3", "administratoren", "ftpadmin");
mysql> DROP TABLE IF EXISTS transfer;
mysql> CREATE TABLE `transfer` (
  `username` varchar(60) NOT NULL default '',
  `filename` varchar(255) default NULL,
  `size` bigint(20) default NULL,
  `host` varchar(255) default NULL,
  `ip` varchar(16) NOT NULL default '',
  `aktion` varchar(20) NOT NULL default '',
  `dauer` varchar(10) default NULL,
  `zeit_lokal` datetime default NULL,
  `ui` bigint(20) NOT NULL auto_increment,
  PRIMARY KEY  (`ui`)
) TYPE=MyISAM COMMENT='FTP-Befehlshistory für den Server ';
mysql>

Alles klar?


Titel: keine uploads mit proftpd und mysql-authent. möglich
Beitrag von: Anonymous am 25. Juli 2003, 12:20:20
ui :-)

DANKE erstmal!

obs klar ist, wird sich zeigen, werds aber auf jeden fall die tage gleich ausprobieren...

gruß, nicki :-)