Üdv!
Egy CentOS6.5-ön próbálok egy usernek beállítani egy chroot mappát amibe fel tudna tölteni:
# override default of no subsystems
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
# Example of overriding settings on a per-user basis
#Match group sftpgroup
Match user tesztuser
X11Forwarding no
AllowTcpForwarding no
# ForceCommand internal-sftp
ChrootDirectory /var/www/vhosts/vhost1/sites/default/files/Akarmi
Milyen jogosultság kellene? Mit felejtek el? :(
sshd[22543]: fatal: bad ownership or modes for chroot directory component "/var/www/vhosts/vhost1/sites/"
Vagy hogyan tudnám megengedni neki a Drupal mappába a feltöltést (scp)?
--
G.
- 6202 megtekintés
Hozzászólások
Elég az sftp vagy szeretnél scp-t?
A ChrootDirectory-nak olyan könyvtárat kell megadni, amelyen a root:root van, tehát ide nem tud írni a tesztuser. Majd ez alatt a könyvtár alatt már lehetnek olyan könyvtárak, amelyeknek a tulajdonosa a tesztuser.
Ha van SELinux, akkor meg 'user_home_dir_t' fájl kontextus is kell a könyvtárra.
- A hozzászóláshoz be kell jelentkezni
Csak feltölteni szeretne tehát elég az sftp is.
Az az érdekes, hogy hiába állítom be bármelyik könyvtárat HOMEDir-nek a Drupal alatt mindig a " bad ownership or modes for chroot directory component "/var/www/vhosts/vhost1/sites/" " problémázik.
A sites: rwxrwxrwx root root
(SELinux nincs)
Ezzel működik, be tud lépni (a tesztuser az sftpgroup tagja):
Match group sftpgroup
# ForceCommand cvs server
X11Forwarding no
AllowTcpForwarding no
# ForceCommand internal-sftp
ChrootDirectory /var/www/vhosts/vhost1
Csak nem akarjuk, hogy minden mappához hozzáférjen. No meg csak azt lássa, ahova fel akar tölteni.
--
G.
- A hozzászóláshoz be kell jelentkezni
Ha jól emlékszem, a home-hoz csak a tulajdonosnak lehet hozzáférése, a groupnak és az othernek max. x joga lehet rajta.
Persze a tévedés joga fenntartva.
update: kipróbáltam. Ha a ChrootDirectory-ban megadott könyvtárra 0777 jogot teszek, akkor a tiéddel azonos hibaüzenetet kapok. Ha kicserélem 0711-re, akkor továbblép. (akkor sem működik, de már nem a jogokon problémázik - gondolom, kellene neki egy normális chrooted environment, nálam meg csak egy üres könyvtár volt ott a userem számára)
- A hozzászóláshoz be kell jelentkezni
Nálam korábban úgy működött a chroot home, hogy a jogai: "rwxr-xr-x root username"
Igaz akkor a /home alatt voltak. De itt nem akarja... :(
Állandóan a /var/www/vhosts/vhost1-be dobja be a usert. Akármit állítok a HomeDir-nek. :(
--
G.
- A hozzászóláshoz be kell jelentkezni
Csak egy user lesz, vagy várható több is?
- A hozzászóláshoz be kell jelentkezni
Egy user lesz.
(Bár egy másik már letezik. Azaz összesen kettő van.)
--
G.
- A hozzászóláshoz be kell jelentkezni
Asszem az a baja, hogy az egyik user CHROOTHOME-ja a másik CHROOTHOME-ja alatt van. :(
Ezt nem eszi meg. Végülis logikus.
--
G.
- A hozzászóláshoz be kell jelentkezni
Hogy lehetne bedobni a usert a kívánt könyvtárba? /var/www/vhosts/vhost1/sites/default/files/akarmi
Van ötlete valakinek?
--
G.
- A hozzászóláshoz be kell jelentkezni
Van a chroot alatt etc/passwd?
Csak találgatok, de hátha az hiányzik.
- A hozzászóláshoz be kell jelentkezni
A chroot könyvtár alatt nincs etc/passwd. Drupal könyvtárban minek is lenne.
Ezt hiányolná? Sose vettem még észre hogy az ssh/chroot hiányolná.
--
G.
- A hozzászóláshoz be kell jelentkezni
Valami rémlik a régmúltból, hogy a chroot környezetbe kell néhány file. Pl. library-k, konfig file-ok. De mondom, csak tipp, semmi konkrét info nincs mögötte.
update: most gép mellett vagyok, meg tudtam nézni.
A konfigban ez áll:
----------------------------------------------
Match Group sftp
ChrootDirectory /chroot
ForceCommand internal-sftp
AllowTcpForwarding no
----------------------------------------------
A /chroot ownere root:root, permission 0711.
A /chroot/home-ra ugyanez igaz.
A /chroot/home/enuserem tulajdonosa enuserem:enuserem, permission 0711
A lényeg, hogy a home könyvtár megegyezik a valódi home-mal, csak a gyökérkönyvtára nem a /, hanem a chrootolt könyvtár.
- A hozzászóláshoz be kell jelentkezni
Azt kell tudni, hogy a user a chrootba nem tud írni, mert root:root és 755 jog kell legyen rajta. Viszont ha van benne egy könyvtár, amelybe van joga írni, akkor oda tud. Tehát ChrootDirectory /var/www/vhosts/vhost1/sites/default/files, akkor ide fog belépni és látni fogja az akarmi könyvtárat. De kérdés, hogy erre files könyvtárra lehet-e alkalmazni a fennti jogot.
A ForceCommand parancs is kell, ha azt szeretnéd, hogy csak a sftp-t tudja használni.
- A hozzászóláshoz be kell jelentkezni
http://openbsd.maroufi.net/sshchroot.shtml - igaz, nemet, de nem irodalmi szintu:)
Amugy miert nem siman FTP(s) es annak mondod meg, hogy Defaultroot?
- A hozzászóláshoz be kell jelentkezni
Mármint ftps-re gondolsz pl. vfstpd-vel?
--
G.
- A hozzászóláshoz be kell jelentkezni
Mostanában szaladtam rá erre én is, ha jól emlékszem a teljes útvonalon egy könyvtáron se lehet 755-nél több jog. Ha ezt macerás megoldani, akkor csinálj egy másik chroot könyvtárat és bind mount-old rá az Akármire.
- A hozzászóláshoz be kell jelentkezni
Nekem 0755-tel nem működött, csak ha 0711-t kapott. (lehet persze, hogy merő véletlen volt)
- A hozzászóláshoz be kell jelentkezni
Lehet. Arra akartam csak felhívni a figyelmet, hogy ez az egész elérési útra vonatkozik.
- A hozzászóláshoz be kell jelentkezni
ezt hogyan kellene? bind mount. ez a kulcsszó(?) :)
--
G.
- A hozzászóláshoz be kell jelentkezni
/user/home/konyvtar/akarmi /var/www/vhosts/vhost1/sites/default/files/akarmi none rw,noexec,nosuid,nodev,bind 0 0
De ezen mountok számát nem tudod a végtelenségig növelni.
Ebben az esetben a ChrootDirectory a /user/home/konytar lesz.
- A hozzászóláshoz be kell jelentkezni
-
- A hozzászóláshoz be kell jelentkezni