Problem z FTP

Gregor

Systems Admin...
Q's Expert
28 Listopad 2008
212
1
13
18
QNAP
TS-239 Pro II
Ethernet
1 GbE
No cóż, może tym razem się uda.
Problem tyczy 239PROII i FTP.

Na początek pytanie. Dlaczego aby się zalogować do FTP muszę podać zdalny katalog? Jak podam sam adres to nie wyświetlają mi się katalogi mimo, że mam do nich ustawione prawa. Kiedy podam zdalny katalog to pliki zawarte w tym katalogu są dostępne.

Poniżej logi z Total Commandera.



Opcja z podanym zdalnym katalogiem:

Kod:
Connect to: (01.10.2010 01:24:42)
hostname=host
username=xxx
startdir=/katalog
host=adresIP
220 NASFTPD Turbo station 2.x 1.3.2e Server (ProFTPD) [192.168.7.13]
USER xxx
331 Password required for xxx
PASS ***********
230 User xxx logged in
SYST
215 UNIX Type: L8
FEAT
550 FEAT: Operation not permitted
CLNT Total Commander (UTF-8)
500 CLNT not understood
OPTS UTF8 ON
451 Unable to accept OPTS UTF8
CWD /katalog
250 CWD command successful
Connect ok!
PWD
550 PWD: Permission denied
XPWD
550 XPWD: Permission denied
PWD
550 PWD: Permission denied
XPWD
550 XPWD: Permission denied
PWD
550 PWD: Permission denied
XPWD
550 XPWD: Permission denied
Pobierz katalog
TYPE A
200 Type set to A
PASV
227 Entering Passive Mode (adresIP,34,45).
LIST -la
150 Opening ASCII mode data connection for file list
Ściąganie
Czekam na serwer...
226 Transfer complete




Opcja bez podania zdalnego katalogu:

Kod:
Connect to: (01.10.2010 01:24:55)
hostname=host
username=xxx
startdir=
host=adresIP
220 NASFTPD Turbo station 2.x 1.3.2e Server (ProFTPD) [192.168.7.13]
USER xxx
331 Password required for xxx
PASS ***********
230 User xxx logged in
SYST
215 UNIX Type: L8
FEAT
550 FEAT: Operation not permitted
CLNT Total Commander (UTF-8)
500 CLNT not understood
OPTS UTF8 ON
451 Unable to accept OPTS UTF8
Connect ok!
PWD
550 PWD: Permission denied
XPWD
550 XPWD: Permission denied
PWD
550 PWD: Permission denied
XPWD
550 XPWD: Permission denied
PWD
550 PWD: Permission denied
XPWD
550 XPWD: Permission denied
Pobierz katalog
TYPE A
200 Type set to A
PASV
227 Entering Passive Mode (adresIP,34,50).
LIST -la
150 Opening ASCII mode data connection for file list
Ściąganie
Czekam na serwer...
226 Transfer complete
 
Witam

Może katalog nadrzędny (/share/HDA_DATA bez raid, /share/MD0_DATA z raid), w którym znajdują się katalogi widoczne dla użytkownika ma ustawione złe uprawnienia ? Albo może same katalogi mają nałożone prawa, które nie pozwalają ich widzieć użytkownikowi, ale pozwalają na wejście 'do środka' ?

Tylko w przypadku FTP jest taki kłopot, czy może objawia się on również przez udział sieciowy SMB (windows), udział NFS albo Web File Manager ?

ps: a próbowałeś innego klienta FTP niż Total Commander ?
 
Sytuacja taka ma miejsce tylko przy ftp. P sambie wszystko chodzi cacy. Próbowalem FileZilla, efekt taki sam, jak i również klasycznie przez przeglądarkę. Nic nie pomaga.

Katalogi nadrzędne są wlaścicielam admina i maja prawa 777. Nawet próbowałem otwierać wsyztskie porty, zmienialem wlaściciela itp. Bez rezultatu.

