logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 16-03-2012 08:58:32

Luke
Membre
Lieu : Sur ma chaise
Distrib. : Squeeze 6.0.4
Noyau : 2.6.32-5-amd64
(G)UI : Gnome
Inscription : 04-03-2012

Problème ProFTPD et chmod ...

Bonjour à tous,

voilà j'ai un petit problème de chmod donc de droit avec mon client FTP.

J'ai trois users, stream (celui en rapport avec mon siteweb),test1 et test2. je les aient ajouter grâce à la commande "adduser"

pour ces deux users "test1,test2", j'ai créer des utilisateurs virtuels dans proftpd pour qu'ils puissent accéder au site web aussi,avec les même droits, j'ai donc fait :

ftpasswd --passwd --name=test1 --uid=80 --gid=80 --home=/home/stream/www/script/downloads --shell=/bin/false


de même avec test2 mais avec comme chemin le répertoire racine du site,donc www.

ensuite j'ai éditer mon shell pour ajouter " /bin/false " afin qu'ils puissent utiliser le shell ...
j'ai aussi éditer mon proftpd.conf pour ajouter cette ligne : AuthUserFile    /etc/ftpd.passwd

je restart proftpd, tout va bien, tous les users peuvent se connecter au ftp et tombent sur un chemin différent, jusque là nickel ...
Mais dès que je créer un fichier/dossier ou je télécharge un fichier sur mon site web, je n'ai plus aucuns droits, que ce soit pour l'edition,renommage,déplacements etc .. et cela avec tous mes users, alors que l'user stream est censé est le propriétaire du dossier www dans son intégralité.

J'ai vérifier les permissions de toute l'arborescence et tout est en "stream:stream", j'avoue en pas trop comprendre ...

Merci pour votre aide smile

Hors ligne

#2 16-03-2012 18:30:54

Luke
Membre
Lieu : Sur ma chaise
Distrib. : Squeeze 6.0.4
Noyau : 2.6.32-5-amd64
(G)UI : Gnome
Inscription : 04-03-2012

Re : Problème ProFTPD et chmod ...

Re,

j'ai un peu avancer ... j'avais mal configurer mes uid et gid donc ça ne pouvait pas aller, donc là tout fonctionne au poil mise à par le script torrentflux (je sais pas si c tabou ici mais je tente quand même...), des qu'il télécharge un fichier il met cash les droits www-data:www-data, donc du coup je ne peux plus rien faire via ftp ... Auriez vous une solution pour que torrentflux ne modifie plus les permissions ? peut être faut il aussi que je recréer une discussion ?

Hors ligne

#3 16-03-2012 18:48:13

zoroastre74
Membre
Distrib. : Debian Wheezy
Noyau : Linux 3.2
(G)UI : Awesome wm v3.4.13 (Octopus)
Inscription : 28-08-2010

Re : Problème ProFTPD et chmod ...

Yep!

ouép, j'avais vu ton problème au taff cet aprés-midi, et effectivement, tes uid et gid sont pas bon du tout.
Géneralement, le premier utilisateur du sytème obtient un uid de 1000 (1001, 1002, etc). C'est mieux de partir sur cette base.

il met cash les droits www-data:www-data


Normal, les répertoires et fichiers deviennent la propriété du groupe www-data.

Il faudrait voir comment tu as paramétré ton serveur ftp, mais normalement tu devrais avoir un accés complet.
Regardes du côté de umask dans tes fichiers de configuration de tes serveur web et ftp
http://debian-facile.org/doc:programmation:bash:umask
Ils devraient être à umask 022

Il faudrait aussi que tu te documentes un peu plus sur proftpd. Normalement, un certain nombre de règle doivent être écrite afin de gérer les chemins relatifs.

