[működik]ssh account - korlátozása

Fórumok

Debian Squeeze - rajta samba apache2 squirrelmail+courier IMAP és persze exim4. Alapvetően három felhasználóval - (én a nejem és a "más" nejem).
Kellene egy "rendszer idegen" account.
Alapvetően scp és html_public hozzáférést szeretnék/kellene biztosítanom. Viszont (ha jól emlékszem) ahhoz hogy az scp működjön, kell shell hozzáférés. Ráadásul, globálisan a többi felhasználó mappáit is lehet "böngészni".
Le lehet tiltani az ssh shell hozzáférést és a korlátozni, hogy csak a saját könyvtárában mozoghasson úgy, hogy a globális beállításokat ne módosítsam?
Eddig nem találtam ilyen korlátozási lehetőségeket per user.

Több megoldás is létezik! Mindenkinek köszönöm és ha valaki tud valamit még akkor írjon!

Hozzászólások

Ez a belső sftp tényleg roppan egyszerű :)
Kicsit gáz, hogy az eredeti leírás egyenesen a /home -ba küldi - olyan könyvtár kell amit a root birtokol - viszont ez majdnem megoldható:


/home
  /bubu       - ez az eredeti "home"
  bubu-heap   - root root
    /ide      - a winscp ide tud írni