Najgorsze, że nie wiem czy to coś z softem qnapa, czy też ja dupa po prostu jestem. Nikt kto ma 239 się tu nie wypowiada no i nic nie wiem.

Dodam, że wcześniej miałem 109 i tam wszystko chodzilo bez problemów.
 
ja mam 259 i u mnie wszystko wygląda ok

Może to jest kłopot z acl-kami albo grupami.

Dla porównania poniżej wypisze jak u mnie wygląda config proftpd :

Kod:
[~] # cat /etc/config/proftpd.conf

ServerName              "ProFTPD"
ServerType              standalone
DefaultServer           on
RootLogin               on
Port                    21
MaxInstances            30
User                    guest
Group                   guest
DefaultRoot             /share
Umask                   000
ShowSymlinks            off
AllowOverwrite          on
TimesGMT                        off
UseReverseDNS           off
WtmpLog                 off
AllowStoreRestart       on
TransferLog             NONE
UseReverseDNS            off
IdentLookups             off
DisplayLogin            welcome.msg
UseEncoding     UTF-8 UTF-8
TLSEngine              off
TLSRequired            off
TLSRSACertificateFile   /etc/ssl/certs/myhost.crt
TLSRSACertificateKeyFile /etc/ssl/private/myhost.key
TLSCACertificateFile   /etc/ssl/certs/myrootca.crt
TLSOptions              NoCertRequest
TLSVerifyClient off
PassivePorts 55536 56559
MaxClientsPerUser       10
EnableUserWanIp          off
AllowForeignAddress     on
<Limit LOGIN>
        DenyGroup "guest"
        DenyUser "guest"
</Limit>
<Directory "/share/HDO_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDR_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDS_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDH_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDL_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDZ_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDC_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDU_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDX_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDQ_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDW_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDJ_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDP_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDN_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDA_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDF_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDD_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDT_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDB_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDE_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDG_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDY_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDV_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/external">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDK_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDM_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/HDI_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/MD0_DATA">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

<Directory "/share/Multimedia">
        <Limit RNFR>
                DenyGroup       "everyone"
                DenyUser        "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                DenyUser        "guest"
        </Limit>
        <Limit READ DIRS>
                Order           Deny, Allow
                AllowGroup      "everyone"
                AllowUser       "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                DenyUser        "guest"
        </Limit>
        <Limit ALL>
                Order           Deny, Allow
                AllowUser       "admin"
                AllowUser       "user2"
        </Limit>
</Directory>

<Directory "/share/Recordings">
        <Limit RNFR>
                DenyGroup       "everyone"
                DenyUser        "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                DenyUser        "guest"
        </Limit>
        <Limit READ DIRS>
                Order           Deny, Allow
                AllowGroup      "everyone"
                AllowUser       "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                DenyUser        "guest"
        </Limit>
        <Limit ALL>
                Order           Deny, Allow
                AllowUser       "admin"
                AllowUser       "user2"
        </Limit>
</Directory>

<Directory "/share/Web">
        <Limit RNFR>
                DenyGroup       "everyone"
                DenyUser        "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                DenyUser        "guest"
        </Limit>
        <Limit READ DIRS>
                Order           Deny, Allow
                AllowGroup      "everyone"
                AllowUser       "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                DenyUser        "guest"
        </Limit>
        <Limit ALL>
                Order           Deny, Allow
                AllowUser       "admin"
                AllowUser       "user2"
        </Limit>
</Directory>

<Directory "/share/Public">
        <Limit RNFR>
                DenyUser        "user1"
                AllowUser       "admin"
                AllowGroup      "everyone"
                AllowUser       "user2"
        </Limit>
        <Limit READ DIRS>
                Order           Deny, Allow
                AllowUser       "user1"
                AllowUser       "admin"
                AllowGroup      "everyone"
                AllowUser       "user2"
        </Limit>
        <Limit ALL>
                Order           Deny, Allow
                AllowUser       "admin"
                AllowGroup      "everyone"
                AllowUser       "user2"
        </Limit>
</Directory>

