|
Konfiguracja konta
Rysiu - 03-08-2007 21:13
Witam
1. Mam problem. Chciałbym aby po zalogowaniu użytkownik miał dostęp tylko i wyłącznie do swojego katalogu domowego... tak aby nie mógł oglądać jakichkolwiek innych plików na dysku.
2. Chciałem także zablokować danemu userowi możliwość korzystania praktycznie ze wszystkich komend. Wystarczy aby mógł tylko i wyłącznie odpalić program znajdujący się w katalogu domowym nic więcej... aby nie działał top, ps aux i wszystkie inne komendy.
Punkt 1 pokrywa się z 2gim - jak wytniemy wszystkie komendy to nie będzie można poruszać się po katalogach ;)
Pozdrawiam i dziękuję za pomoc Rysiu
ShinnRa - 03-08-2007 22:27
AD 1) jeśli chodzi o ssh to poczytaj o chroot a jeśli chodzi i ftp to poszukaj w manualu danego serwera ftp powinno być o zamknięciu usera w jail'u.
AD 2) Nie wiem czy blokowanie komend to dobra sprawa. Ja bym raczej ograniczył ilość procesów i zabija wszystkie procesy użytkownika po jego wylogowaniu
Rysiu - 04-08-2007 13:04
AD 2) Nie wiem czy blokowanie komend to dobra sprawa. Ja bym raczej ograniczył ilość procesów i zabija wszystkie procesy użytkownika po jego wylogowaniu
To właśnie raczej musi być blokowanie komend... użytkownik nie może mieć dostępu do top, podglądu procesów itp. i po wylogowaniu dany proces musi nadal działać...
Stawi - 04-08-2007 15:43
Glowy nie dam ale blokowanie top / ps / df itd mozna zrobic poprzez odpowiednie prawa dostepu do katalogu /proc. Nie testowalem tego ale z tego co wiem do wlasnie z tamtad sa brane informacje?
Rysiu - 04-08-2007 15:59
Glowy nie dam ale blokowanie top / ps / df itd mozna zrobic poprzez odpowiednie prawa dostepu do katalogu /proc. Nie testowalem tego ale z tego co wiem do wlasnie z tamtad sa brane informacje?
Właśnie działa... ustawiłem chmod /proc na 511 i top czy ps nie działa... df działa no ale o tym to już później się pomyśli...
Szukałem dokładniejszych informacji dotyczących ograniczenia pola działania do tylko i wyłącznie katalogu domowego - czyli tak jak ktoś już tam wcześniej wspomniał chroot ale niczego "na temat" nie znalazłem. Może coś podpowiecie w temacie albo dacie jakiegoś ciekawego linka?
Poszukałem trochę i znalazłem...http://www.howtoforge.com/chrooted_ssh_howto_debian ale właśnie tak myślę, że nie będę zaśmiecał systemu - po prostu odpowiednie komendy nie muszą działać... zmieni się uprawnienia chmod do plików z poleceniami i nie będą już one działać.
Tylko pytanie: Gdzie zlokalizowane są te wszystkie polecenia? cd itp.
Ventrue - 04-08-2007 18:14
Rysiu, na tej stronie ( KLIK ) Masz ładnie opisane robienia Jail'a na chroocie.
Rysiu - 04-08-2007 18:35
Szczerze to widzę tam sporo roboty a nie jestem jakimś specjalistą od Linuxa... bym wolał po prostu zmienić chmody do odpowiednich plików i po bólu...
Tylko ciągle pytanie: Do jakich?
Ventrue - 04-08-2007 18:50
Rysiu, nad zabezpieczeniami trzeba spędzić trochę czasu...
ilr - 04-08-2007 18:56
Nie wiem dlaczego chcesz dać dostęp do shella użytkownikowi, któremu nie ufasz, ale to Twoja sprawa. :-) To co chcesz zrobić można zrealizować na kilka sposobów. Najprościej chyba za pomocą tzw. "restricted shell". Robisz tak:
1. Zakładasz użytkownika. 2. Zmieniasz mu domyślny shell w /etc/passwd na rbash 3. W katalogu domowym tworzysz plik .bashrc z zawartością np: export PATH=. export PS1='\h:\w\$ ' umask 022
i voila.
Rysiu - 04-08-2007 21:03
Nie wiem dlaczego chcesz dać dostęp do shella użytkownikowi, któremu nie ufasz, ale to Twoja sprawa. :-)
Działa...
... ale nie do końca :E
Komendy zostały wycięte - uruchamiam przykładowo z tego konta serwer ShoutCast i działa on prawidłowo.. jednak uruchomię już inną aplikację i:
Niestety nie działa...
Co to za błędy przy nazwach katalogów? Na bash'u działa ok a na rbash'u już niestety nie...
ilr - 04-08-2007 23:16
Zajrzyj do dokumentacji rbash-a i zrozumiesz dlaczego. A oto fragment manuala: Jeśli bash uruchomiony jest pod nazwą rbash, lub przy jego wywołaniu posłużono się opcją -r, to staje się powłoką okrojoną (restricted). Powłoka okrojona służy do ustawienia środowiska lepiej kon* trolowanego niż powłoka standardowa. Zachowuje się ona identycznie jak bash za wyjątkiem tego, że poniższe nie są dozwolone lub nie są wykonywane:
* zmiana katalogów za pomocą cd * ustawianie lub kasowanie zawartości zmiennychSHELL, PATH, ENV, lub BASH_ENV * podawanie zmian poleceń zawierających / * podawanie nazw plików zawierających / jako argumentu do wbudowanego polecenia . (kropka) * podawanie nazwy pliku zawierającej ukośnik jako argumentu opcji -p wbudowanego polecenia hash * importowanie definicji funkcji ze środowiska powłoki przy uruchamianiu * analiza zawartości SHELLOPTS ze środowiska powłoki przy uruchamianiu * przekierowanie wyjścia przy pomocy operatorów >, >|, <>, >&, &>, >> * posługiwanie się wbudowanym poleceniem exec w celu zastąpienia powłoki innym poleceniem * dodawanie lub usuwanie poleceńa przy pomocy opcji -f i -d wbudowanego polecenia enable * używanie wbudowanego polecenia enable w celu włączenia wyłączonych opcji powłoki * podawanie parametru -p dla wbudowanego polecenia command * wyłączanie trybu okrojonego za pomocą set +r lub set +o restricted.
Powyższe ograniczenia wymuszane są po przeczytaniu plików uruchomieniowych. Jeśli polecenie do wykonania okazuje sie² być skryptem powłoki (zobacz WYKONYWANIE POLECEN´ opowyżej), to rbash wyłącza wszelkie ograniczenia w powłoce zrodzonej do wykonania skryptu.
-- 05.07.2007 OK, teraz jest po polsku. Zapoznaj się z podręcznikiem do bash (man bash). Jeżeli nie masz zainstalowanej polskiej wersji to wykonanie: hades# apt-get install manpages-pl
załatwi sprawę.
Rysiu - 04-08-2007 23:23
Nie zrozumiałem ;) Sorry, że taki ciemny jestem ale nie dość, że cienko mi coś z tym Linuxem idzie to j. angielski mam kulawo opanowany.
Możesz "po polsku" napisać czy się da a jak tak to jak ten problem wyeliminować.
ilr - 05-08-2007 09:05
Przypuszczam, że program, który uruchomiłeś korzysta z podkatalogów. A rbash blokuje wykonywanie polecenia cd, więc dostajesz takie efekty. Zapewne nie pozostanie Ci nic innego jak skonfigurowanie dobrego więzienia. :-)
Rysiu - 05-08-2007 09:53
Dobra robię wg. tego:
http://www.howtoforge.com/chrooted_ssh_howto_debian
Na tym moja zabawa się skończyła...
Ventrue - 05-08-2007 11:04
Rysiu, ustaw sobie polskie/jakieś inne serwery w sources.list.
Rysiu - 05-08-2007 11:07
Rysiu, ustaw sobie polskie/jakieś inne serwery w sources.list.
Gdybym to ja wiedział gdzie znajduje się takowy plik i jakie są inne serwery...
kret - 05-08-2007 11:27
hm, to ścieżka do pliku /etc/apt/sources.list
a co tam wpisać? moze warto zajrzeć tu http://debian.linux.pl/viewtopic.php?t=1515 ? :)
Rysiu - 05-08-2007 11:48
No właśnie tylko tam są wpisy do kilku wersji... Ja mam Debiana Sarge 3.1 Minimal o ile się nie mylę :E
W Testing/Unstable/Experimental raczej się nie bawię także pozostaje Stable - Etch.
Czyli na pewno mam to dodać? :E
#~~~~~~~~~~~~~~~~~~~~Etch~~~~~~~~~~~~~~~~~~~~~~~~~# deb http://ftp.pl.debian.org/debian/ etch main non-free contrib deb-src http://ftp.pl.debian.org/debian/ etch main non-free contrib deb http://security.debian.org/ etch/updates main contrib non-free deb-src http://security.debian.org/ etch/updates main contrib non-free #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
Ventrue - 05-08-2007 13:21
Tak
Stawi - 05-08-2007 16:04
Plik z poleceniem mozesz zlokalizowac przez komende
whereis ls
. Znajdz co chcesz i chmodnij odpowiednio ;) Zmienianie PATH tez jest rozwiazaniem, ale rozgarniety uzytkownik sobie zmieni na wlasciwy i nic z tego..
Rysiu - 05-08-2007 16:11
Tak
Dobra...
Zmieniłem i teraz ten plik wygląda tak:
A wyniki wyglądają tak:
Czy mi się wydaje czy coś jest nie tak?
Plik z poleceniem mozesz zlokalizowac przez komende
whereis ls
. Znajdz co chcesz i chmodnij odpowiednio ;) Zmienianie PATH tez jest rozwiazaniem, ale rozgarniety uzytkownik sobie zmieni na wlasciwy i nic z tego..
Przy rbashu doszliśmy do wniosku, że np. cd jest niezbędne - programy które będą uruchamiane na koncie wykorzystują przemieszczanie się między folderami w katalogu domowym także ta opcja odpada...
darkwater - 05-08-2007 16:17
po KAÂŻDEJ zmienie w pliku sources.list MUSISZ wykonać
apt-get update
Rysiu - 05-08-2007 16:25
po KAÂŻDEJ zmienie w pliku sources.list MUSISZ wykonać
apt-get update
Ciepło...
Mam tam wpisać Yes? Pytam się bo boję się aby system po tych wszystkich modyfikacjach wstał jeżeli kiedyś będzie niezbędny restart...
[ Dodano: 2007-08-10, 14:18 ] Uzyskam pomoc na wcześniej zadane pytanie?
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|