Skocz do zawartości

Odomowa Wykonania Niktórych Programów


Miszcz

Rekomendowane odpowiedzi

Temat nie związany w ogóle Fedorą.

 

Ostatnio interesuje się trochę systemem kontroli w Uniksach, i napotkałem na takie ciekaw rzeczy.

Chciałbym utworzyć serwer z kontami shell(lub cokolwiek aby było logowanie) i chciałbym zabezpieczyć niektóre programy przed niepowołanymi użytkownikami.  Wydaje się to proste- dodawanie programów do grupy i nadawanie, uprawnień poszczególnym użytkownikom, ALE natrafiłem na inne rozwiązanie:

 

Znalazłem serwer z kontami shellowymi, który jest porządnie zabezpieczony i większość aplikacji nie działa. Czegoś takiego szukam. No i sprawdzałm jak oni to robią- i tu natrafiłem na ciekawe rzeczy i to moj pytania:

 

1. Jak wykonuję niektóre komendy np. which, albo  who to zwraca mi na koncie shell informację, że musiałbym upgreadować konto do premium czy coś takiego, reklama poprostu.  Przypuszczam, że zwyczajnie podmienili komende skryptem, proste, no, ale jak później ci co mają lepsze konta mają się wykonać te komendy?

 

2. Sprawa ważniejsza. Na tym serwerze mogę chodzic po folderach systemowych np. /sbin. Normalnie takie rzeczy jak umount czy ifconfig nie są na mojej scieżce więc postanowiłem uruchomić je podająć scieżkę bezwzględą. I tutaj ciekawa rzecz- pomio iż, widzę program np. /sbin/umount to po wpisaniu i potwierdzeniu mówi mi: psh: /sbin/umount: not found - try 'help' for commands. Sprawdzałem oczywiści uprawnienia do tego pliku:  -r-xr-xr-x   1 root  wheel      15404 Oct  8  2008 umount. Czyli w porządku, mogę czytać wykonwyać, plik widzę, ale nie mogę go wykonać?!?

 Jak takie coś osiągnąć.Może to powłoka ma coś z tym wspólnego(psh)?

System na tym serwerz to nie Linux, ale też Unix(NetBSD).

 

EDIT:

Dobra, drugie juz ogarnąłem. To wina powłoki ;)
 

Odnośnik do komentarza
Udostępnij na innych stronach

Ad 1. Możesz taki efekt osiągnąć używając aliasów skonfigurowanych dla danego użytkownika np. poprzez ~/.bashrc. Przykładowo ja mam na moim użytkowniku alias ls='ls --color=auto' i dzięki temu wklepując ls otrzymuję pokolorowane wyjść.

$ alias who='echo Upgrade your account to see more information'
$ who
Upgrade your account to see more information
Odnośnik do komentarza
Udostępnij na innych stronach

@thof: ale alias łatwo wyłączyć i sprawdzić jakie są, więc to jest mocno bez sensu (-;

Ale nie napisałeś jak. Jeśli zrobisz alias na alias (alias alias='echo Odmowa dostępu'), to nie będziesz mógł używać polecenia alias :) Będziesz musiał wyedytować odpowiednie pliki, których edycja jest domyślnie wyłączona i wylogować się z powłoki. Wszystko zależy od wymagań.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

Ale nie napisałeś jak. Jeśli zrobisz alias na alias (alias alias='echo Odmowa dostępu'), to nie będziesz mógł używać polecenia alias :) Będziesz musiał wyedytować odpowiednie pliki, których edycja jest domyślnie wyłączona i wylogować się z powłoki. Wszystko zależy od wymagań.

unalias alias

 

No okej, to też możesz tak zablokować ;P

Ale tutaj raczej na pewno w grę wchodzą ACLki.

 

lub można użyć SELinuksa (lub grsec, innych mechanizmów gdyby były dostępne w Fedorze)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...