Mich@ł 0 Zgłoś post Napisano Lipiec 10, 2011 Próbuje z poziomu php usunąć katalogi. Do tego celu chciałbym użyć funkcji system() i usuwać całość przy pomocy polecenia rm -rf, problem w tym że coś mi takie polecenie nie chce smigać. Na serwerze funkcja system powinna być odblokowana (ew jak to sprawdzić?). Linijka usuwająca katalog wygląda tak: $path = '/home/wxvphpbb/domains/xxxxxxxxx.pl/public_html/users/xxxxxxxxx; system ("rm -Rf $path"); Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Lipiec 10, 2011 (edytowany) Użytwkonik www-data musi mieć prawo do tego katalogu: chown -R www-data /home/wxvphpbb/domains/xxxxxxxxx.pl/public_html/users Ewentualnie użyj ssh2 php i loguj się na użytkownika z prawami (np. root) i z niego wykonuj polecenia. Edytowano Lipiec 10, 2011 przez Kamikadze (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Mich@ł 0 Zgłoś post Napisano Lipiec 10, 2011 Kamikadze, najlepiej by było aby śmigała 1 opcja tylko mam jeszcze pytanie. Jak widzę katalog users ma uprawnienia dla użytkownika danego konta w DA to czy jak zmienię je na uprawnienia dla www-data to czy nic nie popsuje;)? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Lipiec 10, 2011 Zależy co chcesz kasować jak konkretnie jeden katalog znajdujący się w users to wystarczy że ustawisz prawa na ten katalog. Jak chcesz sobie wybierać co da się poznać po skrypcie to musisz tak zrobić. Prawdopodobnie user nie będzie miał dostępu do katalogów. Odezwij się do mnie na PM to mogę ci jakiś skrypt SSH2 wysłać Instalacja SSH2 jest prosta też mogę pomóc. Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Lipiec 10, 2011 Nie prościej jakiegoś pseudodemona kolejkowego napisać? Udostępnij ten post Link to postu Udostępnij na innych stronach
Mich@ł 0 Zgłoś post Napisano Lipiec 10, 2011 W katalogi /users/ mam kilka tysięcy katalogów w których znajdują się katalogi i pliki. Z poziomu php niestety nie mogę ich kasować ponieważ serwis zmieniał kilka razy serwer przez co pomieszane są zezwolenia Dlatego wpadłem na pomysł aby kasować je z poziomu powłoki. Kamikadze, zaraz się odezwę na PW kafi, może i prościej tyle że trzeba się na tym znać Ja z bash'a znam jedynie podstawowe polecenia i doszedłem do wniosku że prościej mi będzie właśnie skorzystać z funkcji system() w php i wysłać proste polecenie usunięcia niż męczyć się nad pisaniem skryptu w bash'u. Udostępnij ten post Link to postu Udostępnij na innych stronach
crazyluki 114 Zgłoś post Napisano Lipiec 10, 2011 na problemy z uprawnieniami : chown Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Lipiec 11, 2011 (edytowany) Ktoś mówi, że ten daemon kolejkowy w bashu musi być napisany?\ W skrócie - tworzysz sobie tabelkę w bazie danych | id | nazwa | data_dodania | data_usuniecia | do crontaba użytkownika ROOT dodajesz polecenie * * * * * /root/daemonUsuwacz.php Następnie tworzysz ten plik, nadajesz mu właściciela root:root, chmoda 700, a w środku tego pliku #!/bin/php <?php if(!file_exists('/root/daemonUsuwacz.new')) exit; if(file_exists('/root/demonUsuwacz.lock')) exit; file_put_contents('/root/daemonUsuwacz.lock', '.'); ## Pobierz z bazy wpisy, gdzie data_usuniecia is not null foreach($wpisy as $wpis) { system('rm -rf '.$wpis['nazwa']); ## Update db - ustaw data_usuniecia aktualnego wpisu na now() } unlink('/root/daemonUsuwacz.new'); unlink('/root/daemonUsuwacz.lock'); ?> Jak chcesz coś usunąć, to dodajesz do bazy i tworzysz plik /root/daemonUsuwacz.new (już obojętnie w sumie z jakimi uprawnieniami). Wtedy masz swoją aplikacyjkę w php, ale odpalaną niezależnie od daemona httpd z uprawnieniami np. roota, mogącą robić co ci sie żywnie podoba. Edytowano Lipiec 11, 2011 przez kafi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach