Jump to content
Sign in to follow this  
Miszcz

Odomowa Wykonania Niktórych Programów

Recommended Posts

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 ;)
 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

@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ń.

Share this post


Link to post
Share on other sites

Można robić takie myki tylko mnie zastanawia jakie może być rozwiązanie, które później pozwoli później użytkownikowi z wykupionym kontem na używanie danego polecenia. :)

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×