www.ProFTPD.de
13. März 2007, 19:24:48 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: [1] 2   Nach unten
  Drucken  
Autor Thema: Zugriffsrechte  (Gelesen 601 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
maone
Gast
« am: 02. Februar 2006, 22:01:22 »

Hallo!

Bin neu bei Debian & ProFTPd...aber schon total begeistert davon :wink: !
Hab den Server mit SQL zum laufen gebracht...d.h die User-Konfig rennt schon über SQL!

Meine Frage jetzt...wie regel ich jetzt wer was wo machen darf???
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #1 am: 02. Februar 2006, 22:53:21 »

Wenn Du die ProFTPD-Userdaten (und damit auch die Home-Verzeichnisse) schon mit mySQL verwalten kannst,
dann regeln den Rest -mehr oder weniger- die Filesystem-Zugriffsrechte bzw. "Directory"-Direktiven in der .conf

Nicht mehr und nicht weniger. ;-)

mfg.
  VolGas
Gespeichert
maone
Gast
« Antwort #2 am: 02. Februar 2006, 23:36:02 »

Code:
#
# /etc/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#

ServerName                      "oxymoronsrv"
ServerType                      standalone
ServerAdmin                     support@oxymoron.at

ServerIdent                     on      "FTP Server ready."
DeferWelcome                    on
DefaultServer                   on

Port                            21
Umask                           022

#Dateien können überschrieben werden
<Directory />
        AllowOverwrite on
</Directory>

# Maximal Werte setzen
MaxClientsPerHost               5       "Nicht mehr als %m Verbindungen"
MaxClients                      30      "Leider sind schon %m Clients verbunden"
MaxLoginAttempts                3
MaxInstances                    30

# Restart erlauben
AllowStoreRestart               on
AllowRetrieveRestart            on

# Logging options
TransferLog /var/log/ftp/proftpd.xferlog

LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"

MultilineRFC2228                on
ShowSymlinks                    on

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
ListOptions                     "-l"

DenyFilter                      \*.*/

DefaultRoot                     ~

UseReverseDNS                   off
IdentLookups                    off

RequireValidShell               off

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd               off

# Uncomment this if you would use TLS module:
#TLSEngine                      on

# Uncomment this if you would use quota module:
#Quotas                         on

# Uncomment this if you would use ratio module:
#Ratios                         on

# Set the user and group that the server normally runs at.
User                            nobody
Group                           nogroup

# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
#DelayEngine                    off

<Directory ~>
        <Limit MKD RTFR RNTO DELE RMD STOR SITE_CHMOD>
                DenyAll
        </Limit>
</Directory>
<Directory ~/*>
        <Limit CWD MKD RTFR RNTO DELE RMD RETR STOR>
                AllowAll
        </Limit>
</Directory>

#
# SQL Zugangskontrolle
#

SQLAuthTypes                    Plaintext
SQLAuthenticate                 users*
SQLConnectInfo                  sys_ftpserver@localhost USER PASSWORD
SQLDefaultGID                   65534
SQLDefaultUID                   65534
SQLMinUserGID                   100
SQLMinUserUID                   500
SQLUserInfo                     users userid passwd uid gid homedir shell
SQLHomeDirOnDemand              on


Sind da irgendwelche Fehler drinnen? :?
Gespeichert
maone
ProFTPD
*
Offline Offline

Beiträge: 14


Profil anzeigen
« Antwort #3 am: 02. Februar 2006, 23:40:09 »

Was ich eigentlich machen möchte ist folgendes:

User hat Home-Verzeichnis...dort hab ich für ihn Ordner angelegt "www.domain.at"...er darf in seinem Home-Dir lesen aber sonst nix...kein Ordner erstellen...löschen...raufladen.
Im Ordner "www.domain.at" darf er alles machen!

Wie kann ich das lösen? :roll:
Gespeichert
stonki
Administrator
ProFTPD
*****
Offline Offline

Beiträge: 1853


15318939
Profil anzeigen WWW E-Mail
« Antwort #4 am: 03. Februar 2006, 04:36:14 »

http://www.proftpd.de/HowTo_Directory.43.0.html
Gespeichert

www.stonki.de:    the more I see, the more I know.......
www.proftpd.de:   Deutsche ProFTPD Dokumentation
www.krename.net:  Der Batch Renamer für KDE
www.kbarcode.net: Die Barcode Solution für KDE
maone
ProFTPD
*
Offline Offline

Beiträge: 14


Profil anzeigen
« Antwort #5 am: 03. Februar 2006, 09:25:04 »

Danke für den Link!
Aber irgendwie check ichs nicht!

Code:
<Directory ~/*/*>
        <Limit CWD MKD RTFR RNTO DELE RMD RETR STOR>
                AllowAll
        </Limit>