<Directory "/share/Download">
        <Limit RNFR>
                DenyGroup       "everyone"
                AllowUser       "admin"
                AllowUser       "user2"
                AllowUser       "user1"
                DenyUser        "guest"
        </Limit>
        <Limit READ DIRS>
                Order           Deny, Allow
                AllowGroup      "everyone"
                AllowUser       "admin"
                AllowUser       "user2"
                AllowUser       "user1"
                DenyUser        "guest"
        </Limit>
        <Limit ALL>
                Order           Deny, Allow
                AllowUser       "admin"
                AllowUser       "user2"
                AllowUser       "user1"
        </Limit>
</Directory>
                
<Directory "/share/NFS">
        <Limit ALL>
                DenyAll
        </Limit>
</Directory>

oraz uprawnienia do katalogów:

Kod:
[~] # ls -lh /share
lrwxrwxrwx    1 admin    administ       17 Oct  1 23:16 Download -> MD0_DATA/Download/
drwxrwxrwx    2 admin    administ     1.0k Sep 19  2005 HDA_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDB_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDC_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDD_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDE_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDF_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDG_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDH_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDI_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDJ_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDK_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDL_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDM_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDN_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDO_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDP_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDQ_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDR_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDS_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDT_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDU_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDV_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDW_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDX_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDY_DATA/
drwxrwxrwx    2 admin    administ     1.0k Dec  7  2005 HDZ_DATA/
drwxrwxrwx   18 admin    administ     4.0k Sep  2 22:20 MD0_DATA/
lrwxrwxrwx    1 admin    administ       19 Oct  1 23:16 Multimedia -> MD0_DATA/Multimedia/
lrwxrwxrwx    1 admin    administ       15 Oct  1 23:16 Public -> MD0_DATA/Public/
lrwxrwxrwx    1 admin    administ       19 Oct  1 23:16 Recordings -> MD0_DATA/Recordings/
lrwxrwxrwx    1 admin    administ       12 Oct  1 23:16 Web -> MD0_DATA/Web/
drwxrwxr-x   28 admin    administ     1.0k Feb 28  2006 external/

[~] ls -lh /share/MD_DATA
drwxrwxrwx   23 admin    administ     4.0k Oct  2 16:16 Download/
drwxrwxrwx    4 admin    administ     4.0k Jul  4 13:16 Multimedia/
drwxrwxrwx    3 admin    administ     4.0k Jun 30 01:29 Public/
drwxrwxrwx    3 admin    administ     4.0k Jul  4 13:31 Recordings/
drwxr-xr-x   10 admin    administ     4.0k Sep 30 20:51 Web/
drwx------    2 admin    administ    16.0k Jun 23 01:01 lost+found/

[~] # getfacl /share
# file: share
# owner: admin
# group: administrators
user::rwx
group::rwx
other::r-x

[~] # getfacl /share/MD0_DATA
# file: share/MD0_DATA
# owner: admin
# group: administrators
user::rwx
group::rwx
other::rwx

[~] # getfacl /share/MD0_DATA/*
# file: share/MD0_DATA/Download
# owner: admin
# group: administrators
user::rwx
group::rwx
other::rwx

# file: share/MD0_DATA/lost+found
# owner: admin
# group: administrators
user::rwx
group::---
other::---

# file: share/MD0_DATA/Multimedia
# owner: admin
# group: administrators
user::rwx
group::rwx
other::rwx

# file: share/MD0_DATA/Public
# owner: admin
# group: administrators
user::rwx
group::rwx
other::rwx

# file: share/MD0_DATA/Recordings
# owner: admin
# group: administrators
user::rwx
group::rwx
other::rwx

# file: share/MD0_DATA/Web
# owner: admin
# group: administrators
user::rwx
group::r-x
other::r-x

i plik grup:

Kod:
[~] # cat /etc/group 
administrators:x:0:admin,user2
everyone:x:100:admin
guest:x:65534:guest

Może to pomoże Ci znaleźć co jest nie tak.
 
