tmpwatch i /home/users

GoTaR gotar w priv0.onet.pl
Czw, 19 Kwi 2001, 10:21:43 CEST


On Wed, Apr 18, 2001 at 22:16:20 +0200, --s+ wrote:

> > BOFH się jeden znalazł;)
>
> pawel, o ile wiem, ma na maszynce 500000 luserow, dlatego mow ciszej.

Wow, to się duży BOFH znalazł;-PPPP

> spoko, do ksiazek, bracie, a potem idea ~/tmp stanie sie jasna.
> hint: glownie 'security reasons'.

A dasz namiar na jakąś książkę? Bo od dawna szukam czegoś dobrego.

> jesli masz ~100000 luserow, to oni raczej nie uzywaja nestcape.

To był przykład.

> i jesli jest ich tylu, to raczej kilku(set) nie posprzata.

Zgadza się - ale miałem okazję obejrzeć zawartość ~ kilkudziesięciu
luserów i tam leży prawdziwy problem.

> siefca ma problem skali, trzeba to uwzglednic w rozumowaniu.

Widziałem także /tmp na pewnej maszynce, która miała znacznie mniej zer
w liczbie luserów - i jeśli coś takiego zamierzasz sprzątać, a tym
bardziej przy tylu luserach lecieć po ich ~, to na prawdę podziwiam za
odwagę. IMHO problemy z bezpieczeństwem należy rozwiązywać na innej
płaszczyźnie niż taka konsolidacja katalogów i separacja luserów. Z tego
co mi tak na poczekaniu do łepetyny przychodzi:

for i in `awk 'BEGIN {FS=":"} {if ($3>=100) {print $1}}' /etc/passwd`;
do mkdir /tmp/$i; chmod 700 /tmp/$i; chown $i.users /tmp/$i; done

TMPDIR=/tmp/`id -un`

i jeszcze zrobić dla roota.

Co nam to daje?

Po pierwsze: uniezależniamy się od rm -rf ~/tmp lusera i wychodzimy z
jego prywatnego katalogu - bardziej znaczenie estetyczne i
psychologiczne, ale i z doświadczenia wiem, że w takich katalogach
trzyma się czasem różne rzeczy, gdy katalogi te leżą pod ręką:/

Po drugie: mamy większe pole manewru w zakresie struktury. Jako przykład
mogę tu służyć laboratoriami na mojej uczelni - workstacje tam są
samodzielnymi maszynami (kasy chyba za dużo im dali...) i tylko passwd,
/home i cośtam jeszcze jest montowane po sieci. Reszta jest podawana
lokalnie i w tym momencie - nie pamiętam dokładnie, na /tmp jest
przewidziana albo reszta miejsca albo zupełnie osobny dysk. W momencie,
gdy ilość wolnego miejsca spada poniżej pewnej wartości (tutaj: 50MB)
katalog jest czyszczony. Rozwiązanie takie pozwala luserom mimo quoty w
wysokości 5MB z limitem 15MB na pracę wymagającą do ca. 1.5GB userspace,
a poza tym spada obciążenie sieci, gdyż nie trzeba rozsyłać po niej
TMPDIR. Idąc dalej po strukturze - separacja pozwala na zastosowanie
adekwatniejszego systemu plików, co w przypadku TMPDIR ze względu na
jego specyfikę sugeruje reisera zamiast ext2fs.

Uważam, iż takie rozwiązanie byłoby znacznie lepsze, gdyż łączy zalety
obu metod, wypadając lepiej od strony zarówno organizacyjno -
- wydajnościowej (wyjście poza ~, swoboda w rozmieszczeniu punktów
montowań, więcej temp-userspace dla lusera, mniejsze ew. obciążenie
sieci oraz możliwość dostosowania systemów plików i łatwiejsze
zarządzanie (jak wywoływanie tmpwatch w momencie spadku free-space
poniżej pewnej granicy), czyli krótko to co jest zaletą /tmp) jak i
bezpieczeństwa, ustalając poziom prywatności oraz eliminując zagrożenie
ze strony m.in. /tmp symlink race conditions na dokładnie _tej_samej_
drodze co w przypadku ~/tmp.

Krótko: są dwa miejsca gdzie luser może pisać: ~ i TMPDIR. Zamiast to
drugie wkładać do pierwszego to nadajemy mu jedynie jego strukturę.

No ale ja się nie znam i to takie gdybanie lusera, więc nie krzyczcie
bardzo...

papa

-- 
GoTaR <gotar w priv0.onet.pl>

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d- s:- a--- C UL+++>++++$ P+(++) L+++>++++$ E--- W-- N+ o? K w--- O?
M- V- PS++ PE++ Y+ PGP t+ 5 X R- tv- b++>+++ DI- D+ G e>+++ h-- r++ y?
------END GEEK CODE BLOCK------



Więcej informacji o liście dyskusyjnej pld-devel-pl