Mūsų pasaulyje yra daug, daug paslapčių ... Aš nuoširdžiai nemanau, kad galiu išmokti pakankamai daug, kad galėčiau jas pažinti, ir tai suteikia paprastas faktas, kad „Linux“ leidžia mums padaryti tiek daug, bet tiek daug dalykų, kad tai yra mums sunku juos visus pažinti.
Šį kartą paaiškinsiu, kaip padaryti ką nors nepaprastai naudingo, ką reikėjo padaryti daugeliui tinklo ar sistemos administratorių, ir mums buvo sunku paprasčiausiai nerasti gana paprasto būdo tai pasiekti:
Kaip laikyti narvą vartotojams, prisijungiantiems per SSH
narvas? ... WTF!
Taip. Jei dėl kokių nors priežasčių privalome suteikti SSH prieigą savo draugui prie savo kompiuterio (ar serverio), visada turime pasirūpinti savo kompiuterio ar serverio saugumu ir stabilumu.
Pasitaiko, kad neseniai norėjome suteikti „Perseus SSH“ prieigą prie savo serverio, tačiau negalime suteikti jam jokios prieigos, nes ten turime tikrai jautrias konfigūracijas (sukompiliavome daug dalykų, paketus, kuriuos įdiegėme atskirai ir pan.). .) ir jei kas nors to nepadaro Ar aš bandysiu padaryti nors menkiausius pakeitimus serveryje, yra tikimybė, kad viskas eis veltui.
Tada, Kaip sukurti vartotoją su labai ribotomis privilegijomis tiek, kad jis net negalėtų išeiti iš savo narvo (namų)?
Pradėkime nuo atsisiuntimo kalėjimo komplektas, įrankis, kuris leis mums tai padaryti:
1. Pirmiausia turime atsisiųsti savo „JailKit“ serverį.
wget http://ftp.desdelinux.net/jailkit-2.14.tar.gz
2. Tada turime išpakuoti paketą ir įvesti ką tik pasirodžiusį aplanką:
tar xzf jailkit-2.14.tar.gz && cd jailkit-2.14
3. Vėliau mes rinkome ir įdiegėme programinę įrangą (Aš palieku jums ekrano kopiją):
./configure
make
make install
4. Parengta, tai jau įdiegta. Dabar mes kuriame narvą, kuriame bus būsimi vartotojai, mano atveju aš jį sukūriau: / opt / ir pavadinau jį „kalėjimu“, taigi kelias būtų toks: / opt / jail :
mkdir /opt/jail
chown root:root /opt/jail
5. Narvas jau sukurtas, tačiau jame nėra visų reikiamų priemonių, kad būsimi vartotojai, kurie ten bus, galėtų dirbti be problemų. Turiu omenyje, kad iki šiol narvas buvo sukurtas, bet tai tik tuščia dėžutė. Dabar mes įdėsime į narvą keletą įrankių, kurių reikės narvuose esantiems vartotojams:
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. Paruošta, narvas yra ir jis jau turi įrankius, kuriuos vartotojas gali naudoti ... dabar mums reikia tik ... vartotojo! Mes ketiname sukurti vartotoją Kira ir mes jį įdėsime į narvą:
adduser kira
jk_jailuser -m -j /opt/jail kira
cat /etc/passwd | grep jk_chroot
7. O voila, vartotojas jau uždarytas į narvą ... bet, jis yra taip narve, kad negali prisijungti naudodamasis SSH, nes bandydamas prisijungti prie serverio neleidžia:
Turime redaguoti narvo failą etc / passwd, tai yra šiuo atveju taip būtų / opt / jail / etc / passwd , joje komentuojame sukurtą vartotojo eilutę ir pridedame naują, pvz .:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Tai yra, mes turėtume tokį failą passwd:
root: x: 0: 0: root: / root: / bin / bash
#kira: x: 1003: 1003: ,,,: / opt / kalėjimas /./ home / kira: / usr / sbin / jk_lsh
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Gerai atkreipkite dėmesį į skyrybos ženklų dublikatus ir kitus, svarbu jų nė nemesti 🙂
Tai padaręs vartotojas gali įeiti be jokių problemų 😀
Ir viskas.
Įrankis, kurį naudojame tam tikslui (kalėjimo komplektas) naudojimas vidinėje dalyje chroot, kurį iš tikrųjų naudoja beveik visos mokymo programos. Tačiau naudojant „JailKit“ narve tampa paprasčiau 😉
Jei kas nors turi problemų ar kažkas negerai, palikite kuo daugiau detalių, nelaikau savęs ekspertu, bet aš jums padėsiu kiek galiu.
50 komentarai, palikite savo
tai būtų kažkas panašaus į FTP leidimus? įdomus
jūs visada pasirenkate viską, ko net nežinojote, kaip apie „mysql xD“ vartotojus
Ne tiksliai, nes SSH nėra tas pats, kas FTP. SSH yra apvalkalas, tai yra terminalas ... būtumėte kito kompiuterio ar serverio terminale, galėtumėte vykdyti komandas, paleisti procesus ir tt ... padarytumėte tiek, kiek leidžia serverio administratorius 😉
hahahahaha nah ateik, nutinka taip, kad aš skelbiu daugiau techninių dalykų ... tai yra, man patinka publikuoti smulkmenas, kurios nėra tokios populiarios ir įdomios. Pavyzdžiui, aš asmeniškai neketinu kažko skelbti tą dieną, kai pasirodys naujasis „Ubuntu“, nes manau, kad daugelis apie tai jau kalbės ... tačiau tai, ką jūs skaitėte čia įraše, ar ne tai, kas skaitoma kas diena ar ne? 😀
Labai geri indėliai ačiū
taip pat yra protokolas, vadinamas sftp, kuris yra ftp ir „Secure Shell“ kartu, nors tai nėra tas pats, kas paleisti FTP per SSH: \
saludos
Taip taip, bet, naudojant SSH narvą, aš automatiškai uždarau narvą tiems, kurie prisijungia naudodami SFTP, nes, kaip jūs sakote, SFTP iš tikrųjų yra SSH + FTP 😀
saludos
Vaizdai negali būti matomi !!! 🙁
Nedidelė mano klaida hehe, pasakyk man dabar 😀
Paruošta. Ačiū 😀
labai gerai, atkreipiu dėmesį į savo mėgstamiausius, kad jis būtų prieinamas, kai man to reikia, lol
Ačiū, turite klausimų ar problemų, mes norime jums padėti 🙂
Narve jie turi Persėją. http://i.imgur.com/YjVv9.png
LOL
xD
Kaip laikaisi.
Žinote, tai yra tema, kuri man nėra labai gerai pažįstama ir kurią tikrinau BSD (PC-BSD ir Ghost BSD), ir man ji labai įdomi ir su funkcijomis, kurios gali būti labai naudingos.
Aš ketinu pasilikti jį nuoroda ir patikrinti, ar jis yra BSD dokumente. Ačiū už informaciją.
Aš irgi nebuvau su tuo susipažinęs, nes niekada negalvojau suteikti kažkam SSH prieigos prie bet kurio iš savo serverių haha, bet kai radau poreikį tai padaryti, norėjau suteikti prieigą, tačiau neturėdamas galimybės, kad kažkas per klaidą gali ką nors padaryti kad neprivalėjo 😀
Niekada to nebandžiau BSD sistemose, todėl negaliu pasakyti, kad tai veiks, bet jei ieškote, kaip naudotis BSD, kažkas turėtų pasirodyti come
Ačiū už komentaro draugą 🙂
Sveiki, aš naudoju „FreeBSD“ ir, žinoma, „jailkit“ iš tikrųjų veikia uostuose
Jį įdiegiate naudodami šią komandą
cd / usr / ports / shells / jailkit / && padarykite švarų
Arba ftp paketu
pkg_add -r jailkit
Tik konfigūracijoje (kira: x: 1003: 1003 :: / home / kira: / bin / bash)
Turite pridėti tcsh arba sh, nebent jūs įdiegėte bash ir pridėkite šį kelią
/ usr / local / bin / bash
Dar kelios detalės, „Ghost BSD“ turėtų būti dar paprastesnis procesas, nes jis pagrįstas „FreeBSD“
saludos
Puiku, aš jo ieškojau; ar zinai ar veikia Centose ?? dėkoju.
Nebandžiau jo „Centos“, bet taip, jis turėtų veikti :)
Tiesą sakant, manau, kad prisimenu, jog keli naudojo tą patį įrankį „Centos“ ir „Red Hat“ serveriuose 😉
Labai ačiū. Jis eina tiesiai į žymes.
Ačiū jums už komentarus 🙂
Labai geras „triukas“, labai naudingas sys administratoriams. Bet dar geriau, puikiai parašyta. Ko daugiau gali norėti.
Labai ačiū už indėlį.
Ačiū, labai ačiū už jūsų komentarą 😀
saludos
Pagirkite SSH haha
Kartą bandžiau padaryti narvelį ssh, bet tradiciniu stiliumi ir tiesa ta, kad jis niekada neišėjo teisingai. Jei narvas veikė, jis net neturėjo bash, tai yra, jis prisijungė ir nieko neliko haha, jei apvalkalas veikė, jis galėjo pakilti katalogų hierarchijoje ir dar daug daugiau quilombos haha, bet šis jailkitas yra burtas, jis automatizuoja visus tuos dalykus ... Labai rekomenduojama
haha aciu.
Taip, iš tikrųjų SSH yra nuostabu dėl to, ką jis mums leidžia, o tai iš tikrųjų yra ne kas kita, o tai, ką sistema leidžia taip ... valio „Linux“! ... haha.
Sveiki, klausimas!
kodėl pakeisti namus iš (1) / opt / jail /./ home / kira į (2) / home / kira
Turime redaguoti narvo failą etc / passwd, tai yra, šiuo atveju tai būtų / opt / jail / etc / passwd, jame komentuojame sukurtą vartotojo eilutę ir įtraukiame naują, pvz .:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Kitaip tariant, „passwd“ failas atrodys taip:
root: x: 0: 0: root: / root: / bin / bash
(1) #kira: x: 1003: 1003: ,,,: / opt / jail /./ home / kira: / usr / sbin / jk_lsh
(2) kira: x: 1003: 1003 :: / home / kira: / bin / bash
Sveiki 🙂
Jei tai nenustatyta, SSH prieiga neveikia, vartotojas bando prisijungti, bet automatiškai pašalinamas ... atrodo, kad tai yra „JailKit“ pateikiamo vertėjo klaida ar problema, nes atlikdamas šį pakeitimą liepia naudoti normalus sistemos bash, viskas veikia.
Aš vis dar uždarau ssh sesiją: C
„Suse“ 10.1 x64
Sveiki, aš tai įdiegiau ir tai puikiai veikia mintimis centais = D
bet mano „Dua“ yra kaip ir anksčiau, kad pridėčiau daugiau komandų, pavyzdžiui, kalėjimo vartotojui
negali paleisti svn co komandos http://pagina.com/carpeta
Aš turiu omenyje, kad tokia komanda kalėjimo vartotojams neegzistuoja šiuo atveju, kaip ir anksčiau, kad būtų galima pridėti šias komandas prie kalėjimo, ir man reikia daug daugiau.
Labas, kaip tau sekasi?
Jei kalėjime norite įgalinti komandą «svn», turite komandą jk_cp
Tai yra:
jk_cp / opt / jail / / bin / svn
Darant prielaidą, kad svn dvejetainis arba vykdomasis failas yra: / bin / svn
Tegu narvas / kalėjimas būna: / opt / jail /
Rasite komandas, kurios priklauso nuo kitų, todėl pridėję komandą «pepe» pamatysite, kad turite pridėti ir «federico», nes «pepe» priklauso nuo vykdomos «federico», jei tai rasite, pridėkite būtinos komandos jau 😉
Puiku, tuo pačiu metu testuoju ir sakau, kas nutiko, labai ačiū = D
Sėkmė 😀
Man pavyko padaryti tai, ką tu man liepei, bet tokiu būdu ir automatiškai jis aptiko mane be jokių problemų. Tai buvo komanda, kurią aš galėjau naudoti subversion.
jk_cp -j / home / jaul svn
Na, aš naudoju centos xP ir galbūt jis yra kitoks, bet geras
dabar norėčiau sužinoti, kurios yra tokios bibliotekos kaip svn, bet dabar norėčiau sudaryti, nes tarkime, kad man reikia naudoti tokią komandą
./konfigūruoti ir pažymėti klaidą
./configure.lineno: eilutė 434: expr: komanda nerasta
Aš nežinočiau, kurios yra bibliotekos, kurias jau įdiegiau, kas yra „mysql“ ir kitos, jei jis sudaromas už kalėjimo ribų, bet ne jaui viduje.
atsiprašau už nepatogumus.
ps: turėtumėte į vadovą įtraukti tai, ką jums pasakiau apie komandą, naudojamą centuose =) sveikinimuose.
Pažvelk, kai sakau, kad jis negali rasti komandos (kaip čia), pirmiausia reikia rasti komandą:
whereis expr
Suradę (/ usr / bin / expr ir / usr / bin / X11 / expr), mes nukopijuojame jį į kalėjimą su jk_cp 😉
Pabandykite tai pamatyti.
Taip, aš jau redaguoju įrašą ir priduriu, kad jis veikia „Centos“ 😀
Labai ačiū jums labai (:
Dėkojame už indėlį ...
Labas kaip sekasi?
Fuck dude! Iš Čilės mano sveikinimai. Tu esi toks pat beprotis kaip aš! DAUG JUOKO!. Apsikabinimai. Jūsų pranešimas man labai padėjo!
Ačiū už jūsų komentarą 😀
Labai ačiū už įrašą, jis man labai padėjo, bet, deja,
//////////////////////////////////////////////////// // ////////////////////////////////////////////////// //// //////////////////////
Turime redaguoti narvo failą etc / passwd, tai yra, šiuo atveju tai būtų / opt / jail / etc / passwd, jame komentuojame sukurtą vartotojo eilutę ir įtraukiame naują, pvz .:
kira: x: 1003: 1003 :: / home / kira: / bin / bash
Kitaip tariant, „passwd“ failas atrodys taip:
root: x: 0: 0: root: / root: / bin / bash
#kira: x: 1003: 1003: ,,,: / opt / kalėjimas /./ home / kira: / usr / sbin / jk_lsh
kira: x: 1003: 1003 :: / home / kira: / bin / bash
//////////////////////////////////////////////////// // ////////////////////////////////////////////
Tai sukelia tą pačią klaidą, turiu omenyje, kad palieku ją tokią, kokia yra, ir prisijungdama mane paleidžia iš terminalo ,,, .., pakomentuoju eilutę ir dar vieną ją modifikuoju, kaip jūs nurodote, taip pat batai mane ....
Įdiekite naujausią „jailkit-2.16.tar“ versiją, net sutaupydami laiko sukurkite scenarijų, čia yra žemiau:
//////////////////////////////////////////////////// // ////////////////////////////////////////////////
#! / bin / bash
wget http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
degutas -zxvf jailkit-2.16.tar.gz
cd jailkit-2.16
. / Configure
padaryti
make install
išeiti
//////////////////////////////////////////////////// //// /////////////////////////////
Akivaizdu, kad pirmiausia jie prisijungia kaip „root“ ...
Kaip galėčiau išspręsti klaidos draugą ????
Atsiprašau, aš jį jau gavau, padariau klaidą dėl „Home“ aplanko, bet labai abejoju, kaip man tai leisti leisti vykdyti komandą „ekranas“, bandau ja naudotis (narvelyje esančiame vartotojui) , bet neveikia ... Kitas dalykas yra tai, kaip aš priversiu šį narvą turintį vartotoją vykdyti vyno programą exe, kurią jis ką tik įdėjo į savo namus, kaip būtų?
labas, labai geras tuto! Šioje aplinkoje aš esu naujas, man kyla klausimas ...
Kalbant apie saugumą, matau, kad šaknyje yra daug aplankų, ar jie reikalingi? Aš tik noriu, kad jis turėtų prieigą prie savo aplanko („ftp-upload“ ir „ssh-execute“), kad paleistų programą. Kokius aplankus jis galėtų ištrinti iš šaknies? ar tai man kelia pavojų? Iš anksto vertinu jūsų pagalbą, sveikinimai!
@ KZKG ^ Gaara, ačiū Dievui, kad įdėjai švokštimo klaidą, bet naudodamas jailkit-2.16.tar.gz versiją, kurią pasiūlei jiems ištaisyti
http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
Manau, kad perduosiu jį PDF, jojo .. narvui ir ačiū wn 😀
Sveikinimai drauge, turiu klausimą:
Tarkime, kad turime vartotoją pavadinimu „testas“.
Kyla klausimas, ar failas /home/test/.ssh/known_hosts, kuris yra to vartotojo namuose, yra tas pats failas, ar jis nėra narve?
Išbandyti šį. Taikant šį metodą galima apriboti naršymą kituose vartotojų namuose.
Visų pirma, ačiū už įrašą! Tai man labai naudinga; bet man kyla dvi abejonės, kurios kyla iš mano turimo scenarijaus:
Man reikia sukurti N vartotojus, turintiems nepriklausomą ir privačią prieigą prie savo namų, kiekvienas vartotojas gali patekti į savo namus tik norėdamas deponuoti, modifikuoti ir ištrinti ten esančius failus, neprivalėdamas pereiti prie kitų (aš jau turiu šį punktą). Tam nereikia prieigos per ssh.
1. Ar turite sukurti narvą kiekvienam vartotojui, ar yra būdas, kad skirtingi vartotojai būtų viename narve, bet kiekvienas turi savo „privatų“ katalogą?
2. Kai pasiekiate (per FTP klientą), rodomi visi įrankio sukurti katalogai, ar yra būdas parodyti aplanką švariu būdu? Arba kelyje padariau kažką ne taip?
Puiki pamoka! Tai man labai padėjo, testuoju jį su 2.17 versija „Ubuntu 14.04“ ir jis veikia labai gerai. Dabar turiu tokį iššūkį, kai vartotojas yra uždarytas į aplinką, kad jis negalėtų pereiti į jokį kelią, noriu, kad jis matytų tik kitame kelyje esančio failo turinį. Aš bandžiau su simboline nuoroda, bet bandydamas padaryti uodegą ar katę prie šio failo, jis man sako, kad jos nėra, nors prisijungdamas prie vartotojo galiu išvardyti tą failą narvo namuose.
Jei galėtumėte man padėti, būčiau labai dėkingas, ačiū iš anksto
Sveiki, aš laikiausi viso vadovo ir prisijungdamas naudodamas ssh jis automatiškai užsidaro, atseka:
Gruodžio 4 d. 19:20:09, pateikė sshd [27701]: Priimtas slaptažodis, skirtas bandymui iš 172.16.60.22 prievado 62009 ssh2
Gruodžio 4 d. 19:20:09 sshd [27701]: pam_unix (sshd: session): sesija atidaryta naudotojo bandymui iki (uid = 0)
Gruodžio 4 d. 19:20:09 jk_chrootsh [27864]: dabar su argumentais įvedamas kalėjimas / opt / kalėjimas vartotojo testui (1004)
Gruodžio 4 d. 19:20:09 sshd [27701]: pam_unix (sshd: session): sesija uždaryta vartotojo bandymui
Ačiū
Ne tada, kai padarau paskutinį ssh prieigos suteikimo vartotojui žingsnį, jis vis tiek uždaro ryšį 🙁
Ar galima iš šio sukurto vartotojo pakeisti į root? tavo šaknis? tai man neleidžia. Kaip būtų? Ačiū už pagalbą
Labai ačiū už pamoką, man jos reikėjo norint sukurti vartotoją, kuris galėtų naudoti klonezilą, kad padarytų vaizdą ir nukopijuotų jį į trečiosios šalies serverį, bet kuris negalėjo spietti kur tik norėjo
Gerai! Man reiktų ką nors žinoti.
Ar galima įvesti kaip ROOT naudojant FTP ir turint šiuos leidimus, valdyti jį naudojant FTP, o ne naudojant SSH? Tarkime, kaip sukurti ryšį, tunelio stilių ar pan. Kaip tai daroma? Konfigūruojate VSFTPD failą?
Labai ačiū!