</Directory>


Das müsste doch reichen, oder?
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #6 am: 03. Februar 2006, 09:38:13 »

Ich denke, so könnte es funktionieren wie Du es möchtest:

Code:
<Directory ~>
<Limit WRITE>
DenyAll
</Limit>
</Directory>

<Directory ~/*>
<Limit WRITE>
AllowAll
</Limit>
</Directory>

Im Home-Verzeichnis selbst werden alle schreibende Zugriffe verboten,
aber in den darunter liegenden Verzeichnissen wird es wieder erlaubt.

mfg.
  VolGas
Gespeichert
maone
ProFTPD
*
Offline Offline

Beiträge: 14


Profil anzeigen
« Antwort #7 am: 03. Februar 2006, 09:45:52 »

Und wie kann ich dem User "Administrator" (über SQL gelöst) volle Zugriffsrechte ab seinem Home-Dir geben?

(Es hat erst funktioniert, als ich den Unterordner per chmod auf 777 gestellt habe)
Gespeichert
maone
ProFTPD
*
Offline Offline

Beiträge: 14


Profil anzeigen
« Antwort #8 am: 03. Februar 2006, 10:09:17 »

Warum geht das nicht?
Muss ich zuerst alle existierenden Ordner auf chmod 777 setzen?

Code:
<Directory ~>
        <Limit All>
                AllowUser administrator
        </Limit>
</Directory>

<Directory ~/*>
        <Limit CWD MKD RTFR RNTO DELE RMD RETR STOR>
                AllowAll
        </Limit>
</Directory>


Ist das ok?
Code:
Umask                           000
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #9 am: 03. Februar 2006, 10:40:37 »

Aua, aua!

Mit dem Adminstrator und den Zugriffsrechten ist das immer so eine Sache -
man sollte dies vorher gründlichst überdenken und planen!
So ganz kann dies nämlich nicht funktionieren, wie Du das möchtest,
dazu müßtest Du nämlich root-Rechte erhalten (NEVER-EVER per FTP!!!)

Man kann aber versuchen, zumindest etwas ähnliches zu erreichen,
indem man allen Usern die selbe Gruppe zuweist und umask auf 007 setzt.

Dann noch:
Code:
<Directory ~>
<Limit WRITE>
AllowUser administrator
DenyAll
</Limit>
</Directory>

<Directory ~/*>
<Limit WRITE>
AllowAll
</Limit>
</Directory>

Das hat allerdings den gravierenden Nachteil, daß jeder User in den Verzeichnissen
der anderen stöbern und wildern kann, sofern diese nicht selbst die Zugriffsrechte ändern.

Warum gehst Du nicht hin, und machst dies so:
* jedem User sein eigenes Verzeichnis
* alle User die selbe Gruppe
* umask=007
* home von administrator in das übergeordnete Verzeichnis

Der "administrator" hat zwar auch nur Zugriff, wenn die User das nicht ändern, aber immerhin...

Meine Meinung:
Am besten hält man die User- und Gruppenrechte so restriktiv wie möglich und
erledigt seinen Admin-Job über die Konsole z.B. mit mc!

mfg.
  VolGas
Gespeichert
maone
ProFTPD
*
Offline Offline

Beiträge: 14


Profil anzeigen
« Antwort #10 am: 03. Februar 2006, 10:51:08 »

Dann werde ich den Admin einfach weglassen!

Welcher Wert für Umask wäre am sinnvollsten?

Gibt es am Conf-File noch was auszusetzen?
Quota & Ratio möchte ich auch über SQL lösen!

Code:
#
# /etc/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#

ServerName                      "oxymoronsrv"
ServerType                      standalone
ServerAdmin                     support@oxymoron.at

ServerIdent                     on      "FTP Server ready."
DeferWelcome                    on
DefaultServer                   on

Port                            21
Umask                           000

#Dateien können überschrieben werden
<Directory />
        AllowOverwrite on
</Directory>

# Maximal Werte setzen
MaxClientsPerHost               5       "Nicht mehr als %m Verbindungen"
MaxClients                      30      "Leider sind schon %m Clients verbunden"
MaxLoginAttempts                3
MaxInstances                    30

# Restart erlauben
AllowStoreRestart               on
AllowRetrieveRestart            on

# Logging options
TransferLog /var/log/ftp/proftpd.xferlog

LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"

MultilineRFC2228                on
ShowSymlinks                    on

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
ListOptions                     "-l"

DenyFilter                      \*.*/

