Strona 1 z 2

[+] ProFTPd - ograniczenie praw dla grupy

: 08 czerwca 2013, 12:30
autor: radasx
Witam.
Od kilku dni jestem w posiadaniu vps z systemem Debian 6 x86, po zainstalowaniu odpowiednich paczek. Konkretnie proftpd chciałbym stworzyć dostęp do kilku katalogów tak aby użytkownicy widzieli tylko swoje katalogi i nic wyżej.
  1. Interesuje mnie nadać uprawnienia dla grupy użytkownika xxx do katalogu /home/xxx aby mógł posiadać prawa dostępu 777 dla swojego katalogu, a do powyższych nie miał jakiegokolwiek dostępu.

    Kopia ustawień:

    Kod: Zaznacz cały

    #
    # /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			"xxx"
    ServerType			standalone
    DeferWelcome			off
    
    
    MultilineRFC2228		on
    DefaultServer			on
    ShowSymlinks			on
    
    
    TimeoutNoTransfer		600
    TimeoutStalled			600
    TimeoutIdle			1200
    
    
    DisplayLogin                    welcome.msg
    DisplayChdir               	.message true
    ListOptions                	"-l"
    
    
    RootLogin			on
    
    
    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		off
    
    
    # Port 21 is the standard FTP port.
    Port				28
    
    
    # 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>
    
    
    
Proszę o pomoc.

: 09 czerwca 2013, 01:38
autor: starach
Jak chcesz żeby miał dostęp tylko do swojego katalogu domowego i podkatalogów to usuń # na początku DefaultRoot. http://www.proftpd.org/docs/directives/ ... tRoot.html

: 09 czerwca 2013, 08:57
autor: radasx
Problem tkwi w tym że to nie jest w katalogu domowym, jest 3 użytkowników którzy muszą mieć dostęp do folderu /home/xxx/ w którym znajdują się foldery 1, 2 oraz 3. i każdy czyli /home/xxx/1 /home/xxx/2 i /home/xxx/3.
Chciałbym aby każdy użytkownik widział tylko swój folder a do innych nie miał dostępu. Z tego co czytałem w sieci, było napisane że trzeba utworzyć wirtualne hosty? coś takiego. na maszynie mam zainstalowany Webmin, niestety w ustawieniach serwera ProFTPd nie wychodzi mi ustawianie...

: 09 czerwca 2013, 11:25
autor: Yampress
A to do czego jest?

Kod: Zaznacz cały

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

: 09 czerwca 2013, 11:37
autor: radasx
Próbowałem tego, ale nie zdawało egzaminu...

: 09 czerwca 2013, 11:54
autor: Yampress

: 09 czerwca 2013, 12:50
autor: radasx

Kod: Zaznacz cały

#
# /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            "xxx"
ServerType            standalone
DeferWelcome            off


MultilineRFC2228        on
DefaultServer            on
ShowSymlinks            on


TimeoutNoTransfer        600
TimeoutStalled            600
TimeoutIdle            1200


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


RootLogin            on


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        off


# Port 21 is the standard FTP port.
Port                28


# 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.
<Global>
<Directory /home/xxx/a/b>
<Limit CWD XCWD RNFR RNTO>
      AllowAll
    </Limit>


</Directory>
</Global>
do tego momentu działa, w momencie dodania grupy dostępu zapis/edycja/usuwanie, grupa może wejść katalogi wyżej i mieszać w serwerze. Mogę prosić o przykład edycji tego CFG tak aby było jak trzeba?

: 10 czerwca 2013, 20:30
autor: Rafal_F

: 10 czerwca 2013, 22:37
autor: radasx
Poradziłem sobie!
Podziękowania dla Panów.

: 11 czerwca 2013, 03:31
autor: Rafal_F
Wklej config/opisz rozwiązanie, może się komuś z podobnym problemem przyda.