Sziasztok!
A kérdésem az lenne, hogy van-e, vagy létrehotható-e olyan shell, ami csak 1 programot enged futtatni a felhasználónak?
Köszi
Mac
- 1433 megtekintés
Hozzászólások
irj egyet
- A hozzászóláshoz be kell jelentkezni
A baj az, hogy ha egyet tud, akkor mindent lehet vele futtatni...
zsolt
- A hozzászóláshoz be kell jelentkezni
Az scponly, rssh es tarsaik ilyet tudnak, meg kellene nezni, hogy azok hogy csinaljak. Masik megoldas, hogy chrootolsz, es a chrootban a shellen es a programon kivul nincs semmi (shell scripteket igy is fog tudni futtatni).
- A hozzászóláshoz be kell jelentkezni
probald ki, hogy a felhasznalo .bashrc-jebe beleirod ezt:
/usr/bin/futtatando_program
exit
nem tul biztonsagos, nem tul szep, de mukodik
persze ha olyan a program, akkor abbol fog tudni inditani egy shell-t, aztan azt csinal amit akar...
de pl pine-t egesz jol lehet parameterezni, hogy mit engedjen csinalni, es mit ne, de pl lynx-ben eleg egy felkialtojelet nyomni, es ott van a shellben, es azt hiszem ezt mar nem lehet letiltani
a pine-bol meg lehet helpet kerni, aminek a vegen van egy link, amit meg lynx-el akar megnezni
javaslom en is a chroot-olt kornyezetet, akkor tenyleg csak azok futtathatok, amiket odamasoltal
meg patcheld meg a kernelt grsec patch-el, es akkor be tudod allitani, hogy melyik konyvtarbol engedjen futtatni programokat, es hogy ne tudjon kimaszni a chrootbol a juzer
- A hozzászóláshoz be kell jelentkezni
Ha leírod, hogy pontosan mit is szeretnél csinálni, mire is kell a dolog, lehet hogy kitalálunk egy másfajta megoldást.
Mert ugye ott van az rbash, de nem biztos, hogy neked ez kell. Mert ezzel mondjuk csak a ~/bin-t betéve a PATH-be elintézhető, hogy csak azt tudja futtatni. Mivel aztán a PATH-et már nem tudja átírni, stb.
- A hozzászóláshoz be kell jelentkezni
nem tudom milyen programot engednél futtatni neki, de én láttam olyan megoldást, hogy pl. adduser --shell /home/user/program user, ahol a program egy menüvel rendelkező shell script volt és így a user csak a menüpontok között választhatott
- A hozzászóláshoz be kell jelentkezni
Szerintem a kérdező erre gondolt.
--
unix -- több, mint kód. filozófia.
Life is feudal
- A hozzászóláshoz be kell jelentkezni
Szerintem ezt a problemat ne a shell, hanem inkabb az access controll iranybol kozelitsd meg, pl. RSBAC v. grsec (mar ha biztonsagot akarsz).
- A hozzászóláshoz be kell jelentkezni
Na ezért kérdeztem, hogy mi is lenne a cél? Hogy kitalálhassunk egy megfelelő megoldást valahol a befektetett munka/energia, a bonyolultság, a kivitelezhetőség átgondolásával.
- A hozzászóláshoz be kell jelentkezni
Szvsz a chroot a legegyszerűbb.
- A hozzászóláshoz be kell jelentkezni
Ha olyasmire van szükség, ami a chroot-tal oldható meg. Viszont lehet, hogy olyan dolgoról van szó, amit csak grsec-el lehet megoldani. Nekem a megfogalmazásból nem jött le, hogy mit akar csinálni és miért.
Sőt a legegyszerűbb ha a shell maga a program ugye, de ez is csak bizonyos esetekben. Aztán itt van az általam korábban említett restricted shell.
Szóval eddig ott tartunk, hogy megoldást tudunk százat, csak a problémát nem ismerjük. :)
- A hozzászóláshoz be kell jelentkezni
De az is lehet hogy a háttérben (magyarul: background) történő programfuttatást szeretné letiltani.
- A hozzászóláshoz be kell jelentkezni
offtopic, de Solaris-ban van ilyen jópofaság, hogy meg tudod mondani, hogy egy adott process még elindulhat de ő már nem fork()-olhat. Úgy hívják, hogy Privileges, RBAC-cal együtt szépen le tudsz korlátozni egy felhasználót. Bővebben itt:
http://docs.sun.com/app/docs/doc/816-4557/6maosrjfc?a=view
meg itt:
http://docs.sun.com/app/docs/doc/816-5175/6mbba7f30?a=view
Pl ezzel lehet azt is megcsinalni, hogy sima userkent futtatott apache tudjon 80-as porton futni es o meg tudjon inditani gyerekeket, de azok mar ne forkolhassanak. Jopofa dolgok ezek...
- A hozzászóláshoz be kell jelentkezni
help ulimit
nem segít?
- A hozzászóláshoz be kell jelentkezni
A probléma a következő. 1 spam és virusszűrő alkalmazással szétválogatom az userek leveletit. Ezt maildrop-pal végzem. Ahhoz viszont, hogy a spam és a vírusos levél egy karantén könyvtárba kerüljön, amit az user webmail segítségével megénz, ahhoz az usernek bash-t kell adnom, különben a maildrop nem nem tud lefutni. Mivel még más megoldást nem találtam, ezért gondoltam az 1 programos shell-re. De ha esetleg van más lehetőség, azt is szívesen meghallgatom.
Köszi
Mac
- A hozzászóláshoz be kell jelentkezni
Ötletek:
-Webmail-nek saját jelszókezelés, usernek meg (/etc/shadow) olyan stringet adni a password mezőbe, ami bizonyosan nem lehet hash.
-A .bash_profile-ba menjen egy logout. Non-interaktív módon mehetnek a dolgai (.bashrc), interaktív shell esetén viszont a .bash_profile futtatásával azonnal ki is lép.
- A hozzászóláshoz be kell jelentkezni
ssh user@gepnev "parancs"
igy asszem nem futnak le a .profile file-ok.. a last-ba sem kerul be a bejelentkezes emlekeim szerint.. (lehet, hogy meg kell vmi parameter, pl -T)
---------------------
"A feny azt hiszi, gyorsabb mindennel, de teved. Mindegy, milyen sebesen szaguld a feny, mindig azt fogja talalni a vegen, hogy a sotetseg ert oda elsonek, es ra var." - Terry Pratchett
- A hozzászóláshoz be kell jelentkezni
Hmmm... ha a user úgysem lép be shell-el, akkor nem lenne egyszerű lockolni az accountját? Maildrop úgyis lefut...
Viszont ha csak a spam/virusszűrés miatt vannak külön shell userek, akkor lehet, hogy egyszerűbb lenne virtualuserekkel megoldani a dolgot. (mondjuk ez nagyobb meló, de akár még meg is érheti...)
- A hozzászóláshoz be kell jelentkezni
Másként nem lépnek be az userek a gépre. Csak azért kellene nekik a shell. hogy a maildrop lefusson. A lockolásnak utánanaézek.
Köszi
Mac
- A hozzászóláshoz be kell jelentkezni
"A lockolásnak utánanaézek."
Tulajdonképp a legegyszerűbb módja az, amit előttem zeller írt. A shadow file-ba átírsz 1-2 karaktert minden jelszónál.
- A hozzászóláshoz be kell jelentkezni
de akkor a leveleiket sem tudják lekérdezni, nem?!
- A hozzászóláshoz be kell jelentkezni
ha a webmail a shadow -t használja azonosításra, akkor valóban nem.
De akkor a lockolásnál sem.
Valószínűleg valami chroot lesz a barátod, vagy pedig átállsz virtualuserekre.
- A hozzászóláshoz be kell jelentkezni
Vagy a passwd-vel.
man passwd
-l, --lock
Lock the named account. This option disables an account by changing the password to a value which matches no possible encrypted value.
- A hozzászóláshoz be kell jelentkezni