I vores verden er der mange, mange hemmeligheder ... Jeg tror ærligt talt ikke, at jeg kan lære nok til at kende de fleste af dem, og dette gives af det enkle faktum, at Linux giver os mulighed for at gøre så mange, men så mange ting, at det er svært for os at kende dem alle.
Denne gang vil jeg forklare dig, hvordan man gør noget ekstremt nyttigt, noget som mange netværks- eller systemadministratorer har haft brug for at gøre, og har fundet det svært at simpelthen ikke finde en ret enkel måde at opnå det på:
Sådan cage brugere, der forbinder via SSH
bur? ... WTF!
Ja. Hvis vi af en eller anden grund skal give SSH adgang til en ven af os til vores computer (eller server), skal vi altid tage os af sikkerheden og stabiliteten på vores computer eller server.
Det sker, at vi for nylig ønskede at give Perseus SSH adgang til en server af os, men vi kan ikke give ham nogen form for adgang, fordi vi har virkelig følsomme konfigurationer der (vi har samlet mange ting, pakker, som vi har installeret individuelt osv.), Og hvis nogen der ikke gør det Uanset om jeg prøver at foretage den mindste ændring af serveren, er der en mulighed for, at alt går til spilde hehe.
Derefter, Sådan oprettes en bruger med ekstremt begrænsede privilegier, så meget at han ikke engang kan komme ud af sit bur (hjem)?
Lad os starte med at downloade jailkit, et værktøj, der giver os mulighed for at gøre dette:
1. Først skal vi downloade vores JailKit-server.
wget http://ftp.desdelinux.net/jailkit-2.14.tar.gz
2. Derefter skal vi pakke pakken ud og indtaste den mappe, der lige er vist:
tar xzf jailkit-2.14.tar.gz && cd jailkit-2.14
3. Senere fortsatte vi med at kompilere og installere softwaren (Jeg forlader dit skærmbillede):
./configure
make
make install
4. Klar, dette er allerede installeret. Nu fortsætter vi med at oprette buret, der indeholder fremtidige brugere, i mit tilfælde oprettede jeg det i: / opt / og kaldte det "fængsel", så stien ville være: / opt / fængsel :
mkdir /opt/jail
chown root:root /opt/jail
5. Buret er allerede oprettet, men det har ikke alle de nødvendige værktøjer, så fremtidige brugere, der vil være der, kan arbejde uden problemer. Jeg mener, indtil dette tidspunkt oprettes buret, men det er bare en tom kasse. Nu vil vi lægge nogle værktøjer i buret, som brugere i bur skal have:
jk_init -v /opt/jail basicshell
jk_init -v /opt/jail editors
jk_init -v /opt/jail extendedshell
jk_init -v /opt/jail netutils
jk_init -v /opt/jail ssh
jk_init -v /opt/jail sftp
jk_init -v /opt/jail jk_lsh
6. Klar, buret findes, og det har allerede de værktøjer, som brugeren kan bruge ... nu har vi bare brug for ... brugeren! Lad os oprette brugeren kira og vi lægger det i buret:
adduser kira
jk_jailuser -m -j /opt/jail kira
cat /etc/passwd | grep jk_chroot
Hvis du bemærker, at intet som skærmbilledet vises, skal du have gjort noget forkert. Efterlad en kommentar her, så hjælper jeg dig gerne.
7. Og voila, brugeren er allerede bur ... men han er SÅ bur, at han ikke kan oprette forbindelse via SSH, for når han prøver at oprette forbindelse, lader serveren ham ikke:
8. For at give brugeren mulighed for at oprette forbindelse skal vi udføre endnu et trin.
Vi skal redigere buret etc / passwd i buret, det vil sige i dette tilfælde / opt / fængsel / etc / passwd , i det kommenterer vi den brugerlinje, som vi oprettede, og tilføjer en ny som:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Det vil sige, vi ville have filen sådan passwd:
root: x: 0: 0: root: / root: / bin / bash
#kira: x: 1003: 1003: ,,,: / opt / fængsel /./ hjem / kira: / usr / sbin / jk_lsh
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Bemærk de dobbelte tegnsætningstegn og andre, det er vigtigt ikke at droppe nogen af dem 🙂
Efter dette kan brugeren gå ind uden problemer 😀
Og det er alt.
Det værktøj, vi bruger til alt dette (jailkit) brug i backend chroot, hvilket faktisk er, hvad næsten alle tutorials bruger. Men ved hjælp af JailKit bliver det enklere at bure 😉
Hvis nogen har et problem, eller noget ikke går godt, skal du lade så mange detaljer som muligt, jeg betragter mig ikke som en ekspert, men jeg vil hjælpe dig så meget som muligt.
Så det ville være noget som tilladelserne i FTP? interessant
du kommer altid ud med alt, hvad du ikke engang vidste eksisterede, som brugerne i mysql xD
Ikke ligefrem, fordi SSH ikke er det samme som FTP. SSH er en shell, det vil sige en terminal ... du ville være i en terminal på en anden computer eller server, du kunne udføre kommandoer, starte processer osv ... du ville gøre så meget som serveradministratoren tillader dig 😉
hahahahaha nah, hvad sker der er, at jeg offentliggør mere tekniske ting ... det vil sige, jeg kan godt lide at udgive små ting, der ikke er så populære og interessante. For eksempel har jeg personligt ikke til hensigt at udgive noget den dag, den nye Ubuntu kommer ud, fordi jeg mener, at mange allerede vil tale om det ... Men hvad du læser her i indlægget, er det ikke noget, der læses hver dag eller ej? 😀
Meget gode bidrag tak
der er også en protokol kaldet sftp, som er ftp og Secure Shell sammen, selvom det ikke er det samme som at køre FTP over SSH: \
hilsen
Ja ja, men ved at cage SSH bur jeg automatisk den der tilslutter ved hjælp af SFTP, for som du siger, SFTP er faktisk SSH + FTP 😀
hilsen
Billederne kan ikke ses !!! 🙁
En lille fejl af mig hehe, fortæl mig nu 😀
Parat. Tak 😀
meget god, jeg peger på mine favoritter at have den tilgængelig, når jeg har brug for det lol
Tak, eventuelle spørgsmål eller problemer, vi er her for at hjælpe dig 🙂
De har Perseus i et bur. http://i.imgur.com/YjVv9.png
LOL
xD
Hvordan har du det.
Du ved, det er et emne, som jeg ikke er særlig fortrolig med, og som jeg havde tjekket i BSD (PC-BSD og Ghost BSD), og jeg finder det meget interessant og med funktioner, der kan være meget nyttige.
Jeg vil opbevare det som reference og kontrollere det mod BSD-dokumentet. Tak for oplysningerne.
Jeg var heller ikke bekendt med dette, for jeg tænkte aldrig på at give nogen SSH adgang til nogen af mine servere haha, men da jeg fandt behovet for at gøre det, ville jeg give adgang, men uden mulighed for at nogen ved en fejltagelse kunne gøre noget det behøvede ikke 😀
Jeg har aldrig prøvet dette på BSD-systemer, så jeg kan ikke fortælle dig, at det vil fungere, men hvis du leder efter, hvordan man skaber på BSD, skal der komme noget ud 😉
Tak for kommentaren ven 🙂
Hej, jeg bruger FreeBSD og selvfølgelig fungerer jailkit faktisk i havnene
Du installerer det med denne kommando
cd / usr / porte / shell / jailkit / && gør installationen ren
Eller ved ftp-pakke
pkg_add -r fængselssæt
Kun i konfigurationen (kira: x: 1003: 1003 :: / home / kira: / bin / bash)
Du skal tilføje tcsh eller sh, medmindre du har installeret bash og tilføjet denne sti
/ usr / local / bin / bash
Og et par flere detaljer, i Ghost BSD skulle den lignende proces være endnu enklere, da den er baseret på FreeBSD
hilsen
Godt, jeg ledte efter det; ved du, om det fungerer i Centos ?? tak.
Jeg har ikke testet det på Centos, men ja, det skal fungere :)
Faktisk tror jeg, at jeg husker, at flere har brugt det samme værktøj på Centos- og Red Hat-servere 😉
Mange tak. Det går direkte til bogmærker.
Tak til dig for at kommentere 🙂
Meget godt "trick", super nyttigt for sys-administratorer. Men endnu bedre, fremragende velskrevet. Hvad mere kan du ønske dig.
Mange tak for bidraget.
Tak, mange tak for din kommentar 😀
hilsen
Ros SSH haha
En gang forsøgte jeg at lave et bur til ssh, men i traditionel stil og sandheden er, at det aldrig kom korrekt ud. Hvis buret kørte, havde det ikke engang en bash, det vil sige, det var forbundet, og der var ikke noget tilbage haha, hvis skallen kørte, kunne den gå op i kataloghierarkiet og en masse quilombos mere haha men dette jailkit er et blonder, det automatiserer alle disse ting ... Stærkt anbefalet
haha tak.
Ja, faktisk er SSH et vidunder for, hvad det tillader os, hvilket faktisk ikke er andet end hvad systemet tillader, så ... hurra for Linux! ... haha.
Hej, et spørgsmål!
hvorfor skifte hjem fra (1) / opt / fængsel /./ hjem / kira til (2) / hjem / kira
Vi skal redigere filen etc / passwd i buret, det vil sige i dette tilfælde ville det være / opt / jail / etc / passwd, i det kommenterer vi den brugerlinje, som vi oprettede, og tilføjer en ny som:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Med andre ord ville passwd-filen se sådan ud:
root: x: 0: 0: root: / root: / bin / bash
(1) #kira: x: 1003: 1003: ,,,: / opt / fængsel /./ home / kira: / usr / sbin / jk_lsh
(2) kira: x: 1003: 1003 :: / home / kira: / bin / bash
Hej 🙂
Hvis dette ikke er indstillet, fungerer SSH-adgangen ikke, brugeren forsøger at oprette forbindelse, men udelukkes automatisk ... det ser ud til at være en fejl eller et problem med den tolk, som JailKit bringer, for når denne ændring angiver, at den bruger normalt bash system, alt fungerer.
Jeg lukker stadig ssh-sessionen: C
Suse 10.1 x64
Hej Jeg har installeret dette, og det fungerer fremragende sind meget godt i centos = D.
men min dua er som siden at tilføje flere kommandoer for eksempel til en fængselsbruger
kan ikke køre svn co-kommando http://pagina.com/carpeta
Jeg mener, denne kommando findes ikke for fængselsbrugere i dette tilfælde som for at tilføje disse kommandoer til fængslet, og der er mange flere, jeg skal tilføje.
Hej, hvordan går det?
Hvis du vil aktivere kommandoen «svn» i fængslet, har du kommandoen jk_cp
Det er:
jk_cp / opt / fængsel / / bin / svn
Dette forudsat at svn binær eller eksekverbar er: / bin / svn
Og lad buret / fængslet være: / opt / fængsel /
Du finder kommandoer, der afhænger af andre, så hvis du tilføjer kommandoen «pepe», vil du se, at du også skal tilføje «federico», fordi «pepe» afhænger af, at «federico» skal udføres, hvis du finder dette, skal du tilføje nødvendige kommandoer allerede 😉
Det er fremragende.
Held 😀
Jeg har formået at gøre, hvad du fortalte mig, men på denne måde og automatisk har det registreret mig uden problemer. Dette var kommandoen, som jeg plejede at kunne bruge subversionen.
jk_cp -j / home / jaul svn
Jeg bruger centos xP, og måske er det anderledes, men godt
nu vil jeg gerne vide, hvilke biblioteker som svn er, men nu vil jeg gerne kompilere, for lad os sige, at jeg skal bruge en kommando som denne
./konfigurer og markér fejl
./configure.lineno: linje 434: expr: kommandoen blev ikke fundet
Jeg ville ikke vide, hvilke biblioteker jeg allerede har installeret, hvad der er mysql og andre, hvis det kompileres uden for fængslet, men ikke inde i jaui.
beklager ulejligheden.
ps: du skal lægge i guiden det, jeg fortalte dig om kommandoen, der blev brugt i centos =) hilsner.
Når jeg fortæller dig, at den ikke kan finde en kommando (som her), er den første ting at gøre at finde kommandoen:
whereis expr
Når den er fundet (/ usr / bin / expr og / usr / bin / X11 / expr) kopierer vi den til fængslet med jk_cp 😉
Prøv dette for at se.
Ja, jeg redigerer allerede indlægget og tilføjer, at det fungerer i Centos 😀
Stor tak meget (:
Tak for input ...
Hej hvordan går det?
Fuck fyr! Fra Chile min hilsen. Du er lige så fart som mig! LOL !. Klemmer. Dit indlæg har været en stor hjælp for mig!
Tak for din kommentar 😀
Mange tak for indlægget, det hjalp mig meget, men desværre i den del af
//////////////////////////////////////////////// // ////////////////////////////////////////////// //// ////////////////////////
Vi skal redigere filen etc / passwd i buret, det vil sige i dette tilfælde ville det være / opt / jail / etc / passwd, i det kommenterer vi den brugerlinje, som vi oprettede, og tilføjer en ny som:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Med andre ord ville passwd-filen se sådan ud:
root: x: 0: 0: root: / root: / bin / bash
#kira: x: 1003: 1003: ,,,: / opt / fængsel /./ hjem / kira: / usr / sbin / jk_lsh
kira: x: 1003: 1003 :: / home / kira: / bin / bash
//////////////////////////////////////////////////// ////////////////////////////////////////
Det forårsager den samme fejl, jeg mener, jeg lader den være, som den er, og den starter mig fra terminalen, når jeg opretter forbindelse ,,, .., jeg kommenterer linjen og tilføjer en mere, der ændrer den, som du angiver, og det også støvler mig….
Installer den nyeste version "jailkit-2.16.tar", opret endda et script for at spare tid, her er nedenfor:
//////////////////////////////////////////////// // //////////////////////////////////////////////
#! / Bin / bash
wget http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
tjære -zxvf jailkit-2.16.tar.gz
cd jailkit-2.16
./configure
lave
make install
frakørsel
//////////////////////////////////////////////////// /////////////////////////
Naturligvis logger de først ind som "root" ...
Hvordan kunne jeg løse fejlvennen ????
Undskyld, jeg har allerede fået det, jeg havde lavet en fejl angående hjemmemappen, men jeg er meget i tvivl om, hvordan kan jeg få det til at lade mig udføre kommandoen «skærmbillede», jeg prøver at bruge den (i den burede bruger) , men det virker ikke ... En anden ting er at ,, hvordan får jeg denne burbruger til at køre vinprogrammet på en exe, som han lige har lagt inde i sit hjem ,, hvordan ville det være?
hej, meget god tuto! Jeg er ny i disse miljøer, jeg har et spørgsmål ...
Med hensyn til sikkerhed ser jeg, at den i dens rod har mange mapper, er de nødvendige? Jeg vil bare have ham til at have adgang til sin mappe (ftp-upload og ssh-execute) for at køre et program, hvilke mapper kunne han slette fra roden? eller udgør det ikke nogen fare for mig? Jeg sætter pris på din hjælp på forhånd, hilsner!
@ KZKG ^ Gaara, gudskelov, du satte wheezy-fejlen, men med versionen af jailkit-2.16.tar.gz, som du foreslog, at de fikset det
http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
Jeg tror, jeg sender det til en PDF, jojo .. til bur og tak wn 😀
Hilsen ven, jeg har et spørgsmål:
Antag, at vi har en bruger, der hedder "test".
Spørgsmålet er, at filen /home/test/.ssh/known_hosts, der er placeret i brugerens hjem, er den samme fil denne bruger eller ikke bur?
Prøv dette. Det er muligt med denne metode at begrænse navigationen til det andet hjem for de andre brugere.
Først og fremmest tak for indlægget! Det er meget nyttigt for mig; men jeg har to tvivl, og disse stammer fra det scenarie, jeg har:
Jeg er nødt til at oprette N-brugere med uafhængig og privat adgang til deres hjem, hver bruger kan kun få adgang til deres hjem for at deponere, ændre og slette filer der findes uden at skulle flytte rundt til andre (jeg har allerede dette punkt). Det kræver ikke adgang via ssh.
1. Skal du oprette et bur til hver bruger, eller er der en måde at have de forskellige brugere i det samme bur, men hver har deres "private" bibliotek?
2. Når der er adgang til (via FTP-klient), vises alle mapper, der er oprettet af værktøjet, er der en måde at vise mappen ren på? Eller gjorde jeg noget galt undervejs?
Fremragende tutorial! Det har været en stor hjælp for mig, jeg tester det med version 2.17 på Ubuntu 14.04, og det fungerer meget godt. Nu har jeg følgende udfordring, når brugeren først er buret, så han ikke kan bevæge sig til nogen sti, vil jeg have, at han kun kan se indholdet af en fil, der er i en anden sti. Jeg forsøgte med et symbolsk link, men når jeg prøver at lave en hale eller en kat til denne fil, fortæller det mig, at den ikke eksisterer, selvom jeg ved at få adgang til brugeren kan liste den fil hjemme i buret.
Hvis du kunne hjælpe mig, ville jeg være meget taknemmelig, tak på forhånd
Hej, jeg har fulgt hele manualen, og når jeg logger ind med ssh, lukker den automatisk, sporer:
4. dec 19:20:09 toby sshd [27701]: Accepteret adgangskode til test fra 172.16.60.22 port 62009 ssh2
4. dec 19:20:09 toby sshd [27701]: pam_unix (sshd: session): session åbnet for brugertest af (uid = 0)
4. december 19:20:09 toby jk_chrootsh [27864]: går nu ind i fængsel / opt / fængsel til brugertest (1004) med argumenter
4. dec 19:20:09 toby sshd [27701]: pam_unix (sshd: session): session lukket for brugertest
Tak
Ikke når jeg gør det sidste trin med at give brugeren ssh-adgang, lukker det stadig forbindelsen 🙁
Kan det være muligt fra denne oprettede bruger at skifte til root? din -rod? det lader mig ikke. Hvordan ville det være? Tak for din hjælp
Mange tak for vejledningen, jeg havde brug for det for at oprette en bruger, der kunne bruge clonezilla til at lave et billede og kopiere det til en udenlandsk server, men som ikke kunne sværme hvor som helst han ville
Godt! Jeg har brug for at vide noget.
Er det muligt at gå ind som ROOT ved hjælp af FTP og have disse tilladelser, at administrere det ved FTP og ikke med SSH? Lad os sige som at oprette en forbindelse, tunnelstil eller noget lignende. Hvordan gøres det? Konfiguration af VSFTPD-filen?
Mange tak!