<Directory /home/ftphome/*>
<Limit WRITE STOR CHMOD>
DenyAll
</Limit>
</Directory>

<Directory /home/ftphome/upload/*>
<Limit DELE RMD>
DenyAll
</Limit>
<Limit WRITE STOR>
AllowAll
</Limit>
</Directory>


Les commandes ne sont pas trop nombreuses dans mon cas, j'utilise un base sql pour gérer mes utilisateurs et droits wink
Je vais essayer de retrouver une de mes anciènnes config...

@+

Zoroastre.

Dernière modification par zoroastre74 (16-03-2012 19:02:41)

Hors ligne

#4 16-03-2012 19:18:50

Luke
Membre
Lieu : Sur ma chaise
Distrib. : Squeeze 6.0.4
Noyau : 2.6.32-5-amd64
(G)UI : Gnome
Inscription : 04-03-2012

Re : Problème ProFTPD et chmod ...

Merci wink j’étais justement entrain d'essayer de comprendre cette partie directory dans proftpd smile pour essayer d'y faire quelque chose, parce que je viens aussi de regarder du coté apache,et il est bien en www-data et si je le change ya php aussi qui délire,et je pense bind & Co

Je vais donc regarde de plus près ce que j'ai et aussi cque tu viens de me donner smile et voir si ya moyen de m'en sortir ... sinon va falloir que je voie du coté d'apache, j'ai peur ^^

Dernière modification par Luke (16-03-2012 19:19:25)

Hors ligne

#5 16-03-2012 19:29:08

zoroastre74
Membre
Distrib. : Debian Wheezy
Noyau : Linux 3.2
(G)UI : Awesome wm v3.4.13 (Octopus)
Inscription : 28-08-2010

Re : Problème ProFTPD et chmod ...

Yep!

Je pense sincérement que c'est un problème de config proftpd.
Si ton serveur apache est ok, il n'y a aucune raison qu'il interfère avec ton serveur ftp. Il suffit de dire au système que le serveur ftp, piloté par machin ou truc, a tel niveau d'autorisation.

Tu peux poster ton proftpd.conf si tu veux et le repertoire que tu veux piloter (/var/www ???)

@+

Zoroastre.

Hors ligne

#6 17-03-2012 07:41:17

Luke
Membre
Lieu : Sur ma chaise
Distrib. : Squeeze 6.0.4
Noyau : 2.6.32-5-amd64
(G)UI : Gnome
Inscription : 04-03-2012

Re : Problème ProFTPD et chmod ...

Bonjour,

bon j'ai un peu de mal alors je vous met mon proftpd.conf

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

# Includes DSO modules
Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                         off
# If set on you can experience a longer connection delay in many cases.
IdentLookups                    off

ServerName                      "Debian"
ServerType                      standalone
DeferWelcome                    off

MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    off

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayChdir                    .message true
ListOptions                     "-l"

DenyFilter                      \*.*/

# Use this to jail all users in their homes
 DefaultRoot                    ~

# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
# RequireValidShell             on

# Port 21 is the standard FTP port.
Port                            21

# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
# PassivePorts                  49152 65534

# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
# MasqueradeAddress             1.2.3.4

# This is useful for masquerading address with dynamic IPs:
# refresh any configured MasqueradeAddress directives every 8 hours
<IfModule mod_dynmasq.c>
# DynMasqRefresh 28800
</IfModule>

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances                    30

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

# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask                           022  022
# Normally, we want files to be overwriteable.
AllowOverwrite                  on

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

# This is required to use both PAM-based authentication and local passwords
# AuthOrder                     mod_auth_pam.c* mod_auth_unix.c

# Be warned: use of this directive impacts CPU average load!
# Uncomment this if you like to see progress and transfer rate with ftpwho
# in downloads. That is not needed for uploads rates.
#
# UseSendFile                   off

TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>

<IfModule mod_ratio.c>
Ratios off
</IfModule>


# 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.
<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine        off
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

#
# Alternative authentication frameworks
#
#Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf

#
# This is used for FTPS connections
#
#Include /etc/proftpd/tls.conf

#
# Useful to keep VirtualHost/VirtualRoot directives separated
#
#Include /etc/proftpd/virtuals.con

# A basic anonymous configuration, no upload directories.