Kár hogy van ez a fölösleges mappa - nem eléggé elegáns :(

* Én egy indián vagyok. Minden indián hazudik.

Hasznalj sftp-t es chorootdirectory az sshd_config-ban.

Mi az a "mas nej"?

t

Szia!

Esetleg nézd meg az scponly shellt is, hátha megfelel. Ezt megadva a felhasználó ssh-zni nem fog tudni, de scp-n tudja kezelni a fájljait.

Jól látom, hogy ez a korlátozás csak azoknál lép életbe akinek az /etc/passwd fájlban a (mondjuk) /bin/sh helyett a /usr/local/sbin/scponly van beállítva?
Egy ilyen beállítás mellett tudja nézegetni a többi user állományit?

* Én egy indián vagyok. Minden indián hazudik.

Hát ez eléggé érdekes :(
I386 - azaz az emlegetett bug nem okozhat problémát - az az X86_64 portnál gond.
Létrehoztam a "setup_chroot.sh -val egy akira nevű usert, /home -ban meg is jelent, majd kicsit elrontottam az írható könyvtár nevét: /home/akira/scponly - de ez most úgy is csak egy elvetélt(?) kísérlet.

Első megközelítésben, az igéretek ellenére csak scp -vel akar működni (ezt talán be lehet majd konfigurálni).

Rögvest sír a winscp hogy "Hiba történt a felhasználói csoportok keresésekor.

A parancs 'groups' nem futott le.
Visszatérési kód: 1
Hibaüzenet: /usr/bin/groups cannot find name for group ID 1001.

Miután a hibaüzenetet leokézom az
Mégis belép!? - a felhasználó home -ba: /home/akira
Így ott van mindenféle - bin, dev, lib, usr és persze még egy home könyvtár :( Ez így nem igazán tűnik jónak.
Tény hogy ebből a könyvtárból nem bír feljebb mozogni :)
Leforgattam a groups.c izét és betettem a /home/akira/bin könyvtárba (az ottaniakkal azonos tulaj és jogosultságok) - de így is panaszkodik a groups -ra :(
Most akkor mi van?
Ötlet?

* Én egy indián vagyok. Minden indián hazudik.

SFTP készítése openssh/ssh segítségével.

1. Modositsd a /etc/ssh/sshd_config fajlt a kovetkezok szerint


Subsystem sftp internal-sftp

# Enable for user
Match User probauser
    ChrootDirectory /home/probauser
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

# Enable for group
Match Group sftpusers
    ChrootDirectory /home/%u
    AllowTcpForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

Ertelem szeruen a ChrootDirectory-t modosits a megfelelo utvonalra.

2. A home konyvtarbol torolheted a felhasznalo letrehozasakor automatikusan letrejovo ssh shell miatt szukseges fajlokat es konyvtarakat.
A rendszerszintu sftp pfelhasznaloval nem lehet ssh bejelentkezni, nem kap promptot

!!! Nagyon fontos hogy csak akkor fog mukodni ha a chroot konyvtar
a teljes eleresi uton a root tulajdona es 755 a jogosultsag !!!


  $ chown root:root /home/probauser 
  $ chmod 755 /home/probauser

3. A Hozzaferes menete

Host: sftp://example.com
Port: 22
User: probauser
Pass: P4S5w0rD

--
maszili

Nagyjából, ezt raktam össze. Az egyedüli gond, hogy a chroot mappa 755 -ös jogosultságot igényel, azaz a felhasználó nem tud könyvtárat létrehozni, azt nekem kell mint root megoldanom :(
Így kapásból könyvtárat kell váltania ahhoz hogy fel/le tölthessen.
Viszont a megoldás eléggé egyszerű és nem igényel mindenféle plusz szoftvert, csak némi konfigurálást.
Tetszik!

MEGJEGYZÉS:
Most jutott eszembe (hiába öregszem)! A winscp -ben be lehet állítani a belépési könyvtárat! Így a user rögtön a már használható könyvtárakat látja.

* Én egy indián vagyok. Minden indián hazudik.

Mivel ez jogosultsagproblema, villamcsapasra nem fogja senki megoldani neked.

Talan erdemes lenne dokumentaciot olvasni, hogy mi, hogyan es miert mukodik ugy, ahogy. Kulonben eleg nehez lesz a rendszert hibakeresni is, ezt most mondom elore.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Mint azt feljebb leírtam, a könyvtár "struktúra" most így fest:


/home
  public_html -> symlink a "bubu-heap/WEB" -re
  /bubu       - ez az eredeti "home"
  bubu-heap   - root root
    /ide      - a winscp ide tud írni
    /WEB
      /bin-cgi

Az "ide" könyvtárban lehet garázdálkodni, azaz annyi új könyvtárat hozhat létre amennyi belefér! A web feltöltés is működik (beleértve í cgi scripteket is) - bár a fiók biztonsága így erősen gyengül.

* Én egy indián vagyok. Minden indián hazudik.

mysecureshell, és az /etc/password file-ban ezt adni bash helyett a csak sftp-ző userhez. konzolja nem lesz, kitallózni nem fog tudni.

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

persze, ezt el kell dönteni hogy be mered-e vállalni, avagy inkább nem. én mindenesetre használom több debian szerveren is évek óta és reménykedem benne hogy csak az járkál rajta keresztül akit én akarok :)

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

köszönöm, stratégiai fontosságú szerverre nyilván nem ajánlom, de azt gondolom hogy egyrészt ez annyira egyszerű és jól megoldott hogy a többi megoldás ehhez képest nagyságrendekkel bonyolultabb és emiatt több hibalehetőséget is rejt magában, másrészt pedig az a tény hogy hosszú évek óta működő oldalól, és karbantartott csomagról van szó, megérdemel egy egészséges szintű bizalmat.

--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

Én SSL-es FTP-vel oldottam meg az ilyet. Tuti nincs shell, se a báziskönyvtárból való kijövetel.
A pure-ftpd tudja a normál FTP-t, amit jelszavas userhez nem szeretünk és a titkosított FTP-t is.

Buta kérdés! Látszólag nincs kapcsolatban a topikkal.
A felhasználói "home" könyvtár csak a "/home" alatt lehetséges?
(Azaz igazság, hogy kicsit drágállom erre a célra a tükrözött területemet, szeretném áttenni egy szingli diszkre)

* Én egy indián vagyok. Minden indián hazudik.

User home-ja bárhol lehet, de a /home alá is felcsatolhatsz single diszket és akkor még trükkölni sem kell.
Nálam pl./ sima partíció, a /home titkosítva van és a /home-ba vannak bind mountolva az egyéb általam használt nagy mappák, pl. /mnt/archiv (ami a bind mount miatt szintén a /home -ban van fizikailag, a titkosított partíción)

Érdekesen hangzik! Kösz a tippet. Én is mountolok dolgokat a /home alá, de titkosítás viszont nincs.
Viszont megoldaná a következő kérdésemet - miképpen lehet korlátzoni, hogy mennyi területet használhat az sftp felhasználó?
Amit eddig láttam az a qouta - sajna még nem tudom, hogy mennyiben érinti az eddigi felhasználókat.
Mondjuk megtehetem, hogy figyelem (cron) a felhasznált területet és ha túllépi az általam beállított értéket, akkor letiltom az írhatóságát a mappának. Viszont így törölni sem tud - nem túl jó megoldás :(

* Én egy indián vagyok. Minden indián hazudik.