4.4 Git sur la servilo - Konfigurante la Servilo (
Setting U)
Ni marŝas tra la starigadon SSH aliro sur la servilo flanko. En ĉi tiu ekzemplo, vi uzos la
authorized_keys metodo por aŭtentikigi viaj uzantoj. Ni ankaŭ supozu, ke vi uzas norman Linukso distribuo kiel Ubuntu. Unue, oni kreas git uzanto kaj .ssh dosierujo por ke uzanto. Sekva, necesas aldoni iun ellaboranto SSH publikajn ŝlosilojn al la$Ŝvitas adduser git$Su git$cd$mkdir .ssh&&chmod700.ssh$Tuŝi .ssh / authorized_keys&&chmod600.ssh / authorized_keys
authorized_keys dosieron por la git uzanto. Ni supozu vi havas iuj fidindaj publikajn ŝlosilojn kaj savis ilin temporal dosierojn. Denove, la publikaj ŝlosiloj aspektas tiel: Vi nur postglui al la$Cat /tmp/id_rsa.john.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4LojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4kYjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9EzSdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myivO7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPqdAv8JggJICUvax2T9va5 gsg-keypair
git uzanto authorized_keys dosieron en lia .ssh dosierujo: Nun, vi povas agordi malplena dosieraro por ili kuras$Cat /tmp/id_rsa.john.pub>>~ / .ssh / authorized_keys$Cat /tmp/id_rsa.josie.pub>>~ / .ssh / authorized_keys$Cat /tmp/id_rsa.jessica.pub>>~ / .ssh / authorized_keys
git init kun la --bare eblo, kiu inicializa la deponejo sen laboranta dosierujo: Tiam, Johano, Josie, aŭ Jessica povas puŝi la unua versio de lia projekto en tiu deponejo aldonante ĝin kiel fora kaj puŝante supren branĉo. Notu ke iu devas alkanonadi sur la maŝino kaj krei nudajn enciklopedio ĉiufoje vi volas aldoni projekton. Ni uzu$cd/ opt / git$Mkdir project.git$cdproject.git$Git init --bareInitialized empty Git repository in /opt/git/project.git/
gitserver kiel la gastignomon de la servilo sur kiu vi instalis vian git uzanto kaj deponejo. Se vi uzas gxin interne, kaj vi agordi DNS por gitserver atentigi al tiu servilo, tiam vi povas uzi la komandojn preskaux kiel estas (supozante ke myproject estas ekzistanta projekto kun dosieroj en ĝi): Ĉe tiu punkto, la aliaj povas kloni ĝin kaj puŝi ŝanĝojn reen same facile:#Johanon's computer$cd myproject$git init$git add .$git commit -m 'komenca commit'$Git fora aldonu origino git @ gitserver: /opt/git/project.git$Git puŝo origino majstro
Kun tiu metodo, vi povas rapide akiri legita / skribi Git servilon supren kaj kurante por plenmano de programistoj.$Git clone git @ gitserver: /opt/git/project.git$cdprojekto$Vim README$Git commit -AM'fix for the README file'$Git puŝo origino majstro
Notu ke nuntempe ĉiuj tiuj uzantoj povas ankaŭ eniri ankaŭ la servilan kaj akiri ŝelon kiel la
git uzanto. Se vi volas limigi tion, vi devos ŝanĝi la ŝelon por io alia en la passwd dosiero. Vi povas facile limigi la
git uzanto nur faras Git aktivecoj kun limigita ŝelo ilo nomita git-shell kiu venas kun Git. Se vi povas tion kiel viaj git uzanto login shell, tiam la git uzanto povas havi normalan ŝelo aliro al via servilo. Uzi tiun, specifi git-shell anstataŭ bash aŭ csh por via uzanto salutnomo ŝelo. Fari tion, vi devas unue aldoni git-shell al /etc/shells se ĝi ne jam ekzistas: Nun vi povas redakti la ŝelon por uzanto uzante$Cat / etc / shells# see if `git-shell` is already in there. If not...# see if `git-shell` is already in there. If not...$Kio git-ŝelo# make sure git-shell is installed on your system.$Ŝvitas vim / etc / shells# and add the path to git-shell from last command
chsh <username> : $ Ŝvitas chsh git # and enter the path to git-shell, usually: /usr/bin/git-shell
Nun la git uzanto povas nur uzi la SSH konekto puŝi kaj tiri Git deponejoj kaj ne povas alkanonadi sur la maŝino. Se vi provos, vi vidos salutnomon malakcepto tiel: Nun Git reto komandoj daŭre funkcios ĝuste fajna sed la uzantoj ne povos akiri ŝelo. Kiel la eligo ŝtatoj, vi povas ankaŭ agordi dosierujo en la$Ssh git @ gitserverfatal: Interactive git shell is not enabled.hint: ~/git-shell-commands should exist and have read and execute access.Connection to gitserver closed.
git uzanto hejmo dosierujo kiu customizes la git-shell ordonas iom.
Ekzemple, vi povas limigi la Git ordonas ke la servilo akceptos aŭ vi
povas personecigi la mesaĝon ke uzantoj vidi se ili provas SSH en tia. Kuri git help shell por pliaj informoj pri agordigo la ŝelo.
Nenhum comentário:
Postar um comentário