OK. Sprawdzę i dam znać.

Rozumiem, że jeżeli user2 zaloguje się do ftp poprzez przeglądarkę to listują mu się np. katalogi download i multimedia?

Pewno tak bo user2 jest administratorem.

A zrób go zwyklym userem i zobacz czy wtedy mu się wylistuja te do których ma dostep
 
Zrobiłem zwykłego usera z ustawionymi następującymi uprawnieniami w webpanelu:

Download - tylko do odczytu
Multimedia - odczyt/zapis
Public, Web - brak ustawiony jakichkolwiek uprawnień
Recordings - Brak dostępu.

po zalogowaniu przez ftp widzi katalogi:

Kod:
Download
Multimedia
Public
Web

Wycinek pliku proftpd.conf :

Kod:
<Directory "/share/Multimedia">
        <Limit RNFR>
                DenyGroup       "everyone"
                DenyUser        "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                AllowUser       "user3"
                DenyUser        "guest"
        </Limit>
        <Limit READ DIRS>
                Order           Deny, Allow
                AllowGroup      "everyone"
                AllowUser       "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                AllowUser       "user3"
                DenyUser        "guest"
        </Limit>
        <Limit ALL>
                Order           Deny, Allow
                AllowUser       "admin"
                AllowUser       "user2"
                AllowUser       "user3"
        </Limit>
</Directory>

<Directory "/share/Recordings">
        <Limit RNFR>
                DenyGroup       "everyone"
                DenyUser        "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                DenyUser        "guest"
                DenyUser        "user3"
        </Limit>
        <Limit READ DIRS>
                Order           Deny, Allow
                AllowGroup      "everyone"
                AllowUser       "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                DenyUser        "guest"
                DenyUser        "user3"
        </Limit>
        <Limit ALL>
                Order           Deny, Allow
                AllowUser       "admin"
                AllowUser       "user2"
        </Limit>
</Directory>

<Directory "/share/Web">
        <Limit RNFR>
                DenyGroup       "everyone"
                DenyUser        "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                DenyUser        "guest"
        </Limit>
        <Limit READ DIRS>
                Order           Deny, Allow
                AllowGroup      "everyone"
                AllowUser       "user1"
                AllowUser       "admin"
                AllowUser       "user2"
                DenyUser        "guest"
        </Limit>
        <Limit ALL>
                Order           Deny, Allow
                AllowUser       "admin"
                AllowUser       "user2"
        </Limit>
</Directory>

<Directory "/share/Public">
        <Limit RNFR>
                DenyUser        "user1"
                AllowUser       "admin"
                AllowGroup      "everyone"
                AllowUser       "user2"
        </Limit>
        <Limit READ DIRS>
                Order           Deny, Allow
                AllowUser       "user1"
                AllowUser       "admin"
                AllowGroup      "everyone"
                AllowUser       "user2"
        </Limit>
        <Limit ALL>
                Order           Deny, Allow
                AllowUser       "admin"
                AllowGroup      "everyone"
                AllowUser       "user2"
        </Limit>
</Directory>

<Directory "/share/Download">
        <Limit RNFR>
                DenyGroup       "everyone"
                DenyUser        "user3"
                AllowUser       "admin"
                AllowUser       "user2"
                AllowUser       "user1"
                DenyUser        "guest"
        </Limit>
        <Limit READ DIRS>
                Order           Deny, Allow
                AllowGroup      "everyone"
                AllowUser       "user3"
                AllowUser       "admin"
                AllowUser       "user2"
                AllowUser       "user1"
                DenyUser        "guest"
        </Limit>
        <Limit ALL>
                Order           Deny, Allow
                AllowUser       "admin"
                AllowUser       "user2"
                AllowUser       "user1"
        </Limit>
</Directory>

zawartość /etc/group sie nie zmieniła a jeśli chodzi o /etc/passwd to wygląda następująco (dla tego usera):

Kod:
user3:x:502:100:Linux User,,,:/:/bin/sh