DefaultRoot                     ~

UseReverseDNS                   off
IdentLookups                    off

RequireValidShell               off

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd               off

# Uncomment this if you would use TLS module:
#TLSEngine                      on

# Uncomment this if you would use quota module:
#Quotas                         on

# Uncomment this if you would use ratio module:
#Ratios                         on

# Set the user and group that the server normally runs at.
User                            nobody
Group                           nogroup

# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
#DelayEngine                    off

<Directory ~/*>
        <Limit CWD MKD RTFR RNTO DELE RMD RETR STOR>
                AllowAll
        </Limit>
</Directory>

#
# SQL Zugangskontrolle
#

SQLAuthTypes                    Plaintext
SQLAuthenticate                 users*
SQLConnectInfo                  sys_ftpserver@localhost USER PASSWORD
SQLDefaultGID                   65534
SQLDefaultUID                   65534
SQLMinUserGID                   100
SQLMinUserUID                   500
SQLUserInfo                     users userid passwd uid gid homedir shell
SQLHomeDirOnDemand              on
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #11 am: 03. Februar 2006, 11:21:31 »

Ich gehe davon aus, daß die Gruppenrechte dazu da sind, daß der Apache ebenfalls auf die Dateien zugreifen kann.
Dann wäre "umask 037 027" die sicherste Einstellung.
(User darf alles, Gruppe: Dateien nur lesen, Verzeichnisse "öffnen" und lesen, sonst kein Zugriff)
Umask 000 ist wohl die denkbar schlechteste Einstellung.


Was mir sonst noch an der .conf aufgefallen ist:

* "AllowOverwrite on" braucht kein umgebendes "Directory"
* Sind die Limitierungen wirklich (noch) notwendig?
* Solange Deine User keine Shell brauchen, reicht "SQLUserInfo users userid passwd uid gid homedir NULL" völlig aus.
Das Datenfeld in der mySQL-Tabelle braucht dann nicht mehr gepflegt und kann auch weglassen werden.
Dies gilt alalog auch für "gid", wenn alle User in der selben Gruppe sind - das ist sicherer. SQLDefaultGID ist ja vorhanden.
* SQLHomeDirOnDemand könnte man -streng genommen- als Risiko einstufen, ist aber ok.

Einen Fehler konnte ich nicht entdecken. (was aber nicht unbedingt etwas bedeutet)

mfg.
  VolGas
Gespeichert
maone
ProFTPD
*
Offline Offline

Beiträge: 14


Profil anzeigen
« Antwort #12 am: 03. Februar 2006, 11:48:49 »

Welche Limitierungen meinst du?

Kann ich "Quota" und "Ratio" hier weglassen?
Wird ja eh über SQL realisiert!
Gespeichert
maone
ProFTPD
*
Offline Offline

Beiträge: 14


Profil anzeigen
« Antwort #13 am: 03. Februar 2006, 11:59:36 »

Auf welches chmod muss ich die bestehenden Ordner also "domain.at" bzw "www.domain.at" setzen?
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #14 am: 03. Februar 2006, 13:34:44 »

Mit Limitierungen meine ich den ganzen "<Directory ~/*>..." Block.

"Quota" und "Ratio" ist sowieso auskommentiert.

Meine Güte: Grundwissen und (selbst) Nachdenken!
chmod u=rwX,g=rX,o= /pfad/wohin/auch/immer

mfg.
  VolGas
Gespeichert
Seiten: [1] 2   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.065 Sekunden mit 16 Zugriffen.