# <Anonymous ~ftp>
#   User                                ftp
#   Group                               nogroup
#   # We want clients to be able to login with "anonymous" as well as "ftp"
#   UserAlias                   anonymous ftp
#   # Cosmetic changes, all files belongs to ftp user
#   DirFakeUser on ftp
#   DirFakeGroup on ftp
#
#   RequireValidShell           off
#
#   # Limit the maximum number of anonymous logins
#   MaxClients                  10
#
#   # We want 'welcome.msg' displayed at login, and '.message' displayed
#   # in each newly chdired directory.
#   DisplayLogin                        welcome.msg
#   DisplayChdir                .message
#
#   # Limit WRITE everywhere in the anonymous chroot
#   <Directory *>
#     <Limit WRITE>
#       DenyAll
#     </Limit>
#   </Directory>
#
#   # Uncomment this if you're brave.
#   # <Directory incoming>
#   #   # Umask 022 is a good standard umask to prevent new files and dirs
#   #   # (second parm) from being group and world writable.
#   #   Umask                           022  022
#   #            <Limit READ WRITE>
#   #            DenyAll
#   #            </Limit>
#   #            <Limit STOR>
#   #            AllowAll
#   #            </Limit>
#   # </Directory>
#
# </Anonymous>

    <Directory /home/stream/www/*>
    AllowOverwrite  on
    AllowStoreRestart on
    UserOwner test1
    GroupOwner stream
    Umask 002 002
    <Limit DEL DELE RNFR RNTO XRMD CHMOD RMD LOGIN MKDIR MKD>
    Order Allow,Deny
    AllowGroup stream
    DenyAll
    </Limit>
    </Directory>

# reprise DL et UP
AllowStoreRestart On
AllowRetrieveRestart On


AuthUserFile    /etc/ftpd.passwd


en sachant que j'essais d'avoir tous les droits possible pour le moment ...

Dernière modification par Luke (17-03-2012 07:42:16)

Hors ligne

#7 17-03-2012 08:44:37

zoroastre74
Membre
Distrib. : Debian Wheezy
Noyau : Linux 3.2
(G)UI : Awesome wm v3.4.13 (Octopus)
Inscription : 28-08-2010

Re : Problème ProFTPD et chmod ...

Yep!

Reprennons l'ensemble :

<Directory /home/stream/www/*>
    AllowOverwrite  on
    AllowStoreRestart on
    UserOwner test1
    GroupOwner stream
    Umask 002 002
    <Limit DEL DELE RNFR RNTO XRMD CHMOD RMD LOGIN MKDIR MKD>
    Order Allow,Deny
    AllowGroup stream
    DenyAll
    </Limit>
    </Directory>


Dans la configuration des limites, tu mets un DenyAll. Ce qui sous entend que toutes les limites sont refusées et cela vient shunter le Order Allow,Deny.
(LIMIT est à considerer comme un tableau de variable, ce n'est pas une "limite" à proprement parler)

Commence avec une configuration plus simple comme dans l'exemple anonymous ou celui que je t'ai donné :

<Directory /home/stream/www/*>
    UserOwner test1
    GroupOwner stream
    <Limit DEL DELE RNFR RNTO XRMD CHMOD RMD LOGIN MKDIR MKD>
    AllowAll
    </Limit>
</Directory>


Petit conseil, c'est plus propre et plus lisible de séparer les limites autorisées ou pas.

<Directory /home/ftphome/upload/*>
<Limit DELE RMD>
DenyAll
</Limit>
<Limit WRITE STOR>
AllowAll
</Limit>
</Directory>


Le repertoire upload est autorisé en écriture et reprise d'upload, mon non en suppression de fichier et repertoire.

Ce n'est pas évident à comprendre au début, et il faut un peu de pratique.

J'ai retrouvé une de mes anciennes config,

# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName      "Ftp-Guilde"
ServerType      standalone
DefaultServer     on

# Allow FTP resuming.
# Remember to set to off if you have an incoming ftp for upload.
AllowStoreRestart   on
AllowRetrieveRestart    on

# Port 21 is the standard FTP port.
Port        21
PassivePorts      50000 50005

# options sup
RootLogin off
RequireValidShell Off
AccessGrantMsg "BIENVENUE SUR LE SERVEUR FTP-GUILDE"
DeferWelcome On
MaxLoginAttempts 3

SystemLog     /home/ftp/admin/logs/proftpd.log
TransferLog     /home/ftp/admin/logs/xferlog

MaxClientsPerHost 3
#TransferRate RETR 26
#TransferRate APPE,STOR 500

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask       022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances      25

# Set the user and group under which the server will run.
User        nobody
Group       nogroup

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~

# Normally, we want files to be overwriteable.
<Directory />
  AllowOverwrite    on
</Directory>

# Needed for NIS.

PersistentPasswd              off

# Default root can be used to put users in a chroot environment.
# As an example if you have a user foo and you want to put foo in /home/foo
# chroot environment you would do this:
#
# DefaultRoot /home/foo foo

# <Limit MKD RNFR RNTO DELE RMD STOR CHMOD SITE_CHMOD SITE XCUP WRITE XRMD XPWD>
#    DenyAll
# </Limit>
# Bon moi j'en ai mis beaucoup pour l'exemple, je vais juste en expliquer certaines :
#  MKD : cration de rpertoire
#  RNFR : (rename from) empche de pouvoir renommer
#  RNTO : (rename to) c'est la suite de RNFR en fait, donc si RNFR est interdit, ce n'est pas util de le mettre, mais bon
#  DELE : suppression de fichiers
#  STOR : criture de fichiers depuis un client vers notre serveur proftpd
#  CHMOD : changement de permission sur les fichiers (et rpertoires)
#  RMD : suppression de rpertoire
# Il est aussi possible d'utiliser des mots clefs comme READ et WRITE qui englobent plusieurs commandes,
#  et vont limiter l'acces en lecture et en ecriture.

DefaultRoot /home/ftp

<Anonymous /home/ftp>
User        guilde-ftp
Group       guilde-ftp
# MaxClients      20

TransferRate RETR 26
TransferRate APPE,STOR 200

AnonRequirePassword on
MaxClients 20 "serveur complet"


<Directory /home/ftp/*>
<Limit WRITE STOR CHMOD>
DenyAll
</Limit>
</Directory>

<Directory /home/ftp/admin/>
<Limit ALL>
DenyAll
</Limit>
</Directory>

<Directory /home/ftp/incoming/*>
<Limit DELE RMD>
DenyAll
</Limit>
<Limit WRITE STOR>
AllowAll
</Limit>
</Directory>

</Anonymous>


Ce n'est qu'a titre d'exemple (trés trés vieille config), mais dans le principe, il est préferable de mettre un maximum de règles communes dans la configuration génerale et ensuite, de créer les spécifications par utilisateurs/repertoires.

@+

Zoroastre.

Hors ligne

#8 17-03-2012 14:02:49

Luke
Membre
Lieu : Sur ma chaise
Distrib. : Squeeze 6.0.4
Noyau : 2.6.32-5-amd64
(G)UI : Gnome
Inscription : 04-03-2012

Re : Problème ProFTPD et chmod ...

Powa,merci beaucoup pour ton fichier de configuration smile avec cela si je ne m'en sors pas c'est abuser ...

Je vais te suivre et aller d'abord bien me documenter sur proftpd . Bon aprem smile jvous/te tiens au jus ...

Hors ligne

#9 20-03-2012 21:48:59

mecanotox
Membre
Distrib. : Ubuntu 16.04 LTS
Noyau : 4.15.0-15-generic
(G)UI : Unity 7
Inscription : 04-06-2008

Re : Problème ProFTPD et chmod ...

sa me rassure, je ne suis pas le seul a me casser les dents sur la conf de proftpd ^^. Je vais suivre le topic avec attention.

Hors ligne

#10 29-08-2013 09:30:06

vpndiscount
Membre
Distrib. : Debian 7 64Bit
Inscription : 29-08-2013
Site Web

Re : Problème ProFTPD et chmod ...

j'ai un gros probleme je vient d'installer proftpd et j'ai un utilisateur vpndiscount

je souhaite qu'il puisse cree et modifier des fichiers et renomer et uploader et telecharger et cree aussi des dossiers dans son repertoire.... comment faire svp aidez moi je galere avec sa

Hors ligne

#11 29-08-2013 11:37:08

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Problème ProFTPD et chmod ...

Bonjour vpndiscount

Un problème=un sujet smile

D'autant plus que celui ci est résolu depuis 1 an et demi hmm

Je t'invite donc à ouvrir une nouvelle discussion afin que nous t'aidions plus efficacement wink

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

Pied de page des forums