|
ftp a pliki użytkownika www-data
raczkowski1 - 01-12-2009 13:39
Witam. Szukam cały dzień i żadnych konkretów. Mam serwer apache2 i vsftp, niby wszystko działa, ale jak tworze foldery z poziomy skryptów php to stają się one własnością użytkownika www-data i przez ftp nie mogę nić z nimi zrobić. Teraz pytanie jak skonfigurować vsftp, żeby logujący się użytkownik miał dostęp pełny do wszystkich plików bez względu na to czy został wgrany przez ftp czy też przez skrypt php?
Chciałbym uniknąć używania fcgi do odpalenia php.
Pozdrawiam.
RaV. - 01-12-2009 14:44
Możesz spróbować ustawić ACL dla katalogu tak, by nowo tworzone pliki miały dwóch właścicieli:
setfacl -Rm d:u:www-data:r katalog setfacl -Rm d:u:vsftp:r katalog
Oczywiście, jeśli chcesz już zmodyfikować istniejące pliki, bez "d:" na początku.
Nie wiem, z jakim użytkownikiem działa vsftp, ale więcej na temat ACL znajdziesz w podręczniku systemowym. Temat lekki i przyjemny.
Jeśli wykorzystasz to rozwiązanie, nie zapomnij, zamontować partycji z opcją acl
raczkowski1 - 16-02-2010 12:16
Powrót do tematu, jeszcze tego nie robiłem bo nie mogę sobie pozwolić na skopanie serwera a niestety nie jestem zbyt dobry w tym. Ale czytałem o tym ACL i pytanie, czy w przypadku dwóch użytkowników (dwa konta www i ftp) to czy oni nawzajem będą mieli prawa dostępu do plików przez php? Wolałbym nie. Swoją drogą ciekawe jak to działa na innych hostingach (home, cba, nazwa itp.).
Pozdrawiam.
RaV. - 16-02-2010 12:52
Pliki wrzucane przez www mają użytkownika www-data (lub takiego, z jakim działa Apache. Jeśli będziesz je wrzucał do różnych katalogów, i tych dwóch użytkowników FTP będziesz do nich chrootował, nie powinno być problemów. Wyjściem mogą też być dwa katalogi i dwie grupy systemowe+ACL dla grup.
raczkowski1 - 16-02-2010 16:34
Nie za bardzo rozumiem. mam namyśli, że np. strony użytkowników są w folderze /var/www no i logują się przez ftp do swoich folderów. Jeśli mam folder1 i folder2, użyje ACL, a użytkownik1 użyje w folder1 skrypt, który odwoła się do ../folder2, to czy będzie miał prawo dostępu? Oczywiście użytkowników będzie więcej.
Pozdrawiam.
RaV. - 16-02-2010 23:20
Eeee... Jakoś, kolego, mocno zamotałeś. Nie do końca i nie od początku rozumiem, czego potrzebujesz.
Jakie prawa ustalisz ACLkami, takie będą. ACL dokłada więcej niż jednego użytkownika i jedną grupę dla obiektu. Coś, czego standardowo nie ma. Np. $ ls -l wybrane.tgz -rw-r--r--+ 1 rav rav 6577128 lut 15 17:03 wybrane.tgz
$ getfacl wybrane.tgz # file: wybrane.tgz # owner: rav # group: rav user::rw- user:rav:rwx #effective:r-- user:ebc:rwx #effective:r-- group::r-x #effective:r-- mask::r-- other::r--
$ getfacl . # file: . # owner: ebc # group: ebc user::rwx user:rav:rwx user:ebc:rwx group::r-x mask::rwx other::r-x default:user::rwx default:user:rav:rwx default:user:ebc:rwx default:group::r-x default:mask::rwx default:other::r-x
Co oznacza, że właścicielem są root, rav i ebc. Dodatkowo każdy plik i katalog stworzony w bieżącym katalogu będzie miał dwóch właścicieli: rav i ebc. Proste? Proste. Teraz tam musisz pomyśleć nad prawami, by użytkownicy jednej grupy nie mieli dostępu do nie swoich plików.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|