ProFTPd probléma

Fórumok

Beloginol a felhasználó a saját mappájába, de amikor csinálok ott egy fájlt, akkor azt nem a /home/user -be teszi, hanem a gyökérbe (/).

Hogy lehet megoldani hogy a saját mappájába tegye?

Hozzászólások

DefaultRoot ~ !user1 #kivetel user1 stb..
DefaultChdir /home/~

Ha adott usernek masik defaultroot-ot akarsz akkor azt kulon csoportba teve eszi csak meg, mert group-ot lehet csak megadni:
DefaultRoot [ directory [group-expression]]

ill. defaultchdir csak a kezdo konyvtarat adja meg, nem chroot-ol.
--
Don't Panic if you see me laughing,
that's not a bug, just a feature.

config reszletet tudsz mutatni, akkor talan gyorsabben lehetne?

--
Don't Panic if you see me laughing,
that's not a bug, just a feature.

Hali,
/etc/proftpd/proftpd.conf

DefaultRoot ~
igy a beallitott sajat mappajaba lep fel az ftp.

udv

# 4ee07848d68ff6b26ac9d518c96a7dda169954d5 #
http://err0rs.info /*IT & Much more */

"saját mappájába lép fel, de a fájlt nem a saját mappájába hozza létre, hanem a gyökérben (/)."
Tehát azt mondod, hogy egy parancssori FTP kliensben a pwd a felhasználó home könyvtárát mutatja, az ezután kiadott put fileneve hatására pedig a rootban jön létre a file? Vagy ugyanezt teszi put fileneve /home/felhasznalo/fileneve formában is? Nézd meg, hogy mit hajt végre (ftp -d vagy a debug parancs).

"alap config"
"Home: Ubuntu 8.04 LTS
Home2: Debian Lenny"

Mihez képest alap? A proftpd által adotthoz, a Debianéhoz vagy az Ubuntuéhoz képest? Tényleg jó lenne, ha disztibúció, verziószám, erre vonatkozó konfigrészlet, proftpd log, FTP sessionlog a rendelkezésünkre állna. Sokkal rövidebb idő megoldódna a probléma.

"Debianom van. :)"
Rendben, ezt akkor már tudjuk, de a többi kérdésre nem válaszoltál. Főként konfigot és logot nem láttunk még. De hogy ezzel se kelljen sokat foglalkoznod, az alábbi scriptbe összesűrítettem, amire kíváncsi lettem volna.

Az alábbit másold be egy file-ba, módosítsd a felhasználó nevét, home könyvtárát, az ideiglenes file és könyvtár nevét (U=, H=, T=, S=), tedd futtathatóvá (chmod +x ftptest.sh), majd futtasd le. A kimenetét pedig másold be ide, vagy tedd fel pl. a pastebinre.
ftptest.sh:


#!/bin/bash

U="testuser"
H="/home/testuser"
T="testfile"
S="innen"

cd
sudo rm "$T" "/$T"
mkdir -p "$S"
cd "$S"
echo "teszt" >"$T"

ftp -d localhost 2>/dev/null <<VEGE
$U
pwd
cd "$H"
pwd
lcd "$H/$S"
! ls -l "$H/$T" "/$T" 2>/dev/null ; echo
put "$T"
ls "$H/$T"
! ls -l "$H/$T" "/$T" 2>/dev/null ; echo
cd /
pwd
put "$T"
ls "/$T"
! ls -l "$H/$T" "/$T" 2>/dev/null ; echo
quit
VEGE

echo
sudo tail -n 5 /var/log/proftpd/xferlog
echo
sudo egrep -v '^#|^$' /etc/proftpd/proftpd.conf
echo
/usr/sbin/proftpd -v
ls -ld /

Mi a felhasználó home könyvtára? A /etc/passwd-ben meg tudod nézni.

"és hol találom meg? [/] gyökérben..."
Remélem, hogy nem egy fatális félreértés van részedről, mely szerint a rendszeren létrehozol egy file-t a home (/home/xxx) könyvtárban, és ezt FTP-n keresztül a proftpd DefaultRoot ~ beállítása mellett értelmezed a valós "/"-ként. A filerendszeren is tényleg így látod?

touch /home/xxx/Holvan ; ls -l /home/xxx/Holvan /Holvan