Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest czwartek, 28 marca 2024, 20:22

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 15 ] 
Autor Wiadomość
Post: piątek, 31 października 2008, 14:10 
Offline
Użytkownik

Rejestracja: niedziela, 23 września 2007, 14:35
Posty: 477
Witam.

Chciałbym na swoim serwerze ( postawionym na NND ) dodać funkcjonalność wyświetlania rozmiaru zajętości katalogów poszczególnych użytkowników (/home/user) na stronie WWW, tak aby każdy z użytkowników mógł w każdej chwili wejść na specjalną stronę, i sprawdzić sobie ile w chwili obecnej jego pliki zajmują miejsca na serwerze.

Może to być statystyka zbiorcza.

Interesują mnie też każde inne statystyki pokazujące aktywność użytkowników systemu.

Zdaje się, że można by samemu spróbować napisać skrypt.

Np. wykorzystując crona aby raz na dobę uruchomić skrypt, który wykona polecenie du -h /home/user dla każdego użytkownika (no właśnie... jak to zautomatyzować, żeby robił to dla każdego użytkownika) i wyeksportuje dane >> do pliku, który zostanie wykorzystany przez mechanizm php, który na tej podstawie wypisze informacje / wykreśli wykresy.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 14:29 
Offline
CDN Support

Rejestracja: środa, 12 lipca 2006, 14:46
Posty: 497
Lokalizacja: Sarnaki / Warszawa
tu masz skrypt który wyświetli to co chcesz:

: [/] [] ()
<?
$a = shell_exec("du -h /home/user");
echo "<pre>" . $a . "</pre>";
?>


chyba o to chodziło?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 15:34 
Offline
Użytkownik

Rejestracja: niedziela, 23 września 2007, 14:35
Posty: 477
Niezłe, i nawet działa :-)

Ale czy rzeczywiście powinno działać, jeśli na partycji z plikami stron internetowych dla bezpieczeństwa wycięto exec ?

PS. Wygląda to dosyć groźnie.

A co jeśli jakiś użytkownik konta WWW użyje np. halt zamiast du ?
Na jakich prawach działa php? Chyba nie roota?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 16:46 
Offline
CDN Support

Rejestracja: środa, 12 lipca 2006, 14:46
Posty: 497
Lokalizacja: Sarnaki / Warszawa
te polecenie działa na nobody, więc nie ma się czego obawiać, a komendy halt nie użyjesz ponieważ nobody nie posiada odpowiednich praw dostępu, więc śmiało możesz korzystać z tego skryptu co zapodałem.

co do

: [/] [] ()
Ale czy rzeczywiście powinno działać, jeśli na partycji z plikami stron internetowych dla bezpieczeństwa wycięto exec ?


możesz zastosować skrypt w bashu, który przesyła odpowiednie dane do pliku i jest odpalany za pomocą crona:

: [/] [] ()
#!/bin/bash

a=`du -h /home/user`
echo $a >> /home/user/staty.txt


Ostatnio zmieniony piątek, 31 października 2008, 18:27 przez Kimas, łącznie zmieniany 1 raz

Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 17:06 
Offline
Użytkownik

Rejestracja: niedziela, 23 września 2007, 14:35
Posty: 477
Kimas pisze:
te polecenie działa na nobody, więc nie ma się czego obawiać

Czyżby nobody miał uprawnienia do wyświetlania zawartości katalogu dowolnego użytkownika?

Nawet mając dostęp do bashu / konsoli zwykły użytkownik nie jest w stanie wejść / wyświetlić zawartości katalogu innego użytkownika.

Czyżby był w stanie to zrobić z poziomu php?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 18:16 
Offline
CDN Support

Rejestracja: środa, 12 lipca 2006, 14:46
Posty: 497
Lokalizacja: Sarnaki / Warszawa
skrypt w php nie zadziała ponieważ domyślne prawa wykonywalności folderu usera == 711, sry że wprowadziłem Cie w błąd, ale sprawdzałem na swoim serwerku, a na katalogu użytkownika miałem chmod 755, więc pozostaje użycie sudoers. lub odpalania skryptu bashowego cronem z roota, lub użytkownika który jest właścicielem katalogu.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 20:38 
Offline
Użytkownik

Rejestracja: niedziela, 23 września 2007, 14:35
Posty: 477
Ale mi ten skrypt zadziałał...


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 21:14 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
Widoacznie masz katalogi domowe z uprawnieniami 755 zamiast 711.

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 22:43 
Offline
Użytkownik

Rejestracja: niedziela, 23 września 2007, 14:35
Posty: 477
Maciek pisze:
Widoacznie masz katalogi domowe z uprawnieniami 755 zamiast 711.

Rzeczywiście, na tym (i tylko na tym) katalogu miałem uprawnienia 755. Cóż za zbieg okoliczności ;-)

Rzeczywiście, jeśli katalog ma uprawnienia 711 nie wyświetli się nic.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 22:53 
Offline
Użytkownik

Rejestracja: niedziela, 23 września 2007, 14:35
Posty: 477
Kimas pisze:
pozostaje użycie sudoers. lub odpalania skryptu bashowego cronem z roota, lub użytkownika który jest właścicielem katalogu.

Cron da mi okresowe wyniki, a skrypt dawał wyniki rzeczywiste (w danej chwili) i był dosyć prosty i wygodny w użyciu.
Zastanawiam się czy nie zostawić takiego katalogu z 755 na strony specjalne, ale... wystarczy włam do takiego katalogu, choćby przez ftp-a i... robi się groźnie... A może się mylę?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 23:08 
Offline
CDN Support

Rejestracja: środa, 12 lipca 2006, 14:46
Posty: 497
Lokalizacja: Sarnaki / Warszawa
według mnie lepiej użyć sudoers i pozostać przy 711


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 31 października 2008, 23:13 
Offline
Użytkownik

Rejestracja: niedziela, 23 września 2007, 14:35
Posty: 477
Kimas pisze:
według mnie lepiej użyć sudoers i pozostać przy 711


Z tego, co zdążyłem się zorientować, sudoers to plik w /etc. Jak go najlepiej skonfigurować na taką okazję?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 1 listopada 2008, 00:05 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
Najlepiej przez visudo. Inaczej się nie da. Trzeba wpisać odpowiednie uprawnienia dla wykonania du przez nobody.

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 1 listopada 2008, 19:44 
Offline
Użytkownik

Rejestracja: niedziela, 23 września 2007, 14:35
Posty: 477
W międzyczasie stygma zaproponował takie: rozwiązanie w bashu


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 1 listopada 2008, 19:55 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
Nie sądzę, zeby to było dobre. Po pierwsze, aby wskazania były aktualne, cron musiałby to wykonywać co parę minut. Uruchamianie z php i tak wymagałoby dodania polecenia du do sudoers. Jeśłi koniecznie użytkownik miałby być informowany o zajętym miejscu w swoim katalogu, to lepiej wprowadzić quotę i wtedy zdaje się jest możliwość informowania mailem, jeśli wolne miejsce zmniejsza się niebezpiecznie. Obawiam się, że żaden użytkownik nie będzie i tak na taką stronę zaglądać. Jeśłi chcesz mieć informację dla siebie, to zrób sobie wykonywanie du -h /home z crona i wysyłaj sobie maila z wynikami.

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 15 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